一、找到OEP
这个本来没那么复杂,主要是之前实在是没有接触过,粘一下大佬的内容,最最基本的是单步调试法,其他的都是再这个基础上进行丰富的。内容复制如下
===============================================================
一、单步跟踪法
脱壳的方法有很多,先来讲脱壳方法中最基础的单步跟踪法。单步跟踪法就是利用OD的单条指令执行功能,从壳的入口一直执行到OEP,最终通过这个OEP将原程序dump出来。然当,在单步跟踪的时候需要跳过一些不能执行到的指令。
使用单步跟踪法追踪OEP的常见步骤:
1、用OD载入待脱壳文件,如果出现压缩提示,选择“不分析代码”;
2、向下单步跟踪,实现向下的跳转;
3、遇到程序往上跳转的时候(包括循环),在回跳的下一句代码上单击并按键盘上的“F4”键跳过回跳指令;
4、OD中的绿色线条表示跳转没有实理,不必理会,红色线条表示跳转已经实现;
5、如果刚载入程序的时候,在附近有一个CALL指令,那么就要按键盘上的“F7”键跟进这个CALL内,不然程序很容易运行起来;
6、在跟踪的时候,如果执行某个CALL指令后就运行,一定要按键盘上的“F7”键进入这个CALL之内再单步跟踪;
7、遇到在popad指令下的远转移指令时,要格处注意,因为这个远转移指令的目的地很可能就是OEP。
===============================================================
二、ESP定律法
ESP定律法是脱壳的利器,是国外友人发现的。有了ESP定律,可以方便我们脱掉大多数的压缩壳。可谓是本世