如何将调试符号添加到剥离的ELF二进制文件中

时间:2015-12-15 15:54:33

标签: debugging gdb debian elf debug-symbols

我需要用调试符号反汇编debian二进制文件,我正在使用IDA Pro。问题是:如果调试符号存储在单独的文件中(在debian软件包的情况下),IDA似乎不会识别它们。但是,在编译二进制文件并在其中保留调试符号时,IDA可以注释所有函数和变量。

所以我的问题是:有没有办法将调试符号添加回剥离的二进制文件?目标是使用调试符号创建单个二进制文件。例如,可以使用gdb来调试剥离的二进制文件; 2)加载调试符号; 3)生成包含这些符号的二进制文件。

我发现一种方法here建议将调试部分从后面复制到二进制文件中。不幸的是,这只是部分工作,一些符号仍然缺失。我已经使用gdb验证了这一点。

1 个答案:

答案 0 :(得分:1)

对于gdb,请使用set debug-file-directory

对于IDA Pro:

  1. 在IDA Pro中打开调试符号文件
  2. 将数据库/ typeinfo导出为IDC脚本
  3. 编辑IDC脚本
    1. 手动合并database / typeinfo IDC脚本
    2. 注释掉DeleteAll()
  4. 在IDA Pro中打开剥离的ELF文件
  5. 分析完成后,执行IDC脚本