chuiyan121 发表于 2022-3-12 23:00

The048. 反汇编练习,适合破解新手的160个CrackMe [004] 之 [爆破+追码]

本帖最后由 chuiyan121 于 2022-3-12 23:06 编辑


The048. 反汇编练习,适合破解新手的160个CrackMe 之 [爆破+追码]
反汇编实战练手,下面是我的学习记录,如有疑问欢迎交流指正。^_^

被试程序合集下载:帖子https://www.52pojie.cn/thread-1598336-1-1.html

0x0、熟悉程序流程,根据作者提示,此程序没有确定按钮,用户名和注册码正确时会出现“朱茵”小姐的靓照。经查询程序没有加壳,Delphi语言编写。
https://s1.ax1x.com/2022/03/12/bH5dv6.png

0x2、首先爆破,中文搜索字符串,从头看到尾,发现【恭喜恭喜!注册成功】,双击转到反汇编窗口,发现0045803B处的跳转跳过注册成功,说明这里时关键跳转,爆破就在此处。
https://s1.ax1x.com/2022/03/12/bH5agx.png

0x3、采用NOP法修改0045803B跳转,保存文件为1.exe,运行,输入假码,点击下方图片控件,美女出现,提示【恭喜恭喜!注册成功】字样,爆破成功。
https://s1.ax1x.com/2022/03/12/bH50KK.png

0x4、爆破不是目的,追码才是王道。使用DEDE查看程序事件,发现一个chkcode(检查代码)函数比较可疑,记录这个函数的RVA地址00457C40      。
https://s1.ax1x.com/2022/03/12/bH5U81.png

0x5、OD载入程序,反汇编窗口Ctrl+G转到00457C40处,F2下断,F9运行,在程序中输入用户名,当输入注册码时,程序会运行到断点处,因为触发了注册码输入框的按键弹起事件,断点这里就是chkcode函数的头。F8往下跟,发现陆续出现一些字符串,到达00457CB6处,出现了一长串字符【黑头Sun Bird11dseloffc-012-OK112233】。
https://s1.ax1x.com/2022/03/12/bH5NCR.png

0x6、将上面的注册码带入程序,成功了。注册码规则为:黑头Sun Bird+(用户名长度+5)+dseloffc-012-OK+用户名。这里有个问题,当输入了正确的用户名和注册码后,没有立即出现图片。经过测试,发现要双击显示图片的Panel控件,然后再单击,图片才能出现(难道是作者提到的做了一点别的手脚),那么继续找一下Panel控件的单击和双击事件,看看事件里做了什么。
https://s1.ax1x.com/2022/03/12/bH5sVe.png

0x7、左边是单击事件代码,这里需要esi+0x30C与0x85比较,相等才能显示。而esi+0x30C的初始值为0x3E,双击事件中框选的代码意思为如果esi+0x30C的值为0x3E,则修改其值为0x85。这就解释了为什么双击以后再单击图片才出现的原因了。
https://s1.ax1x.com/2022/03/12/bH5DbD.png

在此感谢@海天一色001@pk8900大牛提供的思路。




wy1885 发表于 2022-3-13 09:42

18311861765 发表于 2022-3-12 23:53
你们学会了吗?反正我是学废了

帮我破解一个辅助,谢谢

18311861765 发表于 2022-3-12 23:53

你们学会了吗?反正我是学废了

yeah1 发表于 2022-3-13 11:40

感谢楼主分享

sxwzxc 发表于 2022-3-13 16:33

牛的,我跟了

bailexi 发表于 2022-3-14 08:13

感谢楼主分享,我去试试!

lizooo 发表于 2022-3-14 09:03

只有亲手试一下,才能更快地学会,不说了,我要去实践啦

cjc3528 发表于 2022-3-15 18:24

膜拜大佬,菜鸟进来学习下,谢谢分享

hua111 发表于 2022-3-19 13:18

Mrkang123 发表于 2022-3-20 10:16

感谢楼主的分享
页: [1] 2
查看完整版本: The048. 反汇编练习,适合破解新手的160个CrackMe [004] 之 [爆破+追码]