-
-
[原创]找寻OEP的通用方法(一)-最后一次异常法
-
发表于:
2018-5-13 10:05
5769
-
[原创]找寻OEP的通用方法(一)-最后一次异常法
壳代码有时主动抛出异常,比如利用异常处理机制做反调试。但是CODE段没有异常。 所以最后一次异常距离真OEP应该很近了。
调试器:OD
环境:winXP SP3 虚拟机
首先要忽略所有异常,并且配置好反反调试。
F9运行后,点击L来到日志窗口。
这里面一定有一行:程序入口点,它是EP(entry point),不是OEP(original entry point),是带壳的入口点,这是程序最先开始执行的地方。
假设最后一次异常发生在40E88F
重新载入,这次我们不忽略异常,每次当执行到异常被断下时,都按下shift+f9手动忽略异常,直到断到最后一次发生在40e88f的异常。
在代码段设置内存访问断点,按下shift+f9,断到OEP。
注:考虑到过早在代码段设置内存执行断点,就可能被检测到。等到离OEP很近时下断就比较安全了。
[课程]FART 脱壳王!加量不加价!FART作者讲授!
最后于 2018-5-13 14:03
被r0Cat编辑
,原因: