修复工具:ImportREC

Import REConstructor可以从杂乱的IAT中重建一个新的Import表(例如加壳软件等),它可以重建Import表的描述符、IAT和所有的ASCII函数名。
用它配合手动脱壳,可以脱UPX、CDilla1、PECompact、PKLite32、Shrinker、ASPack, ASProtect等壳。

在运行Import REConstructor之前,必须满足如下条件:
1) 目标文件己完全被Dump到另一文件;
2) 目标文件必须正在运行中;
3) 事先要找到真正的入口点(OEP);
4) 最好加载IceDump,这样建立的输入表较少存在跨平台的问题。

使用方法

1.目标文件已完全被Dump,另存为一个文件

2.目标文件必须正在运行中

3.事先找到目标程序真正的入口(OEP)或IAT的偏移与大小

以加壳RebPE.exe为例,首先OD加载:

调试到00413001,设置硬件断点hr esp

F9断下来,单步调到OEP处:

这时启用Loadpe工具,找到对应的进程,右键先执行"correct ImageSize”,再执行"dump full",保存为dumped.exe

运行ImportREC,选择RebPE.exe进程:

在右下角OEP处埴上正确的OEP的RVA值,这里填1130,默认时,ImportREC重建输入表时会同时用此值修正入口点,同时提供正确的OEP有助于分析IAT的准确位置,单击"IAT AutoSearch"按钮,让其自动检测IAT偏移和大小,如果出现:

表示输入的OEP发挥了作用,如果没有,则要手动填入IAT的RVA和大小,

单击"Get Imports"按钮,让其分析IAT结构得到基本信息,如下:

本例中所有API都被正确识别了,显示valid:YES,如果不能识别,就会显示成valid:NO,单击"Show Invalid"按钮分析所有的无效信息,

在Imported Functions Found这一窗口中单击右键,选择Thrace Level1(Disasm),再单击"Show Invalid

最后一步,把前面提出的IAT部分都加上Dump.exe,选择"Add new section",单击Fix Dump,选择刚抓取的Dump.exe,此时会生成一个叫Dump_exe的文件,而输入表会放在新增的.mackt区块上,此时IAT修复完成


下载地址:https://pan.baidu.com/s/1WEMn0w_6GUtmC7vKQCo-DQ      提取码: ipav

推荐

  • QQ空间

  • 新浪微博

  • 人人网

  • 豆瓣

取消