|
1.轻松找出脱壳后的OEP。
........2.ESP定律和pushad、popad成对理论都是不对的。
........3.RVA困扰将不复存在,菜鸟也可轻易玩脱壳,只需了解简单地加减400000的原则。
[预备知识] 只须对PE文件头结构有初步的了解。
我贴了几篇烂文就有点沾沾自喜起来,闲着没事又打起了“壳”的歪主意。我想找一个短小的“软壳蛋”来小试一下鸡刀,没想挑选到了一个“铁核桃”,差点没把牙齿啃脱。壮着胆子闯下去,咳~!终于出来了,还悟出不少道理来。
秀才耍棍棒,还得要点基本功。“壳”这个东西对菜鸟有些神秘化,主要原因是缺乏对PE文件结构的了解,更对RVA的转换头痛。脱壳之前先将段钢的“加密与解密”或罗云彬的“汇编程序设计”中关于PE文件结构部分读三遍就可以应负了!下面用脱FantaMorph.exe 的注册机Keygen.exe(老外写的)的壳为例,谈点脱壳思路和方法。(开始的位置处填写上:00400000 80000000,存盘。
OK,全部工作完成!正准备收工时,我又一次“突然想到”……,windows装载函数地址时加上的那个400000会不会用or 400000,如果是这样,前面那些去掉40的作法不是都没必要了吗?我忙重复实验了一次,不全对也不全错……。但前面的修改工作却更加简化了!(你自己实验吧!)
运行存盘后的dump.exe,成功了!它所调用的所有函数在OD上显现无遗,代码每步可见。不过程序资源部分还不能用eXeScope编辑。这次累了,下次争取把资源部分也解密出来,它肯定已经解压了,只是加了密。
谢谢你把它读完!最后我想起高中时数学老师对我说过的一句话:“学数学重要的不是学它的公式和算法,而是学它的思想”。现在才似乎若有所悟。 |
|