README
🚀 Binary Ninja MCP
Binary Ninja MCP仓库包含一个Binary Ninja插件、MCP服务器和桥梁,可让Binary Ninja的功能与您喜爱的大语言模型(LLM)客户端实现无缝集成,极大提升二进制分析效率。
🚀 快速开始
安装
Binary Ninja插件
您可以通过Binary Ninja的插件管理器(Plugins > Manage Plugins)安装插件。
若要手动配置插件,可将此仓库复制到Binary Ninja插件文件夹中。
Claude Desktop Bridge(可选)
若您需要使用Claude Desktop作为MCP客户端,才需进行此部分操作。请确保您的虚拟环境已正确配置:
git clone git@github.com:fosdickio/binary_ninja_mcp.git
cd binary_ninja_mcp
python3 -m venv .venv
source .venv/bin/activate # 在macOS/Linux上
pip install -r bridge/requirements.txt
自动化设置Claude Desktop脚本
您可能需要运行以下命令来安装依赖项:
pip install pyinstaller requests
安装完成后
- 启动Claude Desktop。
- 在Binary Ninja中打开要分析的二进制文件。
- 在Claude Desktop中,导航到
View > Extensions > Binary Ninja MCP Bridge。
✨ 主要特性
- 在线实时将Binary Ninja与MCP客户端集成,让您在分析过程中能及时借助外部智能。
- 增强的反编译工作流程,结合AI辅助功能,大大提高分析效率。
- 主要支持Claude Desktop作为MCP客户端,但可以扩展到其他集成,具有良好的扩展性。
💻 使用示例
基础用法
生成二进制分析报告

重命名函数

📚 详细文档
组件
此仓库包含两个独立的组件:
- 一个Binary Ninja插件,提供MCP服务器,通过HTTP端点公开Binary Ninja的功能。这可以与任何实现MCP协议的客户端一起使用。
- 另一个单独的MCP桥梁组件,将您的首选MCP客户端连接到Binary Ninja MCP服务器。尽管Claude Desktop是主要的集成路径,但MCP服务器也可以与其他客户端一起使用。
支持的集成
下表详细说明了当前与Binary Ninja支持的集成功能。
| 属性 | 详情 |
|------|------|
| get_binary_status | 获取加载的二进制文件的当前状态。 |
| list_classes | 列出程序中所有命名空间/类名称。 |
| list_data_items | 列出定义的数据标签及其值。 |
| list_exports | 列出导出的功能/符号。 |
| list_imports | 列出程序中的导入符号。 |
| list_methods | 列出程序中所有功能名称。 |
| list_namespaces | 列出所有非全局命名空间。 |
| list_segments | 列出程序的所有内存段。 |
| rename_data | 重命名指定地址的数据标签。 |
| rename_function | 将当前名称的功能重命名为新的用户定义名称。 |
| search_functions_by_name | 搜索其名称包含给定子字符串的功能。 |
| decompile_function | 根据名称或地址解编特定功能,并返回反编译的C代码。 |
| set_comment | 在指定地址设置评论。 |
| set_function_comment | 为功能设置评论。 |
| get_comment | 获取指定地址的评论。 |
| get_function_comment | 获取功能的评论。 |
| delete_comment | 删除指定地址的评论。 |
| delete_function_comment | 删除功能的评论。 |
| get_assembly_function | 根据名称或地址获取功能的汇编表示。 |
开发
项目结构如下:
binary_ninja_mcp/
├── bridge/ # MCP客户端集成
├── plugin/ # Binary Ninja插件
└── scripts/
└── setup_claude_desktop.py # 设置脚本用于Claude Desktop
在代码中使用
要在代码中使用,请参考以下仓库:
🔧 技术细节
先决条件
- Binary Ninja
- Python 3.12+
- Claude Desktop(或其他您喜欢的集成)
📄 许可证
文档未提及许可证信息。
贡献
欢迎贡献。请随意提交拉取请求。
Scan to join WeChat group