首页
社区
课程
招聘
[原创]我的脱壳小记
发表于: 2020-2-28 00:19 6915

[原创]我的脱壳小记

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编辑 ,原因:
收藏
免费 3
支持
分享
最新回复 (1)
雪    币: 83
活跃值: (1087)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
2
不错
2020-2-28 12:34
0
游客
登录 | 注册 方可回帖
返回
//