分析MIPS二进制文件:是否有用于解析二进制数据的Python库?

DGe*_*try 11 python x86 mips elf dwarf

我正在研究一个实用程序,它需要将十六进制地址解析为二进制内的符号函数名和源代码行号.该实用程序将在x86上的Linux上运行,但它分析的二进制文件将用于基于MIPS的嵌入式系统.MIPS二进制文件采用ELF格式,使用DWARF作为符号调试信息.

我目前正计划派生objdump,传入十六进制地址列表并解析输出以获取函数名称和源行号.我已经编译了一个支持MIPS二进制文件的objdump,它正在工作.

我更喜欢有一个软件包,允许我从Python代码本地查找内容而不需要另外的进程.我在python.org上找不到libdwarf,libelf或libbfd,也没有提到dwarfstd.org上的python.

某处有合适的模块吗?

小智 8

您可能对pydevtools的DWARF库感兴趣:

>>> from bintools.dwarf import DWARF
>>> dwarf = DWARF('test/test')
>>> dwarf.get_loc_by_addr(0x8048475)
('/home/emilmont/Workspace/dbg/test/main.c', 36, 0)
Run Code Online (Sandbox Code Playgroud)


Eli*_*sky 5

请检查pyelftools-旨在执行此操作的新纯Python库。