脱壳入门(二)之FSG2.0压缩壳"/>
脱壳入门(二)之FSG2.0压缩壳
脱壳入门(二)之FSG2.0压缩壳
一、环境和工具
Windows7+OllyDbg+PEID
二、寻找OEP
- 用PEID工具查壳
壳是FSG2.0压缩壳、链接器版本被隐藏了、区段也没名字、也不知到是什么语言编写的。
- FSG2.0壳有一些特征,可以根据特征来寻找OEP
- 方法一:跳转到OEP代码:
JMP DWORD PTR DS:[EBX+0xC]
Ctrl+F
搜索该条指令,F7
单步一步跳转到OEP
这明显是VSRelease版的入口点特征:CALL xxxxx,JMP xxxx
CALL里面第一个API调用是GetSystemTimeAsFileTime
- 方法二:
在壳代码入口处,POPAD
该条指令执行完后,堆栈中会出现OEP地址,数据窗口跟随,在OEP地址处下硬件执行断点,程序就会在OEP位置断下
三、Dump内存
Dump内存工具:
- OllyDbg插件——OllyDump(我使用它Dump内存)
- LoadPE
- PETools
四、修复导入表
这里还有坑,FSG2.0对内存中的IAT进行了一些空隙填充,需要将其改为0,否则会导致修复IAT失败
如果导入模块过多,此时手动修复就不现实了,可以将ImpREC
工具的获取输人表的Size值根据情况写的大一些,然后剪切掉无效函数就好了
脱壳完成
可以看到程序已经没壳了,并且成功运行。
更多推荐
脱壳入门(二)之FSG2.0压缩壳
发布评论