Ghidra Copilot
面向 Ghidra 的 AI 辅助伙伴。它嵌入了一个聊天面板,可以回答关于当前程序的问题,建议下一步操作,并直接从对话中运行小型分析工具。
功能
- 在与当前程序保持上下文的 Ghidra 内部进行聊天。
- 用于符号搜索、数据提取和重构辅助的工具调用。
- 通过 Spring AI 支持 OpenAI、Azure OpenAI、Anthropic 和 Ollama。
截图
需求
- Ghidra 11.4.2 或兼容版本
- Java 17+
- 网络访问或由 Spring AI 支持的本地模型端点
安装
- 将
GHIDRA_INSTALL_DIR 设置为你的 Ghidra 路径。
- Linux/WSL:
export GHIDRA_INSTALL_DIR=/绝对/路径/到/ghidra_11.4.2_PUBLIC
- Windows PowerShell:
$env:GHIDRA_INSTALL_DIR = "D:\\tools\\ghidra_11.4.2_PUBLIC"
- 构建扩展:
- Linux/WSL:
./gradlew buildExtension
- Windows PowerShell:
.\\gradlew buildExtension
- 通过 Ghidra 的“安装扩展”对话框安装从
dist/ 生成的 zip 文件。
配置模型
在 Ghidra 内部,打开 工具选项 > Ghidra Copilot 以选择提供商并输入 API 密钥/基础 URL/模型名称。设置存储在 Ghidra 用户目录中,并在下次启动时重用:
- OpenAI:API 密钥(可选基础 URL/模型覆盖)
- Azure OpenAI:API 密钥、端点、部署、可选模型
- Anthropic:API 密钥、模型
- Ollama:基础 URL、模型
使用
- 打开 Ghidra 并在工具窗口中启用 Ghidra Copilot。
- 询问关于当前程序的问题;需要时工具调用会自动运行。
- 使用面板设置切换模型提供商或密钥。