【脱壳-寻找OEP】壳常用的函数寻找OEP

LoadLibrary 加载dll
GetProcAddress 获取函数的地址
ExitThread 调用后就会释放系统分配的堆栈

我们这次用GetProcAddres来测试,载入我们的测试文件然后Cttrl+G输入GetProcAddress获取函数的地址下断点,但是下的是条件断点,只针对函数加载进行记录而不是进行下断。
【脱壳-寻找OEP】壳常用的函数寻找OEP_第1张图片
设置esp的记录为记录值,因为esp的栈顶数据读入的第一条肯定是他。
【脱壳-寻找OEP】壳常用的函数寻找OEP_第2张图片
点击OD的L查看日志窗口就可以发现我们拦截下来的数据了。
【脱壳-寻找OEP】壳常用的函数寻找OEP_第3张图片
但是这里的数据有几千行不知道哪一行是我们要定位的数据,我们在他的代码段设置访问断点然后一直按住F9往下运行一直到他被断下来为止。
【脱壳-寻找OEP】壳常用的函数寻找OEP_第4张图片
之后一直F9停下来的就会出现代码段,这就是我们的OEP了,但是这个方法不太好用不建议使用。

我们可以通过OD的中断到线程结束函数来操作,因为这个函数执行完后就是线程结束。这次我们用的是特殊OD
【脱壳-寻找OEP】壳常用的函数寻找OEP_第5张图片
之后运行断下来线程结束后给他的代码段设置一个内存访问断点,出来后就是OEP地址了。

你可能感兴趣的:(脱壳入门,python)