前边在做Lab1-03的时候检测壳的信息,显示是FSG壳,找了一下,发现之前的fsg脱壳笔记并没有发出来,再这里,再补一下,这个程序的脱壳过程:
0x01查壳信息
0x02开始脱壳
载入OD
按 Alt+M 在Text段下断点:
F9运行:
听下来之后Alt+F9返回到用户代码:
接着F4 运行到大跳转处:
F7 运行过去 就是OEP了(第一次运行到大田转的地方会显示跳转未实现,多F4几次直到跳转实现)
在这里直接dump,之后转储修正IAT表就好了
总结
和一般的FSG壳不一样,一般的Fsg壳进去之后,直接使用ESP定律就可以,找到OEP,dump出来之后,修正转出之后,还需要进行手动修复IAT表,这是因为,导入表的结构里边,结束标志是全0,Fsg壳在dump出来,用工具修复IAT之后失败是因为,这个壳在执行的过程中,把部分IAT表里边的结构中的无用数据进行了修改,无法识别,手动修复的方法是,直接到IAT的地址,去将数据异常的IAT表项手动修改为0,再次修复转储就行了