尝试获取 IAT 时的 FThunk

逆向工程 开箱 x64dbg 我在 进口改造
2021-06-20 16:03:36

如果这是一个愚蠢的问题,对 RE 来说还很陌生,所以很抱歉。

我正在尝试手动解压缩一个可执行文件,我相信我已经找到了 OEP。但是,当我使用 Scylla 尝试修复转储的 .exe 的导入表时,我得到了一些无效/缺失的结果,并且找不到有关如何确定要分配的正确函数的任何信息。我尝试运行工具 Universal Import Fixer,它似乎修复了所有无效的导入,但我无法修复我的转储文件。任何帮助,将不胜感激!

这是我看到的截图: 在此处输入图片说明

3个回答

您在屏幕截图中指向的指针包含 ascii 字符串

应用程序是否使用了一些 dll,如 BCMenu 或 Windows 经典主题等

Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

00000000  42 43 4D 65 6E 75 00 00 57 69 6E 64 6F 77 73 20  BCMenu..Windows 
00000010  43 6C 61 73 73 69 63 2E 74 68 65 6D 65           Classic.theme

谷歌说 BCMenu 是一个很酷的班级,在 mfc 中做所有者绘制的东西

自 2015 年以来,brent corkum 的原始网站已经不复存在,但 Wayback 有几个快照

正如上面所说,419030 指向一些数据,而不是代码。所以你可以删除这个 FThunk。

查看反汇编列表,您会看到很多 OUTS,这是尝试反汇编随机数据/字节而产生的垃圾标志=> RVA 00013800 处的这个 thunk 应该可以安全地被“cut thunk”。

您也可以在 OllyDbg 的 Dump 面板中使用 Long -> Address 模式或 x64dbg 的 dump view with Address 模式跟踪这个 thunk 的虚拟地址 (00400000 + 00013800 = 00413800) 来检查该位置的内容。