ACProtect Professional 1.3C 主程序脱壳(2)(图)

互联网   发布时间:2008-10-08 19:05:27   作者:佚名   我要评论
4. dump 根据脱US UnpackMe的经验,不能在false OEP处dump,此时BSS section中许多数据已经初始化了。最好在第一句(push ebp)就dump。可是那个push ebp离false OEP很远L。 Packer EP的初始化环境: 先看看发出第1个call的壳代码:

2) call 46261C





到这里的stolen code:
从这里开始,不能图省事了。要追出全部的stolen code,必须跟(必须确保上一次pushad和下一次popad时的环境一致,才不会丢代码)。先试直接拦截div 0异常,注意后面是否有popad。如果两次的环境不一致,则必须单步跟L。

另外,追stolen code不是一次完成的,所以有些图中寄存器和堆栈中的数据对不上,不必管它。

3) 0073BC47


4) 0073C558


5) 第1次call 462634


这个函数有2个参数L。



这是最后一次后面存在popad的div 0异常。看看是如何回到原程序的。
在73D872忽略所有异常,对code section下内存访问断点。中间在kernel32中有一次内存访问异常。



最后一次div ebx在73DBE1。单步跟到这里:


73DE38破坏前面代码。



至此修复所有stolen codes,将前面的6部分和fasle OEP的2个call合在一起。

相关文章

最新评论