macOS 二进制检查

macOS Mach-O 差异工具

ABDiff 可在 macOS 上比较 Mach-O 二进制文件,通过结构化只读树展示与 slice 相关的元数据、load commands、segments、exports 以及可能的 private API 信号。

当原始二进制 diff 过于底层时,它会很有用。你可以把变化映射到实际的可执行文件、framework 或应用二进制结构上来审查。

  • Slice 感知检查
  • Load commands
  • Segments 与 exports
  • Private API 候选项
  • 只读审查
macOS 上的 ABDiff Mach-O 比较视图
ABDiff Mach-O 比较视图

适用场景

  • 审查不同构建之间的二进制输出。
  • 在发布前检查架构 slices 和平台元数据。
  • 检查 dylib 依赖、rpath 和导出符号。
  • 在提交 App Store 前查看可能的 private API 信号。

为什么结构化 diff 很重要

  • 头部、load commands 和 exports 各自意义不同,不应被压扁成一个不透明的二进制块。
  • 对于通用二进制和平台特定输出,按 slice 分组很重要。
  • 只读呈现让审查聚焦于检查,而不是误编辑。

ABDiff 检查哪些内容

区域 重要原因
头部与 slices 检查 CPU 目标、文件类型和通用二进制的 slice 布局。
Load commands 检查平台版本、dylib 依赖和运行时路径。
Segments 理解 Mach-O 镜像内部的结构布局变化。
Exports 查看公开符号变化,包括 Swift 和 Objective-C 导出。
Private API 候选项 暴露在分发前值得进一步审查的启发式信号。

相关页面