linux反汇编程序

时间:2009-07-08 22:55:23

标签: linux assembly disassembly

如何从划痕中为linux编写一个简单的反汇编程序? 有没有可以使用的库?我需要一些“正常”的东西。

4 个答案:

答案 0 :(得分:8)

不要写一个,请尝试Objdump

根据您的评论,以及您从头开始实施的愿望,我认为这是一个学校项目。您可以获取objdump的源代码并查看它使用的库和技术。 BFD库可能有用。

答案 1 :(得分:5)

首先必须了解ELF file format。然后,您可以根据架构的操作码开始处理代码的各个部分。

答案 2 :(得分:1)

您可以使用libbfd和libopcodes,它们是作为binutils的一部分分发的库。

http://www.gnu.org/software/binutils/

作为这些库的强大功能的一个例子,请查看在线反汇编程序(ODA)。

http://www.onlinedisassembler.com

ODA支持无数架构并提供基本功能集。您可以在实时视图中输入二进制数据,并在键入时观察反汇编,或者您可以上传文件进行反汇编。此站点的一个很好的功能是,您可以与其他人共享反汇编的链接。

答案 3 :(得分:0)

您可以查看ERESI

的代码
  

ERESI逆向工程软件接口是一种多架构二进制分析框架,具有针对逆向工程和程序操作的定制域特定语言。