手工详细分析老壳 PEncrypt_4.0

第一次分析,纯超级菜鸟帖,还有好多地方不明白,希望和我一样的菜鸟共同学习。

开始就跨段跳到外壳部分。

40CC06处F4,解压完毕,

这部分不太理解,在40CC07处是解压的壳代码,然后执行壳代码,为什么要在401000开始的地方填这些内容呢?

这段很简单,通过SEH来到40CC8D,是个很单纯的防F8的吧。
来到40CCAA

又是个SEH,来到40CCD7

这样,居然就完了。

跳到壳代码
解压壳
填401000处28个字节
构造两个SEH
开始解码2个区段

输入表好象根本没处理。

总之 这个壳超简单。

到OEP后,用OD自带插件DUMP下来 不用修复输入表,只需要用LOADPE重建PE就可以了。
如果用其他工具DUMP,还需要用IMPORTREC修复输入表 然后再重建PE。

2个SEH  DUMP以后的区段混乱,估计是这个壳的特点吧。

 

91ri.org:使用SEH异常处理机制构造反调试是外壳程序中常见的手段,除了能够对付单步跟踪调试(不在异常处理程序处或异常处理结束后下断的话程序会跑飞),还能用于检测调试器(例如int 3执行,有无调试器时处理方式不同)、清除硬件断点(异常处理的特权级很高!)等。

[via@看雪]