十六进制数据比较

十六进制差异会按字节比较二进制文件。ABDiff 始终提供原始 Hex 视图,也可以为识别出的二进制格式显示已解析的 结构 视图。

开始十六进制比较的方式

拖放

文件菜单

终端

Hex 查看器布局

显示原始字节和已解析结构树的独立 Hex 查看器

内容从左到右依次为:

十六进制差异比较

使用偏移对齐且每行 8 字节的十六进制比较

十六进制比较有两种对齐布局:

当一个移位区域会让文件剩余部分看起来都发生变化时,重新同步很有用。在重新同步中,同一水平行并不总是表示两侧具有相同的绝对偏移。当对齐区域来自不同的原始位置时,ABDiff 会有意显示不同的左右偏移。

Hex 与结构

原始 Hex 模式显示偏移、十六进制字节和解码后的文本预览。编码控件只影响该文本预览;原始字节仍然是事实来源。

当 ABDiff 识别出二进制格式时,它会添加 Hex / 结构 控件。结构模式会以树形显示格式元素,包括元素名称、偏移、长度、解码值和解析器诊断。选择结构行会选择对应的字节范围。双击结构行会切回 Hex 模式并显示该范围。

在单文件 Hex 查看器中,受支持的文件可以在 Hex 字节旁显示结构树。不受支持的文件会使用全部宽度显示原始 Hex。在双文件十六进制差异中,只要至少一侧被识别,就可以使用结构模式,并且 仅显示差异 会同时应用于结构行和原始 Hex 行。

特定格式的字段可能决定该字段的字节序或文本解码等细节。例如,ZIP 结构字段会按 ZIP 规则解析,而 Hex 文本预览仍可通过编码控件更改。

支持的结构格式包括:

有些通常会在其他查看器中打开的格式,也可以通过强制 Hex 作为结构检查。例如,GIF、TIFF 和 WebP 通常作为图像比较打开,PEM 通常作为文本打开。

视图选项

在 Hex 视图中,使用视图菜单或工具栏控件调整显示:

更改 每行字节数 不会改变底层差异结果。

检查字节

点按一个字节即可选择它。按住 Shift 点按,或将 Shift 与箭头键配合使用,可扩展选择范围。在单文件视图中,底部检查器会显示所选偏移、长度、匹配的结构元素和值预览。

使用值菜单或右键点按 复制为,可以将所选字节检查或复制为:

LE / BE 控件为多字节数字设置 little-endian 或 big-endian 解释方式。当已解析结构固定了字节序时,ABDiff 会显示该字节序并禁用手动更改。

使用左上角的文件信息胶囊可打开摘要元数据。在结构化文件中,同一个弹出框还包含解析器元数据,例如容器摘要和不绑定到单个字节范围的格式特定事实。

查找和前往偏移

使用 编辑 ▸ 查找… 搜索活动二进制表面。在 Hex 视图中,查找会智能处理字节搜索:有效的十六进制语法如 1F 8B0x1F8B1f-8b 会搜索原始字节,而 Papyrus 这样的文本会将相同字节作为 UTF-8 搜索,且不会切换模式。看起来像 Hex 但无法描述完整字节的输入会报告无效搜索,而不是猜测。

在结构视图中,查找会自动匹配已解析的结构名称和值。没有搜索模式选择器;活动视图决定搜索目标。

使用 导航 ▸ 前往偏移… 跳转到字节偏移。偏移默认是十六进制;使用 0x 表示显式十六进制,使用 d: 表示十进制,使用 + / - 表示相对于所选字节的偏移。

直方图和熵

使用工具栏中的直方图按钮检查字节分布、熵、主要字节值,以及高熵或大量填充等粗略分类。在单文件 Hex 视图中,直方图面板还可以在 Hex 行旁显示 熵图 条带,以便快速浏览文件。

只读行为

十六进制数据比较是只读的:

键盘速查

操作 快捷键
将选择向左移动
将选择向右移动
将选择向上或向下移动 ↑ / ↓
扩展字节选择 ⇧ 加箭头键
切换到另一个窗格
从右窗格或结构移回焦点 ⇧⇥
展开所选结构行
折叠所选结构行

相关主题