【问题标题】:linux disassemblerlinux反汇编程序
【发布时间】:2010-11-09 05:09:25
【问题描述】:

我怎样才能从头开始为 linux 编写一个简单的反汇编程序? 有什么库可以使用吗?我需要一些“正常工作”的东西。

【问题讨论】:

  • 您的目标是什么架构,因为这比操作系统更相关。
  • 对不起,我省略了哪个架构,我正在尝试在x86下反汇编

标签: linux assembly disassembly


【解决方案1】:

不要写一个,试试Objdump

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

【讨论】:

  • 我不是我项目的目标,我通常使用任何类型的调试器和反汇编器。
【解决方案2】:

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

【讨论】:

    【解决方案3】:

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

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

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

    http://www.onlinedisassembler.com

    ODA 支持多种架构并提供基本功能集。您可以在实时视图中输入二进制数据并在您键入时观看反汇编,或者您可以上传文件进行反汇编。该站点的一个不错的功能是您可以将反汇编的链接分享给其他人。

    【讨论】:

      【解决方案4】:

      你可以看看ERESI的代码

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

      【讨论】:

        猜你喜欢
        • 2012-02-01
        • 2011-05-23
        • 1970-01-01
        • 2013-08-04
        • 2011-07-08
        • 1970-01-01
        • 1970-01-01
        • 2011-01-28
        • 2011-03-19
        相关资源
        最近更新 更多