都是我以前总结的笔记,步骤是照着书上打的,书上总结的很全了。
OEP(original entry point)程序入口点
脱壳方法
一,使用单步跟踪法追踪OEP步骤:
1.用OD载入待脱壳文件,如果出现压缩提示,选择“不分析代码”。
2.向下单步跟踪,实现向下的跳转。
3.遇到程序往上跳转的时候(包括循环),在回跳的下一句代码上单击并按键盘上的“F4”键跳过回跳指令。
4.OD中的绿色线条表示跳转没有实现,不必理会,红色线条表示跳转已经实现。
5.如果刚载入程序的时候,在附近有一个CALL指令,那么就要按键盘上的"F7"键跳进这个CALL内,不然程序很容易运行起来。
6.在跟踪的时候,如果执行某个CALL指令后运行,一定要按键盘上的“F7”键进入这个CALL之内再单步跟踪。
7.遇到在POPAD指令下的远转移指令时,要格外注意,因为这个远转移指令的目的地很可能就是OEP。
总结:脱壳就是找程序入口点,入口点就是找POPAD指令,一般POPAD下不远处有一个远跳指令,跳到的地方就是程序的入口点,entry point
二,使用ESP定律追踪OEP的步骤:
1.将待脱壳程序载入到OD中,开始就按键盘上的“F8”键单步跟踪一步,这时如果看到OD