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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ghidrecomp — PythonコマンドラインGhidraデコンパイラ | Kitploit
ツール/GitHubGitHub/clearbluejar/ghidrecomp
静的コード分析 (SAST)脆弱性分析リバースエンジニアリングバイナリ解析
GitHubclearbluejar/ghidrecomp

ghidrecomp

PythonコマンドラインGhidraデコンパイラ

リポジトリを見る
15521178ヶ月前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

Ghidrecomp - コマンドライン Ghidra デコンパイラ

GitHub Workflow Status (with event) PyPI - Downloads

概要

この Python コマンドラインツールは、バイナリのすべての関数を逆コンパイルし、それらを個別の C ファイルとしてディレクトリに書き出します:```mermaid flowchart LR

a(filename ) --> b[ghidrecomp] a2[(Symbol Server)] --> b

b --> e(Ghidra Project Files) b --> output

subgraph output

subgraph decompilations direction LR i(func1.c) h(func2.c) f(funcB.c) end

subgraph callgraphs direction LR j(callgraph1.md) k(callgraph2.md) l(callgraphN.md) end

subgraph bsim-xml direction LR n(sig-md5-bin1.xml) m(sig-md5-bin2.xml) o(sig-md5-binN.xml) end

end

または、`--cppexport` を使用して、単一の `C` ファイルとヘッダーファイルを指定します:```mermaid
flowchart LR

a(filename ) --> b[ghidrecomp]
a2[(Symbol Server)] --> b

b --> e(Ghidra Project Files)

b --> singlefile 


subgraph singlefile
  direction LR
  s1(all_funcs.c)
  s2(all_funcs.h)
end


このツールの主な目的は、逆コンパイル結果を調査・分析に利用することです。このツールは逆コンパイルに Ghidra を使用し、pyghidra 経由で jpype を用いて Ghidra と通信します。

目次

  • Ghidrecomp - コマンドライン Ghidra デコンパイラ
    • 概要
    • 目次
    • 機能
    • 使用方法
    • 出力ファイル構成
    • Windows afd.sys での使用例:
      • コマンドライン
      • 出力
      • 逆コンパイル出力ディレクトリ
    • Docker コンテナでの使用例
      • コマンド(ホスト)
      • /bin/ls に対して docker で実行
        • 出力
      • 逆コンパイル出力ディレクトリ
    • Windows afd.sys コールグラフでの使用例:
      • コマンドライン
      • 出力
      • AfdRestartDgConnect のコーリングコールグラフ出力例:
      • AfdRestartDgConnect のマインドマップ出力例
    • SAST スキャン例
      • 複数のルールファイルを指定したコマンドライン
      • カスタムルールディレクトリを指定したコマンドライン
      • カンマ区切りルールを指定したコマンドライン(後方互換)
      • 出力
      • SAST 出力ファイル
    • BSim シグネチャ生成例
      • コマンドライン
      • 出力
      • 生成されるファイル
    • インストール
      • オプションの SAST 依存関係
      • Windows
      • Linux / Mac
      • Devcontainer / Docker
        • オプション 1 - Devcontainer
        • オプション 2 - Docker

機能

これらの機能はすべて、最終的には Ghidra によって提供されます

  • すべての関数を逆コンパイル(スレッド処理)
    • フォルダへ出力(-o OUTPUT_PATH)
    • 単一の C ファイルとヘッダファイルへ出力(--cppexport)
  • 対応するシンボルサーバーからシンボルを自動ダウンロード(-s SYMBOLS_PATH)
    • https://msdl.microsoft.com/download/symbols/
    • https://chromium-browser-symsrv.commondatastorage.googleapis.com/
    • https://symbols.mozilla.org/
    • https://software.intel.com/sites/downloads/symbols/
    • https://driver-symbols.nvidia.com/
    • https://download.amd.com/dir/bin/
  • バイナリの PDB を指定(--sym-file-path)
  • 正規表現に一致する関数を逆コンパイル対象にフィルタリング(--filter)
  • カスタムデータ型を適用(--gdt)
  • SAST スキャン(--sast)— Semgrep による逆コンパイルされたコードの静的解析
    • 複数のルールファイル/ディレクトリへの対応
    • セキュリティツール統合のための SARIF 出力
    • Ghidra 固有の呼び出し規約の前処理

使用方法```

usage: ghidrecomp [-h] [--cppexport] [--filter FILTERS] [--project-path PROJECT_PATH] [--gdt [GDT]] [-o OUTPUT_PATH] [-v] [--skip-cache] [--sym-file-path SYM_FILE_PATH | -s SYMBOLS_PATH | --skip-symbols] [-t THREAD_COUNT] [--va] [--fa] [--max-ram-percent MAX_RAM_PERCENT] [--print-flags] [--callgraphs] [--callgraph-filter CALLGRAPH_FILTER] [--mdd MAX_DISPLAY_DEPTH] [--max-time-cg-gen MAX_TIME_CG_GEN] [--cg-direction {calling,called,both}] [--bsim] [--bsim-sig-path BSIM_SIG_PATH] [--bsim-template BSIM_TEMPLATE] [--bsim-cat BSIM_CAT] [--sast] [--semgrep-rules SEMGREP_RULES] [--codeql-rules CODEQL_RULES] bin

ghidrecomp - A Command Line Ghidra Decompiler

positional arguments: bin Path to binary used for analysis

options: -h, --help show this help message and exit --cppexport Use Ghidras CppExporter to decompile to single file (default: False) --filter FILTERS Regex match for function name (default: None) --project-path PROJECT_PATH Path to base ghidra projects (default: ghidra_projects) --gdt [GDT] Additional GDT to apply (default: None) -o OUTPUT_PATH, --output-path OUTPUT_PATH Location for all decompilations (default: ghidrecomps) -v, --version show program's version number and exit --skip-cache Skip cached and genearate new decomp and callgraphs. (default: False) --sym-file-path SYM_FILE_PATH Specify single pdb symbol file for bin (default: None) -s SYMBOLS_PATH, --symbols-path SYMBOLS_PATH Path for local symbols directory (default: symbols) --skip-symbols Do not apply symbols (default: False) -t THREAD_COUNT, --thread-count THREAD_COUNT Threads to use for processing. Defaults to cpu count (default: 12) --va Enable verbose analysis (default: False) --fa Force new analysis (even if already analyzed) (default: False)

JVM Options: --max-ram-percent MAX_RAM_PERCENT Set JVM Max Ram % of host RAM (default: 50.0) --print-flags Print JVM flags at start (default: False)

Callgraph Options: --callgraphs Generate callgraph markdown (default: False) --callgraph-filter CALLGRAPH_FILTER Only generate callgraphs for functions matching filter (default: .) --mdd MAX_DISPLAY_DEPTH, --max-display-depth MAX_DISPLAY_DEPTH Max Depth for graph generation (default: None) --max-time-cg-gen MAX_TIME_CG_GEN Max time in seconds to wait for callgraph gen. (default: 5) --cg-direction {calling,called,both} Direction for callgraph. (default: calling)

BSim Options: --bsim Generate BSim function feature vector signatures (default: False) --bsim-sig-path BSIM_SIG_PATH Path to store BSim xml sigs (default: bsim-xmls) --bsim-template BSIM_TEMPLATE BSim database template (default: medium_nosize) --bsim-cat BSIM_CAT BSim category. (type:value) --bsim-cat color:red (default: None)

SAST Options: --sast Run SAST scanning on decompiled code with semgrep and CodeQL (default: False) --semgrep-rules SEMGREP_RULES Path to local semgrep rule file or directory (can be specified multiple times, default: p/c) (default: None) --codeql-rules CODEQL_RULES Comma-separated paths to local CodeQL query directories (placeholder) (default: None)

## 出力ファイルツリー
ツールをダウンロード