手工脱壳之 FSG压缩壳【IAT反修复】

一、工具及壳介绍

 使用工具:Ollydbg,PEID,ImportREC,LoadPE

FSG壳 2.0:

二、脱壳

1、追踪 修复IAT表代码

入口处,没有pushad特征,无法使用ESP定律。

   

   

查看导入表信息。

   

   

推测壳利用LoadLibrary 和 GetProcAddress 修复exe IAT表。

下API断点。

   

   

小技巧,Alt + F9 返回用户界面。

分析得出是修复exe IAT表的循环。

   

   

   

跳出循环。

   

   

来到OEP。

   

   

Dump进程内存。

   

   

导入表少的可怜。而且此程序是Win32程序,却没有加载用户界面相关的DLL。

   

2、IAT反修复

找一个引用IAT的地方,查看IAT表。

   

发现模块间的间隙被填成0xFFFFFFFF。默认情况下是0x00000000,用于解析导入表时的边界判断,所以ImportREC才解析不出。

   

   

填为0x00000000。

   

   

重走Dump流程。

   

由下图可知,kernel32转ntdll的函数,上面的导入表信息正常。

   

   

3、脱壳成功

   

 

个人总结:

前面的比较容易,后面的比较坑。

附件:

FSG.exe

   

KIDofot

原文地址:https://www.cnblogs.com/KIDofot/p/8602194.html