Linux Mach-O反汇编程序

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

Solutions Collecting From Web of "Linux Mach-O反汇编程序"

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 

安装将生成一个bin/目录,其中这些实用程序以x86_64-apple-darwin作为前缀。 它应该处理i386 Mach-O格式(和FAT二进制文件)罚款。

关于杰夫的回应:

bintuils并不包括链接支持(ld / gld),即使在当前的2.23版本中也是如此,这真的令人失望,但并不奇怪。 不幸的是,当你制作一个操作系统的时候会发生什么事情,并且重新创造出“真的不需要重新创建”的东西。 每个人都有不同的重点 我还没有听说过某个人对某个精灵的结局。

试图在OSX上运行ELF二进制文件? https://stackoverflow.com/a/2613170/1867574

您可以使用Hopper在Linux上反汇编Mach-O二进制文件。 不像objdump,它有一个非常漂亮的图形用户界面。

我认为你需要otool 。 它包含在mac osx command tools 。 例如,如果你想反汇编a.out ,你只需要在你的命令行输入otool -tv a.out

几乎没有什么着名的Mach-O二进制文件反向工程的工具是otool ,字符串,nm,otx等。这绝对适用于MAC OSX,我认为它也适用于Linux平台。