当前位置:首页 > 软件破解教程(菜鸟破解补习班) - 图文
接着我们按F9让程序运行起来,代码会来到如图5所示的地方,
按只需要在这里按F8跟踪一下,程序就会跳到OEP了,ESP定律法测试成功。 有一部分加壳软件在保存和恢复现场环境时会使用pushad和popad指令。那么当我们在程序中遇到popad指令时就说明外壳程序已经开始恢复现场环境,准备返回OEP了,所以我
们也可以通过搜索popad指令的方法来寻找OEP了。
打开OD把我们要脱壳的文件加载进来,按快捷键Ctrl+f搜索popad指令,如图6,
点“搜索”,在如图7的地方我们找到了一处popad指令,
我们选中这一条指令,在上面按F4运行到这里,看这里的代码:
010133B0 61 popad
010133B1 75 08 jnz short 010133BB
010133B3 B8 01000000 mov eax, 1 010133B8 C2 0C00 retn 0C 010133BB 68 9D730001 push 0100739D
010133C0 C3 retn
我们来F8单步跟踪一下,当运行来到最后一句的时候,代码就会跳到这里:
0100739D 6A 70 push 70 0100739F 68 98180001 push 01001898 010073A4 E8 BF010000 call 01007568
这里就是程序的OEP,搜索popad指令法测试成功。
3 内存断点
程序在加壳时,会对原文件进行加密压缩,在执行加壳后的文件时,则会读取被压缩的代码进行解密,这时我们在被加密的部分设置内存断点,那么加壳程序在读取被加密的代码时就
会断下来。
将加壳后的文件载入OD,按快捷键Alt+m打开内存窗口,找到第一个代码段.text选中它在
上面按F2下一个断点,如图8,
按F9运行,它在第一个call的地方停下了,我们再按一次F9就可以看到我们设置的内存断点自动取消了,这时我们再F8跟踪几下,就到达程序的OEP了,内存断点法测试成
功。 4 动态链接库
动态链接库在运行结束的时候还会来到程序的入口点一次,根据这个特征,我们还有一种专门针对动态链接库的OEP寻找法,我就以OD目录下的DBGHELP.DLL给大家做演示。
把我们需要脱壳的文件载入PEID,如图9,
已经用ASPack加壳了,我们把它载入OD,会提示“文件**是一个动态链接库,windows
无法直接启动,要启动loaddll.exe吗?”如图10,
共分享92篇相关文档