-
-
[原创]我的脱壳小记
-
发表于:
2020-2-28 00:19
6915
-
https://bbs.pediy.com/thread-257822.htm
刚刚前俩天我也在脱这个壳 ,使用了另一种铁憨憨的方法,比较适合新手
1.esp定律 找到入口点
https://bbs.pediy.com/thread-20366.htm
2.到达入口点后 ,程序对iat做了混淆,call[475080]处无法直接看出是调用了哪一个api
3 看一下iat 从475000开始,size 0x128
4 跟进
call[475080] 一个一个单步 跟入
5.不管程序如何混淆iat,最后总要访问api地址 ,注意观看寄存器窗口,做完一系列运算后 发现是getversion
6.查看程序是如何跳转到api处 发现是通过ret返回方式跳转,且只使用了这一种
7.观察栈区发现 想要正确的执行api 必须将api地址写入到返回地址上一行 所以每次调用api时在返回地址上一行下硬件写入断点,一旦写入到正确的api地址便能
发现调用了哪一个api ,写入的不正确时继续运行。这里我们直接调用iat
8.单步跟入后,在0019feec下硬件写入,f9
9.断下后发现不是api 继续f9
10.直到发现api 将获得的iat信息保存
11.继续call iat的下一项重复以上动作
12 .由于我们修改了程序中的大量代码,且原程序含有一些循环代码,重复到一定步骤后会调到我们自己写的call,此时重开程序,重复以上步骤
13. iat 修复 哈哈偷个懒
https://bbs.pediy.com/thread-226967.htm
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
最后于 2020-2-28 11:18
被kanxue编辑
,原因: