Reversing.kr Easy Unpack Write Up

分析:

通过附加的文本文件可以知道是想要找到程序入口点(Original Entry Point,OEP)地址,PEiD查了一下加了壳,然后放到OD中分析,注意这里千万不要选择分析:


如果解压了,那么关键代码会消失:


我们采用单步跟踪法进行调试:

  使用单步跟踪法追踪OEP的常见步骤:
  1、用OD载入待脱壳文件,如果出现压缩提示,选择“不分析代码”;
  2、向下单步跟踪,实现向下的跳转;
  3、遇到程序往上跳转的时候(包括循环),在回跳的下一句代码上单击并按键盘上的“F4”键跳过回跳指令;
  4、OD中的绿色线条表示跳转没有实理,不必理会,红色线条表示跳转已经实现;
  5、如果刚载入程序的时候,在附近有一个CALL指令,那么就要按键盘上的“F7”键跟进这个CALL内,不然程序很容易运行起来;
  6、在跟踪的时候,如果执行某个CALL指令后就运行,一定要按键盘上的“F7”键进入这个CALL之内再单步跟踪;

  7、遇到在popad指令下的远转移指令时,要格处注意,因为这个远转移指令的目的地很可能就是OEP。

载入后程序如下图所示:


然后我们按照单步跟踪法的提示进行操作:


发现这里的跳转范围比较大,于是猜测跳转地址即为OEP,提交为Flag即可。



猜你喜欢

转载自blog.csdn.net/wannafly1995/article/details/80810705