有没有办法将 C++ DOS 可执行文件的调试/符号信息导入 IDA?

逆向工程 艾达 调试 C++
2021-07-01 03:48:19

我有一个使用 Borland C++(1991 版)编译的旧 DOS 程序

可执行文件的结尾包含许多前面带有下划线的字符串,看起来像调试/符号信息:

例如: _HandleMemory, _AddKey, _SetPalette, ...

大多数这些字符串似乎是函数或变量名称。

但是,一旦在 IDA 中打开 exe,就不会使用该信息,大多数函数只是以这种方式命名(除了一些已知的 C 函数,如_qsort):

sub_XXXXX

有没有办法将该信息导入 IDA ?

2个回答

如果有人有同样的问题,这是我解决的方法:

1) 我使用 TDUMP 将所有调试符号信息导出到一个文本文件。

TDUMP somefile.exe > 1.txt

2)我清理了txt文件以只保留有用的信息:

[Function name] + [Address]

3)我使用python脚本将文件导入回IDA:见这里

我编写了一个 IDAPython 脚本,它解析调试信息,然后执行相应的重命名,所有这些都来自 IDA。

该脚本以及简单的使用说明可在GitHub找到