macOS 二进制检查

macOS 十六进制 Diff 与 Mach-O 二进制工具

ABDiff 可用面向字节的十六进制 diff 比较任意二进制文件,将单个二进制文件作为独立十六进制查看器打开,并为 Mach-O 和其他已识别格式提供结构化只读视图。

当你同时需要原始字节证据和语义上下文时,它会很有用:检查十六进制和 ASCII 列,再用解析后的结构树把变化映射到 section、header、元数据和 payload 范围。

  • 十六进制 diff
  • 独立十六进制查看器
  • Slice 感知检查
  • 只读审查
macOS 上的 ABDiff Mach-O 比较视图
ABDiff Mach-O 比较视图

适用场景

  • 逐字节比较任意二进制文件。
  • 打开单个二进制文件进行独立十六进制检查。
  • 审查不同构建之间的二进制输出。
  • 在发布前检查架构 slices 和平台元数据。
  • 检查 dylib 依赖、rpath 和导出符号。
  • 在提交 App Store 前查看可能的 private API 信号。

为什么十六进制与结构都很重要

  • 十六进制和 ASCII 列显示原始字节证据,而不是把渲染后的十六进制当作文本处理。
  • 解析后的结构树将语义 section 链接到字节范围。
  • 头部、load commands 和 exports 各自意义不同,不应被压扁成一个不透明的二进制块。
  • 只读呈现让审查聚焦于检查,而不是误编辑。

ABDiff 检查哪些内容

区域 重要原因
十六进制字节 在十六进制和 ASCII 上下文中按字节偏移比较插入、删除和替换。
单个文件 当还没有比较侧时,也可把一个二进制文件作为只读十六进制查看器打开。
结构化格式 按解析后的 section 审查已识别的归档、媒体、数据库、可执行文件和容器。
头部与 slices 检查 CPU 目标、文件类型和通用二进制的 slice 布局。
Load commands 检查平台版本、dylib 依赖和运行时路径。
Segments 理解 Mach-O 镜像内部的结构布局变化。
Exports 查看公开符号变化,包括 Swift 和 Objective-C 导出。
Private API 候选项 暴露在分发前值得进一步审查的启发式信号。

相关页面