我希望能够解析32位和64位ELF文件-但不能创建或修改它们(例如,如本线程中所述)。 ELF二进制文件可能来自嵌入式Linux系统,也就是说,该库不应被MIPS,ARM和其他非x86体系结构所烦扰。

我考虑过的内容:



pyelftools(我目前最喜欢的选项)
pylibelf
还可以选择:使用C库和ctypes。

我忘记了什么吗?
您希望选择上述哪个选项?

对于那些对pylibelf或pydeftools有实际经验的人:这些似乎不再更新(最后一次提交:2013和2012),它们是否足够成熟?

#1 楼

看一下radare2。它可以解析文件格式(有关解析ELF标头的示例,请参见此处)。

Radare2支持多种体系结构,并且正在积极开发中。最重要的是,它具有许多语言的绑定,当然包括Python。通读绑定源代码以了解编写脚本非常简单。

HTH!

评论


谢谢您的指导! Radare2似乎是一个功能强大的框架,但对于我的任务而言可能太重了。您是否尝试过其中提到的主要/唯一目的是解析ELF文件的库之一?如果它们的解析能力与Radare2一样好,我宁愿使用重量更轻的解决方案...

– gogo_gorilla
15年5月6日在11:56