Ghidra Download非公式ダウンロード・インストールガイド
日本語
拡張機能を理解する

Ghidra プラグインと拡張機能:インストール、設定、有効化、問題解決

Ghidra プラグインを安全に使うには、すべての拡張機能を実行可能なソフトウェアとして扱います。リポジトリとリリースを確認し、使用中の Ghidra との互換性を調べ、Ghidra の拡張機能ワークフローでインストールし、使い捨てのテストプロジェクトで動作を確認してください。このガイドでは現在の Ghidra 12.1.3 と JDK 21 を基準にしながら、スクリプト、拡張機能、開発者向けツールを区別します。

Ghidra 公式ドキュメントを開く
主な目的プラグインを探してインストールする
現在の基準Ghidra 12.1.3 + JDK 21
基本方針確認、インストール、テスト
リスクの境界第三者コード
まず確認

プラグイン、拡張機能、スクリプトの違いと選ぶべき手順

プラグイン、拡張機能、スクリプトは同じ意味で使われがちですが、必要なインストール方法は必ずしも同じではありません。スクリプトは通常、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 拡張機能を手順どおりにインストールする

最初のテストには、書き込み可能なクリーンな Ghidra インストールを使います。拡張機能を適当なフォルダーに展開して、Ghidra が自動的に見つけると考えないでください。パッケージに前提条件やバージョン固有の手順がある場合は README に従い、そのパッケージが対応しているときは Ghidra の拡張機能インストール機能を使います。

  1. 1

    テストプロジェクトをバックアップする

    何かをインストールする前に Ghidra を閉じ、プロジェクトデータをコピーします。最初の起動には使い捨てのサンプル、または解析が許可されたトレーニング用バイナリを使ってください。

    Project.gpr + Project.rep/
  2. 2

    パッケージを確認する

    リポジトリ、リリースタグ、公開されている場合はチェックサム、対応する Ghidra のバージョン、Java 要件、そしてファイルがソースコード ZIP ではなくパッケージ化された拡張機能であることを確認します。

    README + Releases + 互換性の説明
  3. 3

    拡張機能インストーラーを開く

    確認済みの Ghidra を起動し、File > Install Extensions... を選び、ドキュメントに記載された形式のパッケージを指定します。互換性のないアーカイブを使えるように見せるため、ファイル名を変更しないでください。

    File > Install Extensions...
  4. 4

    再起動して確認する

    求められた場合は Ghidra を再起動します。使い捨てのプロジェクトで新しいツール、アナライザー、メニュー、プロバイダーを確認し、期待した項目がなければアプリケーションログを調べます。

    再起動 > テストプロジェクトを開く
  • 互換性を比較するときは、古いアプリケーションフォルダーにインストールしないでください。
  • Ghidra プラグインをインストールすると書かれているだけの第三者インストーラーを実行しないでください。
  • 再現や削除ができるように、元のアーカイブとリリース URL を保管してください。
テスト

拡張機能を有効化し、小さな処理を一つ試す

ファイルのコピーに成功しただけでは、拡張機能が使えるとは限りません。追加されたツールやアナライザーを開き、意味のある最小の処理を実行し、Listing、CodeBrowser、Decompiler など Ghidra 標準のビューと結果を比較します。Ghidra のバージョン、JDK のビルド、拡張機能のリリース、入力のハッシュ、結果に影響するオプションを記録してください。

スクリプトの実行と拡張機能のテストは分けて行います。Ghidra 検索ガイドDecompiler ガイドでは、自動処理の出力だけを信頼せず、標準ビューで結果を確認する方法を説明しています。解析するファイルは、確認する権限があるものに限ってください。

パッケージ化された拡張機能とスクリプトを区別するための Ghidra Script Manager のワークフロー
Script Manager はアプリ内スクリプト用です。パッケージ化された拡張機能には別のインストールと互換性の手順があります。公式 Ghidra ワークフロー画像。
互換性

Ghidra の更新後にプラグインが動かなくなる理由

コンパイル済みの拡張機能は、Ghidra API、クラス名、ツールサービス、ネイティブライブラリ、特定の Java の挙動に依存することがあります。新しい Ghidra リリースでは、拡張機能の見た目の機能が単純でも、こうした境界の一つが変わる可能性があります。更新前に拡張機能のリリースノートを読み、プロジェクトが固定バージョンに依存する場合は別のインストールを保持してください。

下の図は編集用の概念イラストであり、Ghidra のスクリーンショットではありません。重要なのは周囲の説明にある順序です。提供元を確認し、次にインストールし、最後に互換性をテストします。

プラグインの提供元を確認し、拡張機能をインストールし、互換性を確認する流れを示す編集用イラスト
編集用の概念イラスト:提供元を確認し、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 をダウンロードし、テストプロジェクトを分けて保管し、確認済みの拡張機能を一つずつ追加してください。