适用场景
- 逐字节比较任意二进制文件。
- 打开单个二进制文件进行独立十六进制检查。
- 审查不同构建之间的二进制输出。
- 在发布前检查架构 slices 和平台元数据。
- 检查 dylib 依赖、rpath 和导出符号。
- 在提交 App Store 前查看可能的 private API 信号。
macOS 二进制检查
ABDiff 可用面向字节的十六进制 diff 比较任意二进制文件,将单个二进制文件作为独立十六进制查看器打开,并为 Mach-O 和其他已识别格式提供结构化只读视图。
当你同时需要原始字节证据和语义上下文时,它会很有用:检查十六进制和 ASCII 列,再用解析后的结构树把变化映射到 section、header、元数据和 payload 范围。
| 区域 | 重要原因 |
|---|---|
| 十六进制字节 | 在十六进制和 ASCII 上下文中按字节偏移比较插入、删除和替换。 |
| 单个文件 | 当还没有比较侧时,也可把一个二进制文件作为只读十六进制查看器打开。 |
| 结构化格式 | 按解析后的 section 审查已识别的归档、媒体、数据库、可执行文件和容器。 |
| 头部与 slices | 检查 CPU 目标、文件类型和通用二进制的 slice 布局。 |
| Load commands | 检查平台版本、dylib 依赖和运行时路径。 |
| Segments | 理解 Mach-O 镜像内部的结构布局变化。 |
| Exports | 查看公开符号变化,包括 Swift 和 Objective-C 导出。 |
| Private API 候选项 | 暴露在分发前值得进一步审查的启发式信号。 |