# AngryGhidra Ghidra 符号执行插件

> 在 CodeBrowser 面板中调用 angr 符号执行的 Ghidra 扩展。分析者可用快捷键标记目标地址、可选的起始地址和需要避开的地址，并可将程序参数、内存区域或寄存器设为符号值，向内存和寄存器写入具体值，钩住指定指令，或把在 Ghidra 中修补的字节应用到 angr 项目。随附的 Python 脚本对程序的原始文件运行 angr 路径探索，反汇编列表会高亮找到的路径上的指令，面板则显示能到达目标地址的参数、内存和标准输入取值。

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

## 使用条件与局限

- 审阅时最新版本为 1.1，发布于 2024-02-13，提供适用于 Ghidra 11.0 和 11.0.1 的预构建扩展包；较早的 0.1 版本附有 Ghidra 9.1.2 至 10.3 的构建。所审阅的 master 分支提交日期为 2024-07-29，比该版本多两个提交，改动了插件类型和 README。项目未说明与更新 Ghidra 版本的兼容性。
- 需用 pip 为 Python 3 安装 angr，并将 python3 加入 PATH；插件以外部进程运行随附的 angryghidra.py，并通过临时文件 angr_options.json 传递分析者的设置。项目未固定 angr 版本。从源码构建时需设置 GHIDRA_INSTALL_DIR 并使用 Gradle，再在 Ghidra 中通过 File → Install Extensions 安装；若未弹出新插件提示，可在 File → Configure → Miscellaneous 中启用 AngryGhidraPlugin。
- angr 会从 Ghidra 导入时记录的路径加载二进制文件，因此原始文件必须仍在该位置；原始二进制（Raw Binary）会按 Ghidra 语言对应的架构以 blob 方式加载。二进制文件以及寻找、避开、钩子和符号输入等设置都由分析者提供。路径爆炸、未建模的环境行为和求解器限制仍取决于 angr；找到的路径只给出一个满足条件的输入。
- README 以 angr 示例中的 SecurityFest 2016 fairlight CTF 题目作演示；项目未发布其他结果或测试。采用 MIT 许可证。

## 一手来源

1. <https://github.com/Nalen98/AngryGhidra/blob/0e6dc9c695de654367fbc0d9cd123a86791bff4d/README.md>
2. <https://github.com/Nalen98/AngryGhidra/blob/0e6dc9c695de654367fbc0d9cd123a86791bff4d/angryghidra_script/angryghidra.py>
3. <https://github.com/Nalen98/AngryGhidra/blob/0e6dc9c695de654367fbc0d9cd123a86791bff4d/src/main/java/angryghidra/AngrProcessing.java>
4. <https://github.com/Nalen98/AngryGhidra/blob/0e6dc9c695de654367fbc0d9cd123a86791bff4d/src/main/java/angryghidra/AngryGhidraProvider.java>
5. <https://github.com/Nalen98/AngryGhidra/blob/0e6dc9c695de654367fbc0d9cd123a86791bff4d/build.gradle>
6. <https://github.com/Nalen98/AngryGhidra/blob/0e6dc9c695de654367fbc0d9cd123a86791bff4d/extension.properties>
7. <https://github.com/Nalen98/AngryGhidra/blob/0e6dc9c695de654367fbc0d9cd123a86791bff4d/LICENSE.md>
8. <https://github.com/Nalen98/AngryGhidra/releases/tag/1.1>
9. <https://github.com/Nalen98/AngryGhidra/releases/tag/0.1>

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

- [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) · 工具
- [dyld_cache_extract dyld 共享缓存提取工具](https://awesomerea.org/zh/resources/dyld-cache-extract/index.md) · 工具
- [FLARE IDA Pro 实用脚本合集](https://awesomerea.org/zh/resources/flare-ida/index.md) · 工具
- [Binlex 二进制特征词法框架](https://awesomerea.org/zh/resources/binlex/index.md) · 工具

## 关于此条目

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