手脱ASPack v2.12

0x01---PEid查壳

0x02---分离重定位

此步骤主要是为了关闭随机基址;

0x03---ESP定律法查找OEP

在第二个retn的位置进入;
进入jmp跳转中;
在这里,我们可以再次使用ESP定律,当然也可以数据窗口跟随图中位置,我们可以看到其在解密IAT,当跑完IAT,释放堆空间后,找到大跳,就是OEP了;
进入jmp;
看到76916B15 Kernel32.VirtualFree是在释放用来解密IAT的堆空间,在这之后,单步步过找到jmp大跳就是OEP了;
成功到达OEP!!!
取消重建输入表,将其dump出来,之后就是修复IAT表,跟其它一样;
成功脱壳;
总结:由于之前脱过ASPack v2.12,当第一次使用ESP定律后的jmp大跳后的pushad,以为这里就是OEP位置,脱壳失败后,再通过对堆空间的查看,发现其在解密IAT表,于是当跟完IAT解密后,经过几次跳转,成功找到OEP,其实使用2次ESP定律能够更快的找到OEP,也就是说,此程序使用ASPack v2.12加了2次壳,简称壳中壳!!!




posted @ 2019-12-03 09:53  HOPEAMOR  阅读(352)  评论(0编辑  收藏  举报