C++ 中 32 位和 64 位 Mach-O 二进制/可执行格式的解析器

blw*_*y10 5 c++ macos mach-o

我正在寻找一个可以解析 32 位和 64 位 Mach-O 二进制格式的 C++ 库。我不需要任何花哨的东西,只需将文件反汇编并将其拆分为多个部分,因此无需反编译、名称拆分等。

我知道我可以打开任何现有的反汇编程序或使用 Apple 的格式规范制作我自己的二进制解析器,但我有点希望不必走那么远,特别是如果其他人为我完成了这项工作。

非常感谢!

Lau*_*ble 5

您可以从开源类转储工具 ( http://www.codethecode.com/projects/class-dump/ ) 开始。它可以读取 32 位和 64 位 Mach-o 二进制文件,并且已知有一个不错的解析器。


Vin*_*ble 5

尝试使用命令行工具otool;听起来它可以满足您的需求。您可以使用system()等从 C 代码中调用它。