作者:Fly2015
吾爱破解培训第一课选修作业第6个练习示例程序。不得不重复那句话,没见过这种壳,该壳是压缩壳的一种,相对于压缩壳,加密壳的难度要大一些,特别是IAT表的修复问题上。
首先分别使用DIE和Exeinfo PE对该加壳程序进行查壳的处理。
OD载入加WinUpack 壳的程序进行动态调试分析,加壳程序入口点反汇编快照。
想都不用想,看到PUSHAD直接ESP定律脱壳F8单步一步,ESP寄存器右键设置硬件写入断点。F9运行程序,程序自然的断在设置的硬件断点处,如图。
有点惊呆了,硬件断点断下来的地方004739BC处JMP指令的跳转地址0041DDAC就是原程序的真实OEP的VA,F7单步直接跟过去,熟悉的界面出现了。
Ctrl+A分析地址0041DDAC处的内存数据,瞬间就豁然开朗了很多。
OK,现在就可以使用OD的插件OllyDump或者Scylla_x86进行程序的内存的Dump和IAT表的修复。但是要说明的是使用Load PE结合ImportREC直接脱壳有点问题,没有细看。下面运行一下脱壳后的程序,证明脱壳成功。
手动脱WinUpack 壳的分析文档和脱壳后程序的下载地址:http://download.csdn.net/detail/qq1084283172/8900675.