4.38 IDA反汇编some时加载来自some.debug的符号信息
https://scz.617.cn/unix/202105121709.txt
Q:
用IDA反汇编来自RedHat的some。gdb调试some时能看到从some.debug中成功读取符号 信息。现在想在IDA中加载some.debug中的符号信息,怎么搞?
A: 2021-05-12
"file -b some.debug"说这是ELF,但它只含有调试符号,类似windbg所用PDB文件。
可以用eu-unstrip将some、some.debug揉到一起,生成some.full。
aptitude install elfutils eu-unstrip -o some.full some some.debug
用IDA反汇编some.full即可。
第二种办法,先用IDA反汇编some.debug,导出some.idc:
File->Produce file->Dump database to IDC file
编辑some.idc,修改main(),只保留Bytes()、Functions()相关的函数。
再用IDA反汇编some,导入some.idc:
File->Script file (Alt-F7)
条件、时机允许的情况下,推荐第一种办法。
D: 2021-05-12
有人提到两处加载符号文件的位置
File->Load file->DBG file Edit->Plugins->Load DWARF file
另有人表示可用上述操作加载Ubuntu的调试符号。但我这里x64/RetHat的调试符号无 法加载成功,事实上这两处操作最终都去调第二处的插件,插件报错:
DWARF: Fatal error; the DWARF plugin will stop now (Missing .gnu_debugaltlink-provided context)
应该是插件BUG,或者不支持RedHat的some.debug格式。