学习:脱壳之异常法寻找OEP

一个练手unpackme bitarts

1、直接载入OD,这里记录一种脱壳方法,F9运行程序,查看记录窗口,发现有许多异常处

2、这里需要注意的是红标处,这是最后一个异常,其实这次也可以直接在内存窗口中的代码段(或者是利用排除法)直接下内存断点,然后F9运行,等待对程序的代码段(或者其他)的进行访问/写入的时候下断,这里我们使用的是shark恒老师教的异常法来进行学习....

3、然后将OD的调式选项进行关闭,然后进行手动运行,手动忽视异常,来到上面图中所标出的最有一个int3的地址0046E88F,来到如下位置

4、然后再对内存窗口中的程序代码段进行设置内存断点,然后多次F8,原因是最后的异常被我们下了断点,那么距离OEP也不远了,然后继续F9,来到如下,从模块中分析代码,OEP成功找到

总结:其实第二点中自己也说到了可以直接一开始就内存窗口中下内存断点,但是shark恒老师说过这种如果遇到反调试的话可能不行,所以这个也是另外一种思路吧

原文地址:https://www.cnblogs.com/zpchcbd/p/12098498.html