软件逆向练习–Reverse

如有错误或理解不到位的地方劳烦各位大佬指出,感谢!

一、Reverse000.exe

1.使用OD打开Reverse000.exe

软件逆向练习--Reverse
3.双击please input password:跟进去
软件逆向练习--Reverse
密码为: i love this game(i前面有个空格)

二、Reverse001.exe

1.Ctrl+F9运行到输入的位置,之后随便输入一个密码测试一下

软件逆向练习--Reverse
3.跟下来发现下面又有一个CMP,其实这里就是比较第二个数字的位置,下面也照样有JE,跟上一步一样,不断跟JE找到CMP的比较值就可以了
软件逆向练习--Reverse
最后的值为:32 73 38 33 67 72 33 6b 79 33 6b 77 33 68 64 71
当然,这里全是0x32 0x73 … 0x71
然后我们对照ASCLL码
0x32 2
0x73 s

0x71 q
最终密码:
软件逆向练习--Reverse
2.来到我们的第一次跳转,根据后面的代码可以看出这里是一个判断跳转,后面的代码也可以看出区别,还是照常跟着JNZ走
(JNZ结果不为零(或不相等)则转移),说明这里第一个值与0x33不相等的时候才会跳转
软件逆向练习--Reverse
4.这里就来到了我们的成功提示的位置,这里也可以看出我们最后一位是0x71
软件逆向练习--Reverse
6.来到下一个值对比得位置,从这里大概能看出来了,咱们每一个正确的值还得通过JE后的CMP拿到,所以我们之前拿到的值按照这个方法进行第二次筛选
软件逆向练习--Reverse

四、Reverse003.exe

1.日常Ctrl+F9跟进来,随便输一个密码测试一下

软件逆向练习--Reverse
3.跟着JGE来到了第一个属于密码的CMP对比的位置,还是之前的老方法。这里是JNZ,JNZ是结果不为零(或不相等)则转移,故这里如果匹配不上的话就会跳转到下面的错误提示,这里就没有JE了,我们接着往下看
软件逆向练习--Reverse
5.最后得到的结果是68 31 32 33 6A,对应ASCLL码就是h123j,密码是一个倒循环的数,在寻找值得过程中有一段是CMP EDX,ECX,这里相当于在判断该值得倒数第一位,由此可知,这里的第一位与最后一位相同,第二位与倒数第二位相同…,然后运行到第一个数字的CMP时发现ECX值为6A,所以发现到这里是从后往前对比的,所以这里应该是倒序的
软件逆向练习--Reverse

五、Reverse004.exe

1.日常Ctrl+F9跟进来,随便输一个密码测试一下

软件逆向练习--Reverse
2.日常CMP …JE…拿到Name
软件逆向练习--Reverse
软件逆向练习--Reverse 软件逆向练习--Reverse

六、Reverse005.exe

1.同上步骤,最后结果为Name:61 31 36 73 6c 65,为a16sle;Id:62 33 6f 72,为b3or

软件逆向练习--Reverse
软件逆向练习--Reverse
软件逆向练习--Reverse
软件逆向练习--Reverse

七、Reverse006.exe

1.来到开始的地方,这次是key,TEST会判断eax是否为零

软件逆向练习--Reverse
3.后面的找值得方法有了一点点变化
软件逆向练习--Reverse
软件逆向练习--Reverse

八、Reverse007.exe

1.点进去,找到他

软件逆向练习--Reverse
2.找到Name的值:31 32 67 65 6c 34 ,即 12gel4
软件逆向练习--Reverse
3.找ID的值,31 35 70 62
软件逆向练习--Reverse
4.成功了
软件逆向练习--Reverse
软件逆向练习--Reverse
软件逆向练习--Reverse在这里比较次数,直至EAX>64时跳出,和ID值无关 软件逆向练习--Reverse

附1:

1.MFCPj000.exe

软件逆向练习--Reverse
或添加 | WS_VISIBLE ,点击确定按钮即可见
软件逆向练习--Reverse

2.MFCPj001.exe
搜一下特征码,跟进去找,打个断点

软件逆向练习--Reverse
先把窗口弹出来,点一下按钮,就会断在刚找到的call
软件逆向练习--Reverse
跟着JMP跳下来就找到我们的密码了,C 8 5
软件逆向练习--Reverse
我们试一下密码,成功了
软件逆向练习--Reverse
找到第二个CALL,图上打了断点的位置,继续跟进去
软件逆向练习--Reverse
最后我们找到九位密码为:101100101,然后我们测试一下,成功了
软件逆向练习--Reverse
在上图中015EB512的CALL的位置打上断点,跟进去看看,一下就来到了开心愉快的地方,然后密码为011010101
软件逆向练习--Reverse

5.开动脑筋.exe

软件逆向练习--Reverse

附2:
1.CrackMe_01.exe

软件逆向练习--Reverse
2.CrackMe_02.exe
软件逆向练习--Reverse
软件逆向练习--Reverse
这里可以看见我们输入的用户名111
软件逆向练习--Reverse
实验可知,用户名长度与序列号位数有关,但是这里我们也可以发现序列号是不能超过8位的
软件逆向练习--Reverse

文章知识点与官方知识档案匹配,可进一步学习相关知识算法技能树首页概览33865 人正在系统学习中

来源:° LuK

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年10月19日
下一篇 2021年10月19日

相关推荐