ライブラリ / SDK
NationalSecurityAgency/ghidra avatar
NationalSecurityAgency/ghidra

GhidraDev: READMEと実装範囲を読む

Ghidra は米国家安全保障局(NSA)研究局が開発したソフトウェアリバースエンジニアリングフレームワーク。多様なプロセッサに対し、逆アセンブリ、逆コンパイル、グラフ化、スクリプト機能を提供する。

スター 75,753フォーク 8,305JavaApache-2.0

ひと目でわかる

これは何?
GhidraリポジトリのREADMEは、EclipseでGhidraスクリプトとモジュールを作成、リンク、起動、デバッグするためのプラグインであるGhidraDevについて説明しています。
誰に向いている?
GhidraDevはGhidraリポジトリの一部としてApache-2.0ライセンスで配布されており、READMEはインストール、プロジェクトウィザード、実行構成、ビルド手順に限定されています。サポートの約束やセキュリティ特性など、それ以外のトピックはソースには記載されていません。
商用利用できる?
できます。Apache-2.0 は寛容なライセンスで、著作権表示とライセンス表示を残せば、使用・改変・販売が可能です。
今もメンテナンスされている?
されています。最後のコミットは 1 日前です。
何の言語で書かれている?
主に Java です(GitHub の言語統計による)。

回答はプロジェクトの GitHub データ(最終同期:2026年9月14日)と当サイトの分析に基づくもので、法的助言ではありません。

オープンソース詳細解説

GhidraDev EclipseプラグインについてのREADMEであり、Ghidraフレームワークについてではない

リポジトリの説明はGhidraをソフトウェアリバースエンジニアリングフレームワークとしていますが、このパスにあるREADMEはより狭い範囲を扱っています。GhidraDevについて説明しており、これはEclipseでGhidraスクリプトとモジュールを開発およびデバッグするためのプラグインです。文書はGhidraDev 5.1.0時点で有効であり、将来のリリースで変更される可能性があると述べています。Ghidra自体のインストールや使用方法を探している場合、このREADMEは適切な場所ではありません。Ghidraがすでにインストールされていることを前提とし、Eclipse統合に焦点を当てています。

GhidraDev 最小要件と互換性

GhidraDev 5.1.0にはEclipse 2023-12 4.30以降とGhidra 11.2以降が必要です。変更履歴によると、バージョン4.0.0でJDK 21が必要になり、11.2より前のGhidraとの互換性がなくなりました。古いGhidraDevリリースはGhidra 11.2以降にリンクしようとするとエラーを報告します。Python作業にはPyDev 9.3.0以降がオプションですが、PyDev 10.0.0でJython 2のサポートが廃止されたため、JythonユーザーはPyDev 9.3.0を使い続けるべきと注記されています。Gradleはモジュール拡張機能のエクスポートにのみ必要で、必要なGradleバージョンはリンクされたGhidraリリースによって指定されます。

GhidraDev 3つのインストール方法

GhidraDevは、Eclipse内でローカルアーカイブから手動でインストールするか、公式アップデートサイト https://github.com/NationalSecurityAgency/ghidra-data/raw/main/Eclipse/GhidraDev/latest からインストールするか、Ghidraに自動インストールさせることができます。自動の方法では、Ghidraは外部リンクされたEclipseを起動する前に、GhidraDevをEclipseのdropinsディレクトリに配置します。例えば、GhidraスクリプトマネージャーでEclipseアイコンをクリックした場合です。手動の方法は、ライセンスへの同意と未署名エントリの信頼を含む、標準的なEclipseの新規ソフトウェアインストールの流れに従います。

GhidraDev プロジェクトウィザードと公開される機能

GhidraDevは、新しいGhidraスクリプト、新しいGhidraスクリプトプロジェクト、新しいGhidraモジュールプロジェクト、既存のモジュールソースディレクトリのインポート、モジュール拡張機能のエクスポートのためのウィザードを提供します。スクリプトはGhidraが実行時にコンパイルする単一のJavaファイルとして設計されています。モジュールはアナライザー、プラグイン、ローダー、エクスポーターのようなより大きなコンポーネント向けです。Link GhidraアクションはGhidraインストールを既存のJavaプロジェクトに接続または再リンクし、設定ページではGhidraインストール、スクリプトエディタのポート、シンボルルックアップ設定を管理できます。ほとんどの機能はEclipseのProject ExplorerまたはPackage Explorerの右クリックGhidraメニューからもアクセスできます。

GhidraDev EclipseからGhidraを起動およびデバッグする

GhidraDevは2つの実行構成を追加します。GhidraはGUIを起動し、Ghidra Headlessはヘッドレスモードを起動します。ヘッドレス構成はプログラム引数なしで開始されるため、Ghidraが開くプロジェクトや実行するスクリプトを指定する引数を追加する必要があります。READMEは詳細について<GhidraInstallDir>/support/analyzeHeadlessREADME.htmlを参照するよう指示しています。Ghidraは既存のEclipse Ghidraプロジェクトからのみ起動でき、空のEclipseワークスペースからは起動できません。デバッグはDebug As Ghidraで行い、Eclipseはデバッグパースペクティブに切り替わります。PyDevがインストールされている場合、PyGhidraとPyGhidra Headlessの実行構成も利用可能になります。

GhidraDev ビルド、アップグレード、ライセンス

GhidraDevはGhidraとは独立してバージョン管理され、現在はEclipseからビルドされています。READMEでは、Gradleを使ってEclipseプロジェクトを生成し依存関係をビルドしているが、GhidraDev自体をGradleでビルドするところまでは至っていないと述べています。ソースからビルドするには、gradle prepGhidraDev eclipse -PeclipsePDE を実行し、GhidraDevPluginとGhidraDevFeatureプロジェクトをEclipseにインポートして、デプロイ可能なフィーチャーをエクスポートします。アンインストールはインストール方法によって異なります。手動インストールはEclipseのインストール詳細から行い、dropinsインストールはGhidraDevファイルを削除することで行います。リポジトリはApache-2.0ライセンスで配布されており、ライセンスはその条項に基づいて著作権および特許ライセンスを付与します。サポート、保証、セキュリティ保証については何も述べていません。

最初の確認では、Ghidra本体とEclipseの版を要件に合わせ、空のワークスペースではなく既存のGhidra Eclipseプロジェクトから起動します。GUIとGhidra Headlessでは引数の扱いが異なるため、分析対象、スクリプト、プロジェクトを実行構成に明記します。Pythonを使う場合はPyDevとJythonの互換条件も確認し、GhidraのSecurity Advisoriesを対象版に照合してから共有環境へ置くのが現実的です。

GhidraDevについては、READMEに書かれた入口と生成物を照合し、未記載の保証を機能として数えない判断が必要です。

編集部の結論

GhidraDevはGhidraリポジトリの一部としてApache-2.0ライセンスで配布されており、READMEはインストール、プロジェクトウィザード、実行構成、ビルド手順に限定されています。サポートの約束やセキュリティ特性など、それ以外のトピックはソースには記載されていません。

公式情報源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
コミュニティノート

コミュニティノート