exe文件脱壳步骤 exe脱壳教程( 四 )


3.4 FSG变形壳脱壳笔记首先进行侦壳:

exe文件脱壳步骤 exe脱壳教程

文章插图
使用ESP定律,首先把程序扔到OllyIce里面,F8单步走,观察ESP变化,在ESP第一次发生变化时,对ESP对应的地址处设置内存硬件访问WORD断点,然后SHIFT+F9运行,在程序停下来之后,取消硬件断点,进行F8单步:
exe文件脱壳步骤 exe脱壳教程

文章插图
用F4略过向后的跳转(循环),然后继续往下找,一直到这里:
exe文件脱壳步骤 exe脱壳教程

文章插图
在这个jmp下面F4,程序会跑飞 。说明程序代码在这个循环中就已经释放完毕,所以向上找找这个循环中有没有带条件的大跳 。这样很容易找到magic jump的位置,然后我们Enter或者Ctrl+G到00402666的位置,发现果然是OEP,重新分析,然后F2下断点,让程序走到OEP:
exe文件脱壳步骤 exe脱壳教程

文章插图
如果是FSG1.33,直接使用LoadPE dump文件,然后使用ImportREC修复,就可以正常脱壳了 。但是这里在使用ImportREC修复时,会出现一个无效指针:
exe文件脱壳步骤 exe脱壳教程

文章插图
这里直接剪掉(或者删掉)这个指针,然后修复转存文件,发现无法正常打开:
![在这里插入图片描述](https://img-blog.csdnimg.cn/6b2cb9beb0804eb4a47bcb665cebf62f.png?x-oss- process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5Luj56CB54as5aSc5pWy,size_12,color_FFFFFF,t_70,g_se,x_16)
然后再把修复后的程序,丢到OllyIce中F9直接运行:
exe文件脱壳步骤 exe脱壳教程

文章插图
这里是变形壳添加的一个暗桩,会导致程序出现异常退出,这里直接nop掉或者把之前的jle(校验)改成jmp,然后保存修改另存文件 。然后就可以运行了