有没有Linux程序可以像objdump那样反汇编OSX通用的x86/x86_64胖Mach-O二进制文件?GNU binutils的objdump支持ELF和Windows PE文件,但不支持Mach-O。
发布于 2012-01-03 22:58:19
原生达尔文二进制工具AFAIK是cctools包的一部分。它们不具有与GNU binutils相同的命令行语法或输出。然而,后来的binutils (即2.22)支持Mach-O格式。您可以通过在工具名称前加上'g‘前缀来预先构建这些工具,正如前面提到的here。或者,您可以编译binutils,如下所示:
> ./configure --prefix=$CROSSTOOLDIR --target=x86_64-apple-darwin \
--enable-64-bit-bfd --disable-nls --disable-werror安装将生成一个实用程序以x86_64-apple-darwin为前缀的bin/目录。它应该可以很好地处理i386 Mach-O格式(和FAT二进制文件)。
发布于 2012-12-01 05:25:42
关于Jeff的回应:
bintuils没有包括对mach的链接支持(ld/gld),甚至在当前的2.23版本中也没有,这真的很令人失望,但并不令人惊讶。不幸的是,这就是当你创建一个操作系统,并重新创造“真的不需要重新创造”的东西时发生的事情。每个人都有不同的优先级。我还没有从一些人那里听到a.out vs elf的结束。
想尝试在OSX上运行ELF二进制文件吗?https://stackoverflow.com/a/2613170/1867574
发布于 2013-03-22 05:53:33
您可以使用Hopper在Linux上反汇编Mach-O二进制文件。与objdump不同,它有一个非常好的图形用户界面。
https://stackoverflow.com/questions/8712352
复制相似问题