objdump使用的反汇编库

6

我正在寻找一个可以对二进制代码进行反汇编的库。

我发现libdisasm正好可以完成我想要的任务。然而,我发现一些链接表明libdisasm无法处理64位可执行文件。这是正确的吗?

但是,据我所知,objdump对64位可执行文件的输出是可靠的。那么,objdump是否也使用类似的反汇编库呢?最初,我以为objdump使用的是libdisasm。

2个回答

10

好的,谢谢。但是你知道libdisasm是否支持64位吗? - user1129237

1

这只是为了澄清原帖评论中提出的一个问题(我没有足够的积分来发表评论)。

libdisasm项目多年来一直没有得到积极维护。它不支持x86-64(64位)指令集,也不支持SSE3之后的任何x86(32位)扩展。

opdis项目是libdisasm的替代品。libdisasm的作者编写了opdis,以避免频繁更新以支持英特尔和AMD不断变化的指令集。实际的操作码反汇编在opdis中由GNU binutils的libopcodes处理(objdump使用的反汇编器),opdis提供指令元数据和更高级别的反汇编功能。


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