【发布时间】:2010-11-09 05:09:25
【问题描述】:
我怎样才能从头开始为 linux 编写一个简单的反汇编程序? 有什么库可以使用吗?我需要一些“正常工作”的东西。
【问题讨论】:
-
您的目标是什么架构,因为这比操作系统更相关。
-
对不起,我省略了哪个架构,我正在尝试在x86下反汇编
标签: linux assembly disassembly
我怎样才能从头开始为 linux 编写一个简单的反汇编程序? 有什么库可以使用吗?我需要一些“正常工作”的东西。
【问题讨论】:
标签: linux assembly disassembly
你必须先了解ELF file format。然后,您可以根据您的架构的操作码开始处理各个部分的代码。
【讨论】:
您可以使用 libbfd 和 libopcodes,它们是作为 binutils 的一部分分发的库。
http://www.gnu.org/software/binutils/
作为这些库强大功能的一个示例,请查看在线反汇编程序 (ODA)。
http://www.onlinedisassembler.com
ODA 支持多种架构并提供基本功能集。您可以在实时视图中输入二进制数据并在您键入时观看反汇编,或者您可以上传文件进行反汇编。该站点的一个不错的功能是您可以将反汇编的链接分享给其他人。
【讨论】:
你可以看看ERESI的代码
ERESI 逆向工程软件接口是一个多架构二进制分析框架,具有用于逆向工程和程序操作的定制领域特定语言。
【讨论】: