用途:逆向与安全审查 macOS 应用和 Mach-O 二进制。适用于分析 .app 包或 Mach-O 可执行文件/dylib/framework,读取授权(entitlements)、强化运行时标志、公证与 Gatekeeper 隔离状态,审计 XPC 服务或特权助手的授权缺陷,搜寻基于 @rpath 与弱链接 dylib 的 dylib 劫持/代理,以及推理 TCC 隐私暴露与沙箱逃逸面。
主要能力与用法:先用 lipo -archs 列出架构、lipo -thin 瘦身通用二进制。用 otool -l 看加载命令、otool -L 看链接的 dylib 及路径、nm 看符号,关注 LC_RPATH、LC_LOAD_DYLIB、LC_LOAD_WEAK_DYLIB 与代码签名。遍历包结构:Contents/MacOS、Info.plist、_CodeSignature、内嵌 Frameworks/ 与 XPCServices/。用 class-dump 或 dsdump 从二进制重建 Objective-C 类和方法;Swift 名称经 swift-demangle 处理,并更多依赖反编译器(Hopper、Ghidra、IDA)。用 codesign -dvvv --entitlements :- <binary> 导出签名与授权,关注 get-task-allow、禁用库验证及私有 TCC 授权。动态分析可用 Frida、lldb、dtrace。
限制:不适用于 iOS 应用(IPA 解密、FairPlay、App Store 二进制应使用 analyzing-ios-binaries);也不适用于非 Mach-O 或跨平台分诊(analyzing-binaries)、将内存破坏崩溃转为利用(exploiting-memory-corruption)、以及先需脱壳解密的 Mach-O(unpacking-protected-binaries)。