基本能力
产品定位
Binary Ninja MCP 是一个用于增强 Binary Ninja 反向工程能力的插件和服务器桥接工具,通过与 LLM 客户端(如 Claude Desktop)的集成,提供 AI 辅助的反向工程工作流。
核心功能
- 实时集成 Binary Ninja 与 MCP 客户端
- 支持多种反向工程操作,如函数重命名、反编译、注释管理等
- 提供 HTTP 端点暴露 Binary Ninja 的功能
- 主要支持 Claude Desktop 作为 MCP 客户端,但可扩展其他集成
适用场景
- 反向工程工作流中需要 AI 辅助的场景
- 自动化生成二进制分析报告
- 批量重命名函数或数据标签
- 快速获取二进制文件的结构信息(如导入/导出函数、类、命名空间等)
工具列表
- Binary Ninja 插件:提供 MCP 服务器功能,通过 HTTP 端点暴露 Binary Ninja 的能力
- MCP 桥接组件:连接 MCP 客户端(如 Claude Desktop)与 Binary Ninja MCP 服务器
常见问题解答
- 需要 Binary Ninja 和 Python 3.12+ 作为前置依赖
- 主要支持 Claude Desktop 作为客户端,但可通过桥接组件扩展其他客户端
- 提供自动化配置脚本(Mac)和手动配置指南
使用教程
使用依赖
- Binary Ninja
- Python 3.12+
- Claude Desktop (可选)
安装教程
Binary Ninja 插件
- 通过 Binary Ninja 的插件管理器安装(Plugins > Manage Plugins)
- 或手动将仓库复制到 Binary Ninja 的插件文件夹
Claude Desktop 桥接(可选)
```bash
git clone git@github.com:fosdickio/binary_ninja_mcp.git
cd binary_ninja_mcp
python3 -m venv .venv
source .venv/bin/activate # On macOS/Linux
pip install -r bridge/requirements.txt
```
自动化配置(Mac)
bash
./scripts/setup_claude_desktop.py
手动配置
- 导航到
Settings > Developer > Edit Config
- 添加配置:
json
{
"mcpServers": {
"binary_ninja_mcp": {
"command": "/ABSOLUTE/PATH/TO/binary_ninja_mcp/.venv/bin/python",
"args": [
"/ABSOLUTE/PATH/TO/binary_ninja_mcp/bridge/binja_mcp_bridge.py"
]
}
}
}
调试方式
- 打开 Binary Ninja 并安装插件
- 重启 Binary Ninja 并打开一个二进制文件
- 启动 MCP 服务器(Plugins > MCP Server > Start MCP Server)
- 启动 Claude Desktop
示例提示:
- "Generate a binary analysis report for the current binary."
- "Rename function X to Y in the current binary."
- "List all functions in the current binary."
- "What is the status of the loaded binary?"