Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
Ghidrathon — GhidraにPython 3スクリプティングを追加するためのFLAREチームのオープンソース拡張機能。 | Kitploit
ツール/GitHubGitHub/mandiant/ghidrathon
リバースエンジニアリングスクリプトと自動化マルウェア分析バイナリ解析Archived
GitHubmandiant/ghidrathon

Ghidrathon

GhidraにPython 3スクリプティングを追加するためのFLAREチームのオープンソース拡張機能。

リポジトリを見る
788652年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

Ghidrathon

GitHub Release GitHub Downloads (all assets, latest release) CI License

Ghidrathon は、Ghidra に Python 3 スクリプト機能を追加する Ghidra 拡張機能です。なぜ必要なのでしょうか? Ghidra はネイティブで Java と Jython によるスクリプトをサポートしています。しかし、capa、Unicorn Engine、angr などの多くのオープンソース解析ツールは Python 3 で書かれているため、これらのツールを Ghidra で使用することは困難であり、場合によっては不可能です。さらに、セキュリティコミュニティは IDA Pro や Binary Ninja などの他の SRE フレームワーク向けに優れたプラグインを数多くリリースしていますが、これらのプラグインの多くも Python 3 を使用しているため、Ghidra に移植するのは困難です。Ghidrathon は、Ghidra 内で既存の Python 3 ツールを使用したり、新しい Python 3 ツールを開発したり、Ghidra の UI と緊密に統合する形でモダンな Python を使って Ghidra をスクリプト化したりするのに役立ちます。これは、Jython を介して実装された既存の Python 2.7 拡張機能を置き換えるものです。これには、対話型インタプリタウィンドウ、Ghidra スクリプトマネージャとの統合、Ghidra ヘッドレスモードでのスクリプト実行が含まれます。

example

Ghidra 向け Python 3 スクリプトの作成方法の詳細については、こちら の Ghidra Python 3 スクリプトの例を参照してください。

チェックしてみてください:

  • 最初の Ghidrathon ブログ記事 の概要

Ghidrathon のインストール

要件

以下の手順で Ghidrathon を Ghidra 環境にインストールします:

  1. 最新の Ghidrathon リリース をダウンロードして解凍します
  2. Ghidrathon で使用したい Python インタプリタを使用して、次のコマンドを実行します (requirements.txt と ghidrathon_configure.py はリリースに含まれています):
root@kitploit:~
$ python -m pip install -r requirements.txt
$ python ghidrathon_configure.py <absolute_path_to_ghidra_install_dir>

注: ghidrathon_configure.py はデフォルトで <absolute_path_to_ghidra_install_dir> に ghidrathon.save というファイルを書き込もうとします。ghidrathon_configure.py と Ghidra を実行する前に、GHIDRATHON_SAVE_PATH 環境変数を設定することで、このファイルの書き込み先パスを指定できます:

root@kitploit:~
$ export GHIDRATHON_SAVE_PATH="/path/to/custom/dir" # Linux/MacOS
$ set GHIDRATHON_SAVE_PATH="C:\path\to\custom\dir"  # Windows

注: JAVA_HOME という環境変数を設定するよう求められる場合があります。これは、Ghidra インストール用に構成した JDK の絶対パスを参照する必要があります。

  1. Ghidrathon 拡張機能 (.zip) を Ghidra にインストールします:
    • Ghidra の UI を使用する場合:
      • File > Install Extensions... に移動します
      • 緑色の + ボタンをクリックします
      • Ghidrathon 拡張機能 (.zip) に移動します
      • Ok をクリックします
      • オプション
        • Extension Version Mismatch ウィンドウが表示された場合は、Install Anyway を選択します
    • 制限された環境を使用する場合:
      • Ghidrathon 拡張機能 (.zip) を <absolute_path_to_ghidra_install_dir>\Ghidra\Extensions に解凍します

Python インタプリタの切り替え

新しい Python インタプリタを使用して手順 2 を実行することで、Ghidrathon を別の Python インタプリタに切り替えることができます。

Python 仮想環境の使用

仮想環境から手順 2 を実行することで、Ghidrathon で Python 仮想環境を使用できます。別の仮想環境に切り替えるには、新しい仮想環境から手順 2 を実行するだけです。

Ghidrathon の使用

Python 3 インタプリタウィンドウ

インタプリタウィンドウは、Python 3 インタプリタへの対話的なアクセスを提供します。Window をクリックして Ghidrathon を選択すると、インタプリタウィンドウが開きます。

example

Ghidra スクリプトマネージャとの統合

Ghidrathon は Ghidra スクリプトマネージャと直接統合されており、Ghidra 内で Python 3 スクリプトの作成、編集、実行が可能です。Create New Script をクリックして Python 3 を選択すると、新しい Python 3 スクリプトを作成できます。Run Script または Run Editor's Script をクリックして Python 3 スクリプトを実行し、Ghidra コンソールウィンドウでスクリプトの出力を確認します。

example

Ghidra ヘッドレスモード

Ghidrathon は、Ghidra ヘッドレスモードで Python 3 スクリプトを実行するのに役立ちます。Ghidra インストールフォルダにある analyzeHeadless スクリプトを実行し、Python 3 スクリプトを指定して、コンソールウィンドウでスクリプトの出力を確認します。

root@kitploit:~
$ analyzeHeadless C:\Users\wampus example -process example.o -postScript ghidrathon_example.py
[...]
INFO  SCRIPT: C:\Users\wampus\.ghidra\.ghidra_10.0.3_PUBLIC\Extensions\Ghidrathon-master\ghidra_scripts\ghidrathon_example.py (HeadlessAnalyzer)
Function _init @ 0x101000: 3 blocks, 8 instructions
Function FUN_00101020 @ 0x101020: 1 blocks, 2 instructions
Function __cxa_finalize @ 0x101040: 1 blocks, 2 instructions
Function printf @ 0x101050: 1 blocks, 2 instructions
Function _start @ 0x101060: 1 blocks, 13 instructions
Function deregister_tm_clones @ 0x101090: 4 blocks, 9 instructions
Function register_tm_clones @ 0x1010c0: 4 blocks, 14 instructions
Function __do_global_dtors_aux @ 0x101100: 5 blocks, 14 instructions
[...]
INFO  REPORT: Post-analysis succeeded for file: /example.o (HeadlessAnalyzer)
INFO  REPORT: Save succeeded for processed file: /example.o (HeadlessAnalyzer)

Ghidra をヘッドレスモードで実行する方法の詳細については、<absolute_path_to_ghidra_install_dir>/support/analyzeHeadlessREADME.html を参照してください。

サードパーティの Python モジュール

Ghidrathon を開発した最大の動機の 1 つは、Ghidra でサードパーティの Python 3 モジュールを使用できるようにすることでした。モジュールをインストールすれば、通常の Python 環境と同じように Ghidra 内で使用を開始できます。これは、以前にインストールしたモジュールにも適用されます。たとえば、Unicorn をインストールして、Ghidra 内で ARM コードをエミュレートするために使用できます。

example

Ghidra Python 3 スクリプトの作成

Ghidrathon は、Ghidra の Java および Jython 拡張機能と非常によく似たスクリプト体験を提供します。これには、currentProgram などの GhidraScript 状態インスタンス変数や、findBytes などの FlatProgramAPI メソッドを Python の builtins スコープで利用可能にすることが含まれます。つまり、コードによってインポートされた すべての Python モジュールがこれらの変数とメソッドにアクセスできます。Ghidrathon は、GhidraScript 状態変数を直接アクセスではなく Python 関数呼び出しとして公開する点で、Ghidra の Java および Jython 拡張機能とは少し異なります。たとえば、Python 3 コードは currentProgram にアクセスする際、関数呼び出し currentProgram() を使用する必要があります。この小さな変更により、実行中に Python 3 コードに正しい GhidraScript 状態変数が提供されることが保証されます。Ghidra 向け Python 3 スクリプトの作成方法の詳細については、こちら の Ghidra Python 3 スクリプトの例を参照してください。

どのように機能するのか?

Ghidrathon は、オープンソースプロジェクト Jep を使用して、ローカルの Python インストールを Ghidra にリンクします。基本的に、ローカルの Python インタプリタが Ghidra 内で実行され、すべての Python パッケージ および 標準の Ghidra スクリプト API にアクセスできます。Ghidrathon は Python 仮想環境でも動作し、Ghidra でのみ使用したいパッケージを作成、分離、管理するのに役立ちます。Ghidrathon はローカルの Python インストールを使用するため、Ghidra 内で実行される Python のバージョンと環境を制御できます。

Jep が Java に Python を埋め込む仕組みの詳細については、こちら のドキュメントを参照してください。

考慮事項

Ghidrathon は、JNI (Java Native Interface) を使用して JVM に Python を埋め込むオープンソースライブラリ Jep を使用します。Ghidra 開発者は、こちら で説明されている理由により、Ghidra での JNI の使用を推奨していません。

ツールをダウンロード
ツールバージョンソース
Ghidrathon>= 4.0.0https://github.com/mandiant/Ghidrathon/releases
Python>= 3.8.0https://www.python.org/downloads
Jep== 4.2.0https://pypi.org/project/jep
Ghidra>= 10.3.2https://github.com/NationalSecurityAgency/ghidra/releases
Java>= 17.0.0https://adoptium.net/temurin/releases