
Hex-Raysプラグインマネージャーでインストールします:
hcli plugin install https://github.com/joxeankoret/diaphora/archive/refs/tags/3.4.2.zip
手動インストールの手順は以下のとおりです。
Diaphora(διαφορά、ギリシャ語で「差分」の意)バージョン3.4は、現在(2026年)利用可能な中で最も先進的なプログラム差分解析ツール(IDAプラグインとして動作)です。SyScan 2015で初めてリリースされて以来、積極的にメンテナンスが続けられています。Diaphoraはすでに11年にわたり、IDA 6.8から9.4までのすべてのマイナーバージョンに移植されています。
DiaphoraはIDA >= 7.4のバージョンをサポートしています。コードがPython 3.Xでのみ動作するためです(Python 3.11が最後にテストされたバージョンです)。
Diaphoraには、プログラム差分解析(bindiffing)ツールとして期待される一般的な機能が数多く備わっています。例えば:
しかし、Diaphoraには他の公開ツールにはない独自機能も数多くあります。以下は独自機能の一部です(網羅的なリストではありません):
Diaphoraはインストールを必要としません。コードをダウンロードして、IDA内またはコマンドラインでスクリプトdiaphora.pyを実行するだけです(コマンドラインは、すでにエクスポート済みのデータベースの差分解析のみ対応)。ただし、以下の手順でプラグインとしてIDAに統合することもできます:
plugins/diaphora_plugin.pyとplugins/diaphora_plugin.cfgをIDAのプラグインディレクトリにコピーします。diaphora_plugin.cfgを編集し、pathの値をDiaphoraのディレクトリに設定します。寄付をすることで、Diaphoraの作者を支援(または感謝の意を示す)ことができます。ご希望の場合は、以下のリンクのいずれかを使用できます:
問題が発生した場合やヘルプが必要な場合は、遠慮なくGitHubでissueを開いてください。対話形式でのチャットをご希望の場合は、次のDiscordチャンネルをご利用ください:https://discord.gg/atg34w2xjV
1.2.4以前のバージョン(1.2.4を含む)は、GNU GPLバージョン3の下でライセンスされていました。バージョン2.0以降、DiaphoraはGNU Affero GPLバージョン3ライセンスの下でライセンスされています。このライセンス変更は、Diaphoraを変更・適応させたい企業が、変更内容を還元せずにこれらの変更版に基づくWebサービスを提供できないようにするためです。
99.99%のユーザーにとって、このライセンス変更はまったく影響しません。会社で異なるライセンスモデルが必要な場合は、次のセクションを確認してください...
商用サポートとコンサルティングは、正規の企業向けに提供されています。解析対象に関する問題のサポートやコンサルティング、Diaphoraベースの製品開発、自社ツールと連携したDiaphoraの社内利用、剽窃検出プロジェクトなどが必要な場合は、詳細について[email protected]までお問い合わせください。
会社がAGPLライセンスの使用を許可していない場合、Diaphoraの商用ライセンスを取得して、自社または勤務先の企業で使用することができます(IDAのネームドライセンスと同様の概念です)。詳細については、[email protected]までお問い合わせください。
Diaphoraの使用を妨げているのは私ではなく、あなたの会社であることをご理解ください。ご了承いただきありがとうございます。
エクスポートや差分解析プロセスの自動化方法をお探しの場合や、操作を高速化したい場合などは、そのような質問に回答しているwikiを参照することをお勧めします。
CVE-2020-1350で脆弱性がパッチ適用された正確な関数をDiaphoraが特定しているところ:

Diaphoraが再び、CVE-2023-28231が修正された正確な関数を特定しているところ:

CVE-2023-28231。ZDIのブログで説明されているように、この脆弱性は「ProcessRelayForwardMessage()」内のリレー転送メッセージ数が32(0x20)以上でないことをチェックすることで修正されました。以下の疑似コード差分解析に示されています:

Hex-Rayのマイクロコード差分解析を実行しているDiaphora:

アセンブラ、疑似コード、マイクロコードの差分解析:

Diaphora 3.0でCVE-2023-21768の差分解析:

これは、iOS 9.3.5で修正されたPEGASUS iOSカーネルの脆弱性をDiaphoraで差分解析しているスクリーンショットです:
そして、これはMicrosoftセキュリティ情報MS15-034をDiaphoraで差分解析している古いスクリーンショットです:
DiaphoraでMS15-034を差分解析
以下は、Alex Ionescuのブログ記事DiaphoraでMS15-050を解析から抜粋した、Microsoftセキュリティ情報MS15-050をDiaphoraで差分解析しているスクリーンショットです。

以下は、DiaphoraがiOS 10.3.3のiBootとiOS 11.0の差分を解析しているスクリーンショットです: