# ghidrecomp 命令行 Ghidra 批量反编译工具

> 通过 pyghidra 驱动 Ghidra 的 Python 命令行反编译工具：把二进制中的所有函数分别反编译为独立的 C 文件，或借助 Ghidra 的 C++ 导出器生成一个 C 文件和头文件，并保留 Ghidra 项目以便后续运行复用分析结果。可按正则筛选函数，从本地文件或 Microsoft、Chromium、Mozilla、Intel、NVIDIA、AMD 符号服务器应用 PDB 符号，加载额外的 GDT 数据类型库，输出 Mermaid 调用图 Markdown，生成 BSim 函数签名，并用 Semgrep 规则扫描反编译代码、输出 SARIF 报告。

- 类型：工具
- 目标：二进制
- 类别：原生分析工具
- 关联：基础工具
- 来源复核于：2026-10-27
- 收录于：2026-11-03
- 原始资源：<https://github.com/clearbluejar/ghidrecomp>
- 一手来源：<https://github.com/clearbluejar/ghidrecomp/blob/7a82556b052268a53c734a769bd14eeabc1a4888/README.md>
- 目录页面：<https://awesomerea.org/zh/resources/ghidrecomp/>
- 记录 JSON：<https://awesomerea.org/resources/ghidrecomp/record.json>
- 英文版：[English](https://awesomerea.org/resources/ghidrecomp/index.md)

## 使用条件与局限

- 审阅时最新版本为 v0.5.9，于 2026-01-06 发布到 PyPI 和 GitHub；所审阅的 main 分支提交即该标签。setup.cfg 要求 Python 3.10+ 和 pyghidra 2.2.1+，并将项目标为 alpha 阶段；CodeQL 选项只是占位，运行时仅提示即将推出。
- 需要另行安装 Ghidra 及其所需的 Java 运行环境，并通过 GHIDRA_INSTALL_DIR 指定位置。Dockerfile 和 devcontainer 基于作者的 ghidra-python 镜像，并在 Ghidra 11 下固定 pyghidra 2.2.1；CI 在该镜像中针对最新版 Ghidra 以及 11.3、11.3.2 和 11.4.2 运行 pytest。SAST 扫描需要 Semgrep，可通过 sast 可选依赖安装。
- 待反编译的二进制须由分析者自备；除非设置 --skip-symbols，符号查询会访问所列的公共符号服务器。测试数据附带 tests/data/afd.sys.10.0.22621.1415（一个 Microsoft Windows 驱动版本，README 示例也使用它）、一个 AArch64 ls 二进制和 ntddk_64.gdt 数据类型库；这些文件遵循各自发布者的条款。
- README 将输出定位为用于研究和分析的反编译结果，未声称可重新编译；测试检查的是函数数量、调用图、应用 GDT 后的一个函数签名、BSim 和 SAST 输出。采用 GPL-3.0（LICENSE）；Ghidra 和 Semgrep 各自保留其许可证。

## 一手来源

1. <https://github.com/clearbluejar/ghidrecomp/blob/7a82556b052268a53c734a769bd14eeabc1a4888/README.md>
2. <https://github.com/clearbluejar/ghidrecomp/blob/7a82556b052268a53c734a769bd14eeabc1a4888/setup.cfg>
3. <https://github.com/clearbluejar/ghidrecomp/blob/7a82556b052268a53c734a769bd14eeabc1a4888/ghidrecomp/sast.py>
4. <https://github.com/clearbluejar/ghidrecomp/blob/7a82556b052268a53c734a769bd14eeabc1a4888/Dockerfile>
5. <https://github.com/clearbluejar/ghidrecomp/blob/7a82556b052268a53c734a769bd14eeabc1a4888/.github/workflows/pytest-devcontainer-all.yml>
6. <https://github.com/clearbluejar/ghidrecomp/tree/7a82556b052268a53c734a769bd14eeabc1a4888/tests>
7. <https://github.com/clearbluejar/ghidrecomp/blob/7a82556b052268a53c734a769bd14eeabc1a4888/LICENSE>
8. <https://github.com/clearbluejar/ghidrecomp/releases/tag/v0.5.9>
9. <https://pypi.org/project/ghidrecomp/0.5.9/>

## 同分区更多条目：原生二进制

- [Vivisect 二进制分析与调试框架](https://awesomerea.org/zh/resources/vivisect/index.md) · 工具
- [r2pipe radare2 多语言脚本接口](https://awesomerea.org/zh/resources/r2pipe/index.md) · 工具
- [GREASE 欠约束符号执行二进制分析工具](https://awesomerea.org/zh/resources/grease/index.md) · 工具
- [PLASMA 交互式反汇编器](https://awesomerea.org/zh/resources/plasma-disassembler/index.md) · 工具
- [mobdevim iOS 设备命令行工具](https://awesomerea.org/zh/resources/mobdevim/index.md) · 工具
- [XPEViewer PE 文件查看与编辑工具](https://awesomerea.org/zh/resources/xpeviewer/index.md) · 工具

## 关于此条目

说明已依据一手来源复核。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
