Linux Mach-O反汇编程序

Jef*_*eff 12 linux mach-o objdump disassembly

是否有任何Linux程序可以反汇编OSX通用x86/x86_64脂肪Mach-O二进制文件,如objdump?GNU binutils的objdump支持ELF和Windows PE文件,但不支持Mach-O.

Bre*_*ale 13

AFAIK,原生Darwin二进制工具是cctools包的一部分.它们没有与GNU binutils相同的命令行语法或输出.后来的binutils(即2.22)支持Mach-O格式.你可以得到这些预置的,与" g"前缀的工具名称,提到这里.或者,您可以编译binutils,例如:

> ./configure --prefix=$CROSSTOOLDIR --target=x86_64-apple-darwin \
--enable-64-bit-bfd --disable-nls --disable-werror
Run Code Online (Sandbox Code Playgroud)

安装将产生一个bin/以实用程序为前缀的目录x86_64-apple-darwin.它应该处理i386 Mach-O格式(和FAT二进制文件).

  • @JamesMcMahon - 它应该适用于任何一个.`--target`是工具分析的架构/ ABI.`--host`指定工具将运行的平台.通常`--host`默认为`config.guess`返回的值. (2认同)

小智 5

关于杰夫的回应:

bintuils不包括连接支持(ld/gld)甚至在目前的2.23版本中,这实际上令人失望但并不令人惊讶.不幸的是,当你制作一个操作系统,并重新发明"真正不需要重新发明"的东西时会发生什么.每个人都有不同的重点.有些人我还没有听说a.out与精灵的结束.

小心试图在OSX上运行ELF二进制文件?/sf/answers/182921931/