Sugus 发表于 2014-10-23 22:10

【吾爱破解2014CrackMe大赛】【第二组】

本帖最后由 L4Nce 于 2014-10-24 22:37 编辑

程序界面:
file:///E:/SYSTEM~1/Wiz/9456b4f4-0a97-4887-811c-33a4d2e509b3_128_files/35a5b381-20bf-4342-a16f-faa0b3a17e0d.jpg

随便输入点什么,点REG,什么都没有反应,估计是要NAME和KEY正确才会有提示。
考虑到程序会从输入框中获取字符串,所以在选择GetWindowTextA下断点。
下断点:bp GetWindowTextA

按F9运行,程序停在了77000029

file:///E:/SYSTEM~1/Wiz/9456b4f4-0a97-4887-811c-33a4d2e509b3_128_files/a8705e63-5d8f-4d22-91c1-f74dc1096025.png

一直单步运行,来到下面,感觉大概找到了关键的位置了:

file:///E:/SYSTEM~1/Wiz/9456b4f4-0a97-4887-811c-33a4d2e509b3_128_files/de21e9d0-f6dd-44ad-975c-fa829ed4ccb6.png

00F51BF9地址的这个CALL,应该就是获取输入框中的字符串的作用。
继续单步下去,发现了一些关键跳转,调试了几次,看到了MessageBoxA,这个应该就是输入正确时弹出的提示了。

file:///E:/SYSTEM~1/Wiz/9456b4f4-0a97-4887-811c-33a4d2e509b3_128_files/18879c25-dfae-4459-a5f0-711d6546cad3.png

既然是这样子,那么就应该让程序运行到这些命令上。
在下断,好让每次调试停到这里。
单步下去,

file:///E:/SYSTEM~1/Wiz/9456b4f4-0a97-4887-811c-33a4d2e509b3_128_files/794b29df-e7e6-4e47-b14e-abffb90946b5.png

这里有个两个比较,然后后面是几个跳转,这里比较关键。

file:///E:/SYSTEM~1/Wiz/9456b4f4-0a97-4887-811c-33a4d2e509b3_128_files/21b2e484-23c0-49c6-9191-678c6591a34b.png

调试发现,必须跳过00F51C56这个大跳转,即是意味着前面两个跳转任意一个都必须实现,OK,所以上面的比较应该就应该让EDI>3才行或者让下面的EAX>3才行。
这里EDI是NAME的字符串长度,EAX是KEY的字符串长度。
所以输入的字符串长度也是要注意的地方,不过这里就不进行修改了,记得>3即可。
然后一直单步,经过好多计算....,到了下面这里:

file:///E:/SYSTEM~1/Wiz/9456b4f4-0a97-4887-811c-33a4d2e509b3_128_files/7036704c-c932-4778-b974-f20b20607f8f.png

破解算法应该就是从0XFA9EFA4E这个值逆回去算的吧。
不过爆破的话就直接对下面的跳转nop掉就行。

file:///E:/SYSTEM~1/Wiz/9456b4f4-0a97-4887-811c-33a4d2e509b3_128_files/7d4c71fc-5e34-48c5-ae98-086dfd4096ae.png

然后保存,就OK了。

效果图:

file:///E:/SYSTEM~1/Wiz/9456b4f4-0a97-4887-811c-33a4d2e509b3_128_files/5a9f99fb-1695-484e-9ba9-dbdbcec815ce.jpg

(记得NAME和KEY至少一个大于3个字符串啊!!!)


备注:小白一个,只是简单的分析和爆破,还不知道对不对{:1_889:}
算法还在看,估计...{:1_885:}能弄出来再来补充吧
请大神赐教{:1_1:}


L4Nce 发表于 2014-10-24 17:55

最后成绩:28
爆破有效。
继续加油取得好成绩
页: [1]
查看完整版本: 【吾爱破解2014CrackMe大赛】【第二组】