🚀 GhidraMCP 插件文档
GhidraMCP 是一款增强 Ghidra 功能的插件,它集成了模型上下文协议(Model Context Protocol, MCP),显著提升了二进制分析能力。该插件具备丰富功能,如 AI 辅助分析、可定制化配置以及深度安全检测等。
✨ 主要特性
- AI 辅助分析:借助 AI 模型对二进制文件进行智能解析。
- 定制化配置:支持修改服务器端口等核心参数。
- 深度安全检测:内置多种安全漏洞检测机制。
- 扩展接口:提供灵活的二次开发接口。
📦 安装指南
克隆仓库
git clone https://github.com/yourusername/GhidraMCP.git
环境配置
设置 Ghidra 安装路径:
export GHIDRA_INSTALL_DIR=/path/to/ghidra
编译构建
使用 Gradle 进行编译:
./gradlew buildExtension
编译后的插件文件将位于 dist
目录。
💻 使用示例
基础用法
插件配置
通过修改 MCPServerPlugin.java
文件中的端口号:
server.setPort(YOUR_CUSTOM_PORT);
功能使用
- 启动 Ghidra 服务并加载插件。
- 使用 Ghidra 的标准分析功能识别目标区域。
- 调用 AI 辅助分析获取深度洞察。
- 根据需要重命名函数和变量。
高级用法
安全分析
- 用户输入检测:识别外部数据入口点,便于漏洞评估。
- 调用图生成:构造程序调用关系图,帮助理解执行流程。
- 密码学模式识别:检测标准加密算法和自定义实现。
- 反调试字符串检测:发现可能被隐藏或混淆的字符串。
集成开发
- 使用 Ghidra 的分析功能定位关键代码段。
- 调用插件接口进行深度分析。
- 结合 AI 洞察完善分析结果。
- 根据需要重命名函数和变量。
📚 详细文档
故障排除
常见问题
- 连接问题:确保 Ghidra 服务已启动且插件已加载。
- 端口冲突:若 8765 端口被占用,请修改插件配置。
- 桥接脚本错误:确认所有 Python 包已正确安装。
日志查看
- 查看 Ghidra 控制台输出获取服务器信息。
- 检查
ghidra_mcp_bridge.log
文件获取桥接问题详情。
贡献指南
欢迎任何贡献!请按照以下步骤提交:
- Fork 仓库到个人账户。
- 创建功能分支:
git checkout -b feature/amazing-feature
。
- 提交代码变更:
git commit -m 'Add some amazing feature'
。
- 推送到远程分支:
git push origin feature/amazing-feature
。
- 提交 Pull Request。
致谢
- NSA 开发团队:开发了 Ghidra 平台。
- MCP 社区:推动模型上下文协议的发展。
- 所有项目贡献者。
⚠️ 重要提示
GhidraMCP 与 NSA 或 Ghidra 团队无关联。