BinDiffツールを使用するにはIDAProが必要ですか?

BinDiff ツールの使用方法を学習しようとしていますが、できます」比較を行うために2つのバイナリを開く方法を理解します。マニュアルをざっと読んでいると、そのためにIDAProが必要なようです。

IDA Proなしで(たとえば、IDAだけで)BinDiffを使用できますか?

コメント

回答

はい、これはGhidraで可能になりました。

最新バージョンのBinDiff6 、Ghidra逆アセンブラの実験的サポートがあります。 Ghidra逆アセンブリを差分に必要な.BinExport形式にエクスポートできる拡張機能が付属しています。

必要なソフトウェア

Ghidra拡張機能のインストール

BinDiffをインストールした後、「BinExport」を見つけますインストールフォルダ内の拡張子。

デフォルトは

  • Windows:C:\Program Files\BinDiff\extra\ghidra
  • Linux:/opt/bindiff/extra/ghidra
  • macOS:/Applications/BinDiff/Extra/Ghidra

ファイルの場合、拡張機能は他のGhidra拡張機能と同じようにインストールできます。

  1. Ghidraを起動し、Fileを選択します。 | Install Extensions...
  2. +ボタンをクリックしてAdd extensionに移動します。
  3. Select Extensionダイアログで、ghidra_BinExport.zipを含むディレクトリに移動します。

  4. .zipを選択しますファイルを作成し、OK

  5. OKをクリックして確認し、もう一度クリックして再起動メッセージを閉じます。次に、Ghidraを再起動します。

使用法

このバージョンのGhidra用のJavaベースのエクスポーターには、IDAProのネイティブC ++バージョンと比較して次の機能があります。

| | Ghidra | IDA | | --------------------------------------- | ------ | --- | | Protocol Buffer based full export | ✓¹ | ✓ | | Statistics text file | - | ✓ | | Text format for debugging | - | ✓ | | BinNavi export into PostgreSQL database | - | ✓ | ¹ No operand trees 

インストールバージョンの確認

  1. Ghidraで、File | Install Extensions...
  2. BinExportがリストされており、正しいInstall Path

呼び出し

  1. Ghidraで、プロジェクトを開くか、新しいプロジェクトを作成します。
  2. まだ行っていない場合は、バイナリを開いてエクスポートします。コードブラウザツールを使用して、Ghidraの初期分析を実行します。「積極的な命令ファインダー」オプションを有効にして、エクスポートのカバレッジを向上させることができます。
  3. プロジェクトビューで、バイナリを右クリックして、エクスポートしてExport...
  4. を選択します

  5. ドロップダウンリストから、Binary BinExport (v2) for BinDiff
  6. を選択します出力ファイルのパス。これは元のファイル名にすることができます。 .BinExportが追加されます。
  7. OKをクリックします。

BinDiffエクスポートされたファイル

エクスポートされたファイルを比較して、結果をUIに表示できるようになりました。

  1. 上記の手順に従って2つのバイナリをエクスポートします。次の手順では、primary.BinExportsecondary.BinExportを想定しています。
  2. コマンドラインから、BinDiffエンジンを実行します。 with

    bindiff primary.BinExport secondary.BinExport 

    これにより、現在のディレクトリにファイルprimary_vs_secondary.BinDiffが作成されます。 bindiffコマンドをシステムパスに含める必要があります。

  3. bindiff --uiまたはオペレーティングシステムのランチャーを使用します。

  4. 新しいワークスペースを作成するか、既存のワークスペースを開きます。

  5. Diffs | Add Existing Diff...を選択します。

  6. 、手順2で作成したprimary_vs_secondary.BinDiffを選択します。

  7. OK、続いてAdd。差分が左側のツリービューに表示され、ダブルクリックして開くことができます。

  8. 通常はBinDiffを使用して、一致した関数のコールグラフまたはフローグラフを表示します。 。

オープンソース

最後に、BinExport拡張機能(およびIDA Proプラグイン)はオープンソースであり、利用可能です GitHubでv11タグはBinDiff6に対応します。

コメント

  • ありがとうございます。 ' IDA Proへの依存をなくすことができてとてもうれしいです!

回答

BindiffはIDAのプラグインでもスタンドアロンでもかまいませんが、バイナリを比較するにはIDAデータベースが必要です。

ここに画像の説明を入力

コメント

  • IDAがインストールされていなくても.idbを開くことができるとは思えません
  • @ismael_akez:IDAなしでデータベースファイルを生成できますか?

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です