Hex データ比較

Hex 差分は、バイナリファイルをバイトとして比較します。ABDiff では生の Hex 表示が常に利用でき、認識されたバイナリ形式では解析済みの 構造 ビューも表示できます。

Hex 比較を開始する方法

ドラッグ&ドロップ

ファイルメニュー

Terminal

Hex ビューアのレイアウト

生のバイトと解析済み構造ツリーを表示する単独 Hex ビューア

内容は左から右に次の順で表示されます。

Hex 差分比較

8 バイトごとの行でオフセット配置を使った Hex 比較

Hex 比較には 2 つの配置レイアウトがあります。

再同期は、1 つのずれた領域のせいでファイルの残り全体が変更されたように見える場合に役立ちます。再同期では、同じ横行が必ずしも両側の同じ絶対オフセットを意味するわけではありません。揃った領域が異なる生の位置から来ている場合、ABDiff は意図的に左右で異なるオフセットを表示します。

Hex と構造

生の Hex モードでは、オフセット、16 進数のバイト、デコード済みテキストプレビューが表示されます。エンコーディングコントロールが影響するのはそのテキストプレビューだけで、生のバイトが真実のソースです。

ABDiff がバイナリ形式を認識すると、Hex / 構造 コントロールが追加されます。構造モードでは、形式要素がツリーとして表示され、要素名、オフセット、長さ、デコード済み値、パーサ診断を確認できます。構造行を選択すると、対応するバイト範囲が選択されます。構造行をダブルクリックすると Hex モードに戻り、その範囲が表示されます。

単一ファイルの Hex ビューアでは、対応ファイルの場合に Hex バイトの横に構造ツリーを表示できます。未対応ファイルでは、生の Hex が全幅を使います。2 ファイルの Hex 差分では、少なくとも片側が認識されると構造モードが利用できます。また 差分のみ表示 は、構造行にも生の Hex 行にも適用されます。

形式固有のフィールドでは、そのフィールドのバイト順やテキストデコードなどの詳細が決まる場合があります。たとえば ZIP 構造フィールドは ZIP の規則に従って解析されますが、Hex テキストプレビューは引き続きエンコーディングコントロールで変更できます。

対応している構造形式には次が含まれます。

通常は別のビューアで開く形式でも、Hex を強制すると構造として検査できる場合があります。たとえば GIF、TIFF、WebP は通常は画像比較として開き、PEM は通常はテキストとして開きます。

表示オプション

Hex ビューでは、表示メニューまたはツールバーコントロールを使って表示を調整します。

1行あたりのバイト数 を変更しても、基礎となる差分結果は変わりません。

バイトを検査する

バイトをクリックして選択します。Shift クリック、または Shift と矢印キーを使うと選択範囲を拡張できます。単一ファイルビューでは、下部のインスペクタに選択されたオフセット、長さ、一致する構造要素、値のプレビューが表示されます。

値メニューまたは右クリックの 形式を選択してコピー を使うと、選択したバイトを次の形式で検査またはコピーできます。

LE / BE コントロールは、複数バイト数値を little-endian または big-endian として解釈する方法を設定します。解析済み構造がバイト順を固定している場合、ABDiff はそのバイト順を表示し、手動変更を無効にします。

左上のファイル情報ピルを使うと、概要メタデータを開けます。構造化ファイルでは、同じポップオーバーに、コンテナ概要や単一のバイト範囲に結びつかない形式固有の情報など、パーサメタデータも含まれます。

検索とオフセットへ移動

編集 ▸ 検索… を使って、アクティブなバイナリ面を検索します。Hex ビューでの検索はバイト検索に対応しています。1F 8B0x1F8B1f-8b のような有効な Hex 構文は生のバイトを検索し、Papyrus のようなテキストはモードを変更せずに同じバイトを UTF-8 として検索します。完全なバイトを表せない Hex 風の入力は、推測せず無効な検索として報告されます。

構造ビューでは、検索は解析済み構造の名前と値に自動的に一致します。検索モードの選択はありません。アクティブなビューが検索対象を決定します。

移動 ▸ オフセットへ移動… を使うと、バイトオフセットへジャンプできます。オフセットはデフォルトでは 16 進数です。明示的な 16 進数には 0x、10 進数には d:、選択バイトからの相対オフセットには + / - を使います。

ヒストグラムとエントロピー

ツールバーのヒストグラムボタンを使うと、バイト分布、エントロピー、上位バイト値、高エントロピーやパディング多めなどの大まかな分類を確認できます。単一ファイル Hex ビューでは、ヒストグラムパネルが Hex 行の横に エントロピーマップ の帯を表示し、ファイル内をすばやく移動できる場合もあります。

読み取り専用の動作

Hex データ比較は読み取り専用です。

キーボード早見表

アクション ショートカット
選択を左へ移動
選択を右へ移動
選択を上または下へ移動 ↑ / ↓
バイト選択を拡張 ⇧ と矢印キー
他のペインへ切り替え
右ペインまたは構造からフォーカスを戻す ⇧⇥
選択した構造行を展開
選択した構造行を折りたたむ

関連トピック