# Ghidra Ninja Ghidra 脚本合集

> Thomas Roth（Ghidra Ninja）编写的 Ghidra Python 脚本合集，脚本会出现在 Script Manager 的 Ghidra Ninja 分类下。binwalk.py 和 yara.py 对已加载的程序运行 binwalk 或自带的 YARA 密码常量规则，并为发现的结果添加书签；YaraSearch.py 则使用用户选择的规则文件完成同样的工作；swift_demangler.py 还原 Swift 函数名；golang_renamer.py 依据 .gopclntab 表恢复去符号 Go 二进制中的函数名；export_gameboy_rom.py 可将用 GhidraBoy 导入的 Game Boy 程序重新导出为可运行的 ROM。

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

## 使用条件与局限

- 没有发布版本或标签；最后一次提交是 2020-10-07 的合并。2020 年至 2025 年间提交的未关闭 issue 报告了 golang_renamer 数据类型错误、binwalk.py 临时文件错误和内存不足等问题，此后再无新的提交。
- 安装方法是在 Ghidra 的 Script Manager 中把克隆下来的仓库添加为脚本目录。这些脚本是为 Ghidra 的 Jython 解释器编写的 Python 2 代码，README 未注明支持的 Ghidra 版本。binwalk.py、yara.py 和 YaraSearch.py 需要 PATH 中有 binwalk 或 yara，swift_demangler.py 需要 swift 工具链，export_gameboy_rom.py 需要 GhidraBoy 扩展。
- 输入为分析者已加载到 Ghidra 中的程序；export_gameboy_rom.py 处理的是用户自行导入的 Game Boy ROM，一个未关闭的 issue 指出它无法处理单页 ROM。golang_renamer.py 只查找 Go 1.16 之前使用的 .gopclntab 头部，另有未关闭的 issue 请求支持 Go 1.16。YARA 和 binwalk 的结果只是签名匹配。
- 采用 GPL-3.0（见 LICENSE）。README 称自带的 yara-crypto.yar 规则采用 GPLv2 许可，另加入了一条署名 @phoul 的 SHA256 规则，并说明 golang_renamer.py 移植自 George Zaytsev 的 go_renamer.py。

## 一手来源

1. <https://github.com/ghidraninja/ghidra_scripts/blob/99f2a8644a29479618f51e2d4e28f10ba5e9ac48/README.md>
2. <https://github.com/ghidraninja/ghidra_scripts/blob/99f2a8644a29479618f51e2d4e28f10ba5e9ac48/golang_renamer.py>
3. <https://github.com/ghidraninja/ghidra_scripts/blob/99f2a8644a29479618f51e2d4e28f10ba5e9ac48/YaraSearch.py>
4. <https://github.com/ghidraninja/ghidra_scripts/blob/99f2a8644a29479618f51e2d4e28f10ba5e9ac48/yara-crypto.yar>
5. <https://github.com/ghidraninja/ghidra_scripts/blob/99f2a8644a29479618f51e2d4e28f10ba5e9ac48/LICENSE>
6. <https://github.com/ghidraninja/ghidra_scripts/issues/12>
7. <https://github.com/ghidraninja/ghidra_scripts/issues/19>

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

- [FindCrypt Ghidra 版密码常量识别脚本](https://awesomerea.org/zh/resources/findcrypt-ghidra/index.md) · 工具
- [Binary Refinery 二进制数据转换工具集](https://awesomerea.org/zh/resources/binary-refinery/index.md) · 工具
- [AngryGhidra Ghidra 符号执行插件](https://awesomerea.org/zh/resources/angryghidra/index.md) · 工具
- [fpicker Frida 插桩与覆盖率采集套件](https://awesomerea.org/zh/resources/fpicker/index.md) · 工具
- [RetroWrite 静态二进制改写框架](https://awesomerea.org/zh/resources/retrowrite/index.md) · 工具
- [Interruptor 系统调用跟踪库](https://awesomerea.org/zh/resources/interruptor/index.md) · 工具

## 关于此条目

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