使用说明
项目简介
Binary Ninja MCP 服务器是一个基于模型上下文协议(MCP)构建的应用后端,旨在桥接大型语言模型(LLM)与 Binary Ninja 逆向工程平台。它允许 LLM 通过标准化的 MCP 接口,安全、可扩展地访问 Binary Ninja 的强大功能,从而实现代码分析、自动化逆向任务和增强型人机协作。
主要功能点
- 代码信息获取: 获取指定函数或当前光标所在函数的汇编代码和反编译代码(HLIL)。
- 符号信息查询: 查询全局变量等符号的信息。
- 代码编辑: 重命名函数和变量,为代码地址添加注释。
- 二进制信息: 获取二进制文件的基本信息,如架构、大小、段和节等。
安装步骤
-
安装 'binja-mcp' Python 包: 您可以使用 'pip' 命令安装 'binja-mcp' 包:
pip install binja-mcp或者,如果您使用 'uv' 包管理器,请参考仓库 README 文档中的 'uv' 安装指南。
-
安装 Binary Ninja 插件: 将仓库克隆或链接到 Binary Ninja 的插件目录。插件目录位置取决于您的操作系统:
- Linux: '~/.binaryninja/plugins/'
- macOS: '~/Library/Application Support/Binary Ninja/plugins/'
- Windows: '%APPDATA%\Binary Ninja\plugins'
服务器配置
对于 MCP 客户端(如 Claude Desktop 或 Cursor),您需要配置 MCP 服务器的连接信息。在客户端的 MCP 服务器配置文件(通常是 JSON 格式)中,添加以下配置:
"mcpServers": { "binja": { "command": "python", "args": [ "-m", "binja_mcp" ] } }
- '"binja"': 服务器名称,您可以自定义。
- '"command": "python"': 启动服务器的命令,这里使用 Python 解释器。
- '"args": ["-m", "binja_mcp"]': 传递给 Python 解释器的参数,'-m binja_mcp' 表示以模块方式运行 'binja_mcp' 包,启动 MCP 服务器。
基本使用方法
- 启动 Binary Ninja 和加载二进制文件: 打开 Binary Ninja 并加载您要分析的二进制文件。
- 启动 MCP 服务器插件: 在 Binary Ninja 的 "Tools" 菜单中,选择 "MCP Server\Start MCP Server",或者使用插件注册的快捷键启动服务器。
- 配置并连接 MCP 客户端: 在您的 MCP 客户端(如 Claude Desktop 或 Cursor)中配置上述服务器连接信息,并连接到 "binja" 服务器。
- 使用 MCP 客户端发送命令: 通过 MCP 客户端,您可以调用服务器提供的各种工具(命令),例如获取函数汇编、反编译代码、重命名函数等,与 Binary Ninja 进行交互。
信息
分类
开发者工具