Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
SuperGhidra — 高性能Ghidraアーキテクチャ&GPUアクセラレーションスイート:LZ4/Zstd B-Treeコーデック、永続ロックフリーデーモン、WGPU ARM64スキャナー、Z3 SMT証明器、ニューラルデコンパイラ | Kitploit
ツール/GitHubGitHub/yuatemycat/superghidra
Androidセキュリティ静的分析脆弱性分析動的コード分析 (DAST)リバースエンジニアリングファジングマルウェア分析ユーティリティとフレームワークバイナリ解析AI支援リバースエンジニアリングバイナリエクスプロイト
1461日前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
GitHub
yuatemycat/superghidra

SuperGhidra

高性能Ghidraアーキテクチャ&GPUアクセラレーションスイート:LZ4/Zstd B-Treeコーデック、永続ロックフリーデーモン、WGPU ARM64スキャナー、Z3 SMT証明器、ニューラルデコンパイラ

リポジトリを見るウェブサイト

SuperGhidra

License: Apache-2.0 PyPI version Python 3.10+ CI

Ghidra をより高速にスクリプト化するための Python ツール群に加え、標準では提供されないいくつかの解析機能を備えています。MFC/C++ クラスの復元、Serialize() レイアウトのトレース、バージョン間の関数マッチング、そして P-code 用の Z3 等価性チェッカーです。

なぜ必要か

Ghidra の解析は優れていますが、スクリプトから操作すると遅くなります。ヘッドレス実行のたびに JVM の起動に 5〜15 秒かかります。プロジェクトロックがあるため、2 つ目のプロセスは読み取りできません。20 MB の ARM64 .text セクションを走査したり、2 つのビルド間で 45,000 個の関数をマッチングしたりするようなバルク処理は、単一の CPU スレッドで実行されます。

SuperGhidra は、読み取り専用の Ghidra プロジェクトを 1 つバックグラウンドデーモンにロードしたままにし、その回答をキャッシュします。バルク処理はプレーンな Python、NumPy、または GPU コンピュートシェーダーに移されます。フォーマット処理やクラス復元の作業の多くは、Ghidra をまったく必要としません。

収録内容

パッケージ機能
core127.0.0.1:5073 上のデーモンと SQLite キャッシュ。リネームとコメントは JSON オーバーレイに書き込まれ、.rep には決して書き込まれません。リソースガバナー(eco / balanced / turbo / auto)と共有メモリ IPC も含みます。
formatsELF / PE / Mach-O ローダー、MSVC RTTI と MFC CRuntimeClass の復元、Serialize() トレース、CArchive デコーダー、DWARF 5 / Breakpad / map エクスポート。これらはいずれも Ghidra を必要としません。
liftersARM64 → P-code リフター(整数サブセット)、x86 および ARM/Thumb デコーダー、2 つのスニペットが等価であることを証明するか UNKNOWN を返す Z3 チェッカー。
diffCFG 特徴ベクトルを用いてバージョン間で関数をマッチングし、オフセットが移動した構造体フィールドを特定してアクセスを書き換えます。
accelerationARM64 を走査して ADRP+ADD/LDR ペアと関数プロローグを検出する WGPU シェーダー。SIMD CPU フォールバック付き。
storageGhidra の 16 KB バッファページ用の LZ4 / Zstd コーデック、およびスタンドアロンの Java BufferFile コーデック。
integrationsAPK ↔ JNI クロスリファレンサー、デバイス許可リスト付きの Android エミュレータメモリリーダー、LLM 命名パイプライン。

各パッケージには superghidra/ 配下にそれぞれの README があります。

これまでの結果

すべてのベンチマークは物理ハードウェア(Intel Core i9-12950HX、64 GB DDR5、NVIDIA RTX A5500 Laptop GPU)およびマルチプラットフォーム CI マトリックス上で測定されています。完全な実測データとログは docs/benchmarks/ にあります。

ハードウェア & スループットマトリックス

ワークロード / ベンチマーク入力サイズ / ターゲットエンジン / バックエンド実測時間実測スループット / 結果ステータス
ARM64 ADRP + ADD/LDR スイープ4.0 MB ARM64 ブロック(1,048,576 命令)NumPy SIMD7.28 ms143.95 M 命令/s1,049 ペアを特定
ARM64 関数シーダー4.0 MB ARM64 ブロック(1,048,576 命令)NumPy SIMD8.31 ms126.19 M 命令/s1,049 プロローグを特定
大規模 GPU ADRP スイープ20.0 MB ARM64 ブロック(5,242,880 命令)WGPU DirectX 1241.20 ms127.25 M 命令/sCPU とビット完全一致
バッファファイル圧縮(LZ4)合成 16 KB ページ 1,000 個(16.0 MB)LZ4 block36.12 ms442.9 MB/s(4.84 倍の圧縮率)ディスク使用量 79.32% 削減
バッファファイル圧縮(Zstd)合成 16 KB ページ 1,000 個(16.0 MB)Zstd レベル 377.48 ms206.5 MB/s(7.39 倍の圧縮率)ディスク使用量 86.47% 削減
逆コンパイルクエリキャッシュ稼働中の Ghidra デーモン RPCSQLite L2 キャッシュ< 0.01 ms> 100,000 リクエスト/sインメモリオーバーレイ一致
SHM チャネル IPC ラウンドトリップ64 KB メモリマップドリングバッファWindows SHM IPC5.12 µs195,300 メッセージ/sゼロコピー共有メモリ

逆コンパイラ合格率: HumanEval-Decompile(評価済み関数 1,296 個)

gcc -O0 -lm で評価し、最適化レベル O0~O3 にわたって検証しています。関数はクリーンにコンパイルされ、テストスイートに合格する必要があります:

逆コンパイラパイプラインコンパイル可能な合格数合格率 (%)生の Ghidra との相対差分IDA Pro との相対差分
Stock NSA Ghidra107 / 1,2968.26%ベースライン-8.64%
Commercial IDA Pro219 / 1,29616.90%+8.64%ベースライン
SuperGhidra Compilable Filter294 / 1,29622.69%+14.43%+5.79%
  • 重複: 170 個の関数が IDA Pro と SuperGhidra の両方で合格;124 個の関数は IDA Pro が失敗したものの SuperGhidra で合格。
  • リファインメントのリグレッション: 全 1,296 個の関数にわたってリグレッションは 0 件。

デュアル OS テストマトリックス (GitHub Actions CI)

全コミットで 6 ジョブのマトリックスが完全に合格 (Run #39691442336):

オペレーティングシステムPython 3.10Python 3.11Python 3.12Pytest テスト数合格率
Ubuntu Linux (ubuntu-latest)32s26s25s626 collected (572 passed, 42 skipped, 11 deselected)100%
Windows Server (windows-latest)1m 25s1m 06s53s626 collected (583 passed, 32 skipped, 11 deselected)100%

詳細なログと測定方法は docs/benchmarks/EMPIRICAL_TEST_BENCHMARK_MATRIX.md に記載されています。

インストール

PyPI から:

pip install superghidra

任意のアクセラレーションおよび統合の追加機能:

pip install "superghidra[all]"       # all optional backends
pip install "superghidra[smt]"       # Z3 P-code equivalence checker
pip install "superghidra[gpu]"       # WGPU compute shaders (ADRP/prologue sweeps)
pip install "superghidra[storage]"   # LZ4 & Zstandard 16 KB page compression
pip install "superghidra[ghidra]"    # PyGhidra bridge & JVM headless bindings
pip install "superghidra[frida]"     # Live emulator runtime inspection

ソースから(開発版):

git clone https://github.com/yuatemycat/SuperGhidra
cd SuperGhidra
pip install -e ".[all]"
python -m pytest -q

統合CLI:

SuperGhidraには、統合されたスタンドアロンのコマンドライン実行ファイルsuperghidraが付属しています:

# Display version and hardware acceleration telemetry
superghidra version

# Staged P-code decompiler (MBA simplification, opaque branch pruning, goto-free C)
superghidra decompile target.dll --rva 0x140001000 --arch x86_64 -o decompiled.c

# Import IDA Pro .til type library and dump schema catalog
superghidra til-import mssdk64.til -o catalog.json

# Match binary bytes against IDA FLIRT signature database
superghidra flirt-match vc32rtf.sig target.exe --rva 0x1000

# Recover MSVC / MFC C++ class hierarchies, RTTI structures, and virtual call tables
superghidra rtti-recover app.dll -o classes.json

# Filter raw decompiler output into clean, compilable C
superghidra filter raw_decompile.c -o clean.c

Windows バイナリを検査する(Ghidra は不要):

python -m superghidra.formats.binary_loader app.dll          # sections, imports, exports
python -m superghidra.formats.msvc_class_recovery app.dll    # RTTI + MFC classes
python -m superghidra.formats.serialize_trace app.dll CMyDoc # Serialize() field layout

Python から:

from superghidra.formats.binary_loader import load_binary
from superghidra.formats.msvc_class_recovery import recover_classes
import superghidra as sg

img = load_binary("app.dll")
print(img.format, img.arch, len(img.sections))

report = recover_classes("app.dll")
print(len(report.mfc_classes), "MFC classes")

# Lift one ARM64 instruction and check it against itself with Z3
ops = sg.ARM64PcodeLifter().lift_instruction(0x1000, 0x91008041)  # add x1, x2, #0x20
print(sg.SMTPcodeVerifier().verify_equivalence(ops, ops).equivalent)

デーモンを介して Ghidra プロジェクトをクエリする(JDK 21、Ghidra 11+、pyghidra が必要):

export GHIDRA_INSTALL_DIR=/path/to/ghidra
python ghidra_oracle.py --project-dir ~/re/proj --project-name game --program-name libgame.so status
python ghidra_oracle.py decompile 0x00CF2D84   # first call boots Ghidra, later calls hit the cache
python ghidra_oracle.py rename 0x00CF2D84 World_tick
python ghidra_oracle.py mode eco               # throttle CPU use
python ghidra_oracle.py stop

python ghidra_oracle.py --help を実行すると、すべてのコマンドが一覧表示されます。

設定は環境変数から読み込まれ、特定のマシンに依存するものはありません:

変数用途
GHIDRA_INSTALL_DIR, JAVA_HOMEGhidra と JDK の場所 (デーモン、ヘッドレス実行、Java コーデックのビルド)
SUPERGHIDRA_PROJECTSデーモンのデフォルトプロジェクト: ; で区切られた dir,name[,program] エントリ
SUPERGHIDRA_MSVC_ROOTポータブル MSVC フォルダ。gcc/clang が PATH にない場合に使用
SUPERGHIDRA_TEST_ARM64_ELF, SUPERGHIDRA_TEST_SWDM, SUPERGHIDRA_TEST_SW_ROOT統合テスト用のオプションの実バイナリ / SOLIDWORKS インストール。未設定の場合、これらのテストはスキップされます。

MCP

ツールをダウンロード