プラグイン、拡張機能、スクリプトの違いと選ぶべき手順
プラグイン、拡張機能、スクリプトは同じ意味で使われがちですが、必要なインストール方法は必ずしも同じではありません。スクリプトは通常、Script Manager から実行する Java または Python ファイルです。拡張機能は、Ghidra のインストールにツール、アナライザー、UI などの機能を追加できるパッケージ化されたモジュールです。GhidraDev は拡張機能をビルドしてテストする開発者向けツールであり、一般的なプラグインストアではありません。
関数名の変更、レポートの出力、プログラム内の検索など、一度きりの作業が目的なら、まず Ghidra Script Manager ガイドを確認してください。ダウンロードしたものがリリースノートや互換性の説明を持つパッケージ化された追加機能なら、下記の拡張機能の手順を使います。アプリ内の実行環境ではなくネイティブ CPython として Python を動かしたい場合は、PyGhidra ガイドを参照してください。
Ghidra は、アプリケーションが持つローカルアクセス権限の範囲で第三者コードを読み込めます。ソース、リリース、動作を理解するまでは、正体不明の拡張機能を機密プロジェクト、認証情報、本番マシンから離してください。
| 手元にあるもの | 典型的な用途 | 次に行うこと |
|---|---|---|
| Java または Python スクリプト | 繰り返し行う解析処理 | Script Manager で開いて内容を確認する |
| パッケージ化された拡張機能 | 新しいツール、アナライザー、UI モジュール | リリースを確認し、File > Install Extensions... を使う |
| GhidraDev プロジェクト | 拡張機能の開発または再ビルド | 対応するソースタグと公式の開発手順を使う |
| ソースアーカイブ | プロジェクトのソースを読む、またはビルドする | そのまま実行できるプラグインパッケージとして扱わない |
プラグインの提供元とリリースを確認する
再パッケージされたダウンロードページではなく、拡張機能自身のプロジェクトリポジトリから確認を始めます。所有者、リリースタグ、README、ライセンス、対応する Ghidra のバージョン、Java 要件、OS に関する注意、Issue の履歴を確認してください。リポジトリにはソースコードがあり、Releases ページにはパッケージ化された成果物がある場合があります。これらは別のダウンロードです。
このサイトが現在確認しているのは、2026 年 8 月 18 日公開の Ghidra 12.1.3 と 64 ビット JDK 21 環境です。このバージョンはテストの基準であり、すべての第三者拡張機能がすでに対応しているという意味ではありません。古い Ghidra API を対象とする拡張機能なら、現在のインストールを変更して合わせるのではなく、古い Ghidra のフォルダーを別に保ち、そこでテストします。バージョン履歴や更新時の注意点は Ghidra リリースガイドを参照してください。

Ghidra 拡張機能を手順どおりにインストールする
最初のテストには、書き込み可能なクリーンな Ghidra インストールを使います。拡張機能を適当なフォルダーに展開して、Ghidra が自動的に見つけると考えないでください。パッケージに前提条件やバージョン固有の手順がある場合は README に従い、そのパッケージが対応しているときは Ghidra の拡張機能インストール機能を使います。
- 1
テストプロジェクトをバックアップする
何かをインストールする前に Ghidra を閉じ、プロジェクトデータをコピーします。最初の起動には使い捨てのサンプル、または解析が許可されたトレーニング用バイナリを使ってください。
Project.gpr + Project.rep/ - 2
パッケージを確認する
リポジトリ、リリースタグ、公開されている場合はチェックサム、対応する Ghidra のバージョン、Java 要件、そしてファイルがソースコード ZIP ではなくパッケージ化された拡張機能であることを確認します。
README + Releases + 互換性の説明 - 3
拡張機能インストーラーを開く
確認済みの Ghidra を起動し、File > Install Extensions... を選び、ドキュメントに記載された形式のパッケージを指定します。互換性のないアーカイブを使えるように見せるため、ファイル名を変更しないでください。
File > Install Extensions... - 4
再起動して確認する
求められた場合は Ghidra を再起動します。使い捨てのプロジェクトで新しいツール、アナライザー、メニュー、プロバイダーを確認し、期待した項目がなければアプリケーションログを調べます。
再起動 > テストプロジェクトを開く
- 互換性を比較するときは、古いアプリケーションフォルダーにインストールしないでください。
- Ghidra プラグインをインストールすると書かれているだけの第三者インストーラーを実行しないでください。
- 再現や削除ができるように、元のアーカイブとリリース URL を保管してください。
拡張機能を有効化し、小さな処理を一つ試す
ファイルのコピーに成功しただけでは、拡張機能が使えるとは限りません。追加されたツールやアナライザーを開き、意味のある最小の処理を実行し、Listing、CodeBrowser、Decompiler など Ghidra 標準のビューと結果を比較します。Ghidra のバージョン、JDK のビルド、拡張機能のリリース、入力のハッシュ、結果に影響するオプションを記録してください。
スクリプトの実行と拡張機能のテストは分けて行います。Ghidra 検索ガイドと Decompiler ガイドでは、自動処理の出力だけを信頼せず、標準ビューで結果を確認する方法を説明しています。解析するファイルは、確認する権限があるものに限ってください。

Ghidra の更新後にプラグインが動かなくなる理由
コンパイル済みの拡張機能は、Ghidra API、クラス名、ツールサービス、ネイティブライブラリ、特定の Java の挙動に依存することがあります。新しい Ghidra リリースでは、拡張機能の見た目の機能が単純でも、こうした境界の一つが変わる可能性があります。更新前に拡張機能のリリースノートを読み、プロジェクトが固定バージョンに依存する場合は別のインストールを保持してください。
下の図は編集用の概念イラストであり、Ghidra のスクリーンショットではありません。重要なのは周囲の説明にある順序です。提供元を確認し、次にインストールし、最後に互換性をテストします。

Ghidra プラグインと拡張機能のよくある問題を解決する
拡張機能が失敗したら、エラー全文を保存し、変更を一つずつ最小限に戻します。メッセージを消すためにプロジェクトデータを削除したり、現在の Ghidra を不明なビルドに置き換えたりしないでください。JDK や起動の問題は インストールガイドで扱い、拡張機能固有の問題には次の確認表を使います。
- リリースページから Ghidra のバージョンを記録し、
java -versionで Java の出力を保存します。 - 一度に一つの拡張機能だけをテストし、失敗の原因を明確にします。
- 正体を確認できないパッケージは削除または隔離し、機密性のあるワークステーションで有効にし続けないでください。
| 症状 | 考えられる原因 | 安全な対応 |
|---|---|---|
| パッケージが一覧に表示されない | アーカイブ形式、入れ子のフォルダー、非対応リリースの問題 | README を読み直し、公開された拡張機能アセットを選ぶ |
| インストールしたのにツールがない | 再起動、ツール設定、プロバイダーの表示設定の問題 | Ghidra を再起動し、ツール設定を調べ、新しいプロジェクトで試す |
| NoClassDefFoundError または API エラー | 別の Ghidra API または Java 環境でコンパイルされている | 互換性のあるリリースを使うか、対応するソースタグから再ビルドする |
| Ghidra が不安定になる | 拡張機能の不具合、ネイティブヘルパー、競合するモジュール | Ghidra を閉じ、クリーンなインストールを戻し、正確なバージョンの組み合わせを報告する |
| 古いリリースでだけ動く | 拡張機能が現在の API にまだ対応していない | 古いバージョンを隔離し、固定したツールチェーンを記録する |
GhidraDev は拡張機能を作るためのもので、プラグインストアではない
GhidraDev は Eclipse ベースの環境で Ghidra モジュールを作成または再ビルドする公式の開発手順です。第三者拡張機能に互換性のあるパッケージがない場合、ソースコードの変更を確認したい場合、またはチーム内で記録した Ghidra タグに対してビルドする場合に役立ちます。公開済みパッケージをインストールするより手間がかかるため、初心者向けのプラグインマネージャーとして説明しないでください。
自動化だけが目的なら、開発環境を追加する前に PyGhidra の手順と 初心者向けチュートリアルを比較してください。再現可能な拡張機能ビルドでは、ソースコミット、Ghidra タグ、JDK、Gradle または Eclipse の設定、OS、生成アーティファクトのハッシュを記録します。
第三者プラグインの一覧はプロジェクトを見つける手がかりになりますが、インストールと互換性の証拠はプロジェクトリポジトリとリリースノートです。このページは特定の拡張機能を推奨しません。
Ghidra プラグインと拡張機能に関する FAQ
Ghidra プラグインはスクリプトと同じですか?
いいえ。Java または Python のスクリプトは通常、特定の作業のために Script Manager から実行します。パッケージ化された拡張機能はツール、アナライザー、UI を追加でき、別のインストールと互換性のルールに従います。
Ghidra 拡張機能をインストールするには?
まずリポジトリとリリースを確認し、テストプロジェクトをバックアップします。確認済みの Ghidra を起動し、パッケージの説明が対応している場合は File > Install Extensions... を使います。再起動して、権限のある使い捨てプロジェクトで新機能をテストしてください。
GitHub の ZIP なら何でも Ghidra プラグインとしてインストールできますか?
いいえ。GitHub リポジトリにはソースアーカイブ、リリースアセット、サンプル、無関係なファイルが含まれることがあります。プロジェクトが説明しているパッケージを使い、Ghidra と Java の要件を確認し、互換性のないアーカイブの名前を変更しないでください。
Ghidra を更新したら拡張機能が動かなくなったのはなぜですか?
拡張機能が、変更された Ghidra API、サービス、ネイティブヘルパー、Java 環境に依存している可能性があります。互換性のあるリリースを探すか、新しいソースタグに対して再ビルドし、テストが終わるまで古いインストールを分離して保持してください。
このページは特定の第三者プラグインを推奨しますか?
いいえ。ディレクトリの一覧を推奨とみなさずに、プラグインを評価してテストする方法を説明しています。選ぶ拡張機能については、プロジェクトリポジトリ、リリースノート、ライセンス、互換性の証拠を確認してください。
確認済みの Ghidra インストールから始める
現在の公式 Ghidra 12.1.3 ZIP をダウンロードし、テストプロジェクトを分けて保管し、確認済みの拡張機能を一つずつ追加してください。