Mach-O 比較
ABDiff は、構造化された読み取り専用ツリーで Mach‐O バイナリを比較できます。 このビューは、プラットフォームのターゲット、依存関係、および API のサーフェス変更のレビューに役立ちます。
Mach-O 比較を開始する
- ウィンドウに two Mach-O バイナリ をドロップして、Mach-O 比較ビューを開きます。
- 1つのMach-Oファイルをペインにドロップして、その面だけを置き換えてください。
ビューの内容
- インデントと開示制御を備えた二列ツリー。
- 差異は、他の比較と同様の追加・削除・変更された色でハイライトされます。
- 概要ボタンは、主要なメタデータ(サイズ、CPUスライス、プラットフォームバージョン、セグメント数、ランタイムパス、エクスポート)を比較します。
ツリー構造
各Mach-Oファイルは、アーキテクチャスライス(例:Slice arm64)でグループ化され、次にカテゴリ別にグループ化されます。
- ヘッダー — CPU、ファイルタイプ、ヘッダーフラグ。
- ロードコマンド — プラットフォーム+最小OS+SDKバージョン、dylib依存関係、およびrpaths
- Private API Candidates — プライベートフレームワーク、インポートされたシンボル、ランタイム検索API、および疑わしい文字列からのヒューリスティックシグナル。
- Segments — オプションの説明を含むメモリレイアウトセグメント。
- Exports — Objective-C、C/C++、コンパイラ生成、およびデマングルされたSwiftシンボルに分類されたパブリックシンボル。
表示オプション
下部のバーのオプションメニューを使用してツリーをカスタマイズしてください:
- Show only differences は、変更がある先祖グループを保持しながら、等しいエントリを非表示にします。
- Show only private APIs は、先祖グループを保持したまま、ツリーをヒューリスティックなプライベートAPI候補に絞ります。
- Show descriptions は、ほとんどの要素に対して説明的なサフィックスを切り替えます。
プライベートAPI候補はヒューリスティックです。 それらは、リンクされたプライベートフレームワークのような強力な証拠を示すことができ、また、ランタイムルックアップヘルパーや疑わしい文字列リテラルといった緩やかなシグナルを示すこともできます。
キー操作
| アクション | ショートカット |
|---|---|
| 前の行/次の行 | ↑ / ↓ |
| 前の / 次の変更 | ⌥↑ / ⌥↓ |
| 最初の行/最後の行へジャンプ | ⌘↑ / ⌘↓ |
| アクティブペインを切り替える | ⇥ |
| グループを展開/縮小 | → / ← |
⌥↑/⌥↓は、変更されたリーフ行を対象とし、グループ行をスキップします。- 対象が変更された行が折りたたまれたグループ内にある場合、先祖は自動的に展開されます。
- リーフ行では、
←/→は、対象ペインにコンテンツがある場合にのみペインを切り替えます。
読み取り専用の挙動
Mach-O の比較は情報提供のみです。 編集が無効になっています。