如何给被剥离符号的ELF二进制文件添加调试符号

3
我需要使用IDA Pro拆解带有调试符号的Debian二进制文件。问题是:如果调试符号存储在单独的文件中(在Debian软件包的情况下),IDA似乎无法识别它们。但是,当编译二进制文件并将调试符号保留在其中时,IDA可以注释所有函数和变量而没有问题。
所以我的问题是:是否有一种方法可以将调试符号添加回被剥离的二进制文件中?目标是创建一个带有调试符号的单个二进制文件。例如,可以使用gdb来1)调试已剥离的二进制文件;2)加载调试符号;3)生成包含这些符号的二进制文件。
我发现这里提出了一种方法,即从调试信息中复制调试部分到二进制文件中。不幸的是,这只部分起作用,某些符号仍然丢失。我已经使用gdb进行了验证。
1个回答

1

对于gdb使用set debug-file-directory

对于IDA Pro:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接