我正在寻找一个可以解析 32 位和 64 位 Mach-O 二进制格式的 C++ 库。我不需要任何花哨的东西,只需反汇编并将文件拆分为各个部分,因此无需反编译、名称解构等。
我知道我可以打开任何现有的反汇编程序或使用 Apple 的格式规范制作我自己的二进制解析器,但我有点希望不必走那么远,特别是如果其他人为我完成了这项工作。
非常感谢!
您可以从开源类转储工具 ( http://www.codethecode.com/projects/class-dump/ ) 开始。它可以读取 32 位和 64 位的 Mach-o 二进制文件,并且已知有一个不错的解析器。
尝试使用命令行工具otool
;听起来它可以满足您的需求。你可以从 C 代码中调用它system()
,等等。
试试这个:MachOView 它仍处于开发阶段,但希望很快成为一个强大的工具。
获取 Darwin(Mac OS X 内核)源代码,我保证那里的某个地方他们有 Mach-O 二进制文件的解析器。