Import REConstructor
Import REConstructor安装教程

Import REConstructor 可以从杂乱的 IAT 中重建一个新的 Import 表 (例如加壳软件等),它可以重建 Import 表的描述符、IAT 和所有的 ASCII 函数名。
用它配合手动脱壳,可以脱 UPX、CDilla1、PECompact、PKLite32、Shrinker、ASPack, ASProtect 等壳。
使用方法
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 修复完成
