二进制Ninja MCP服务器
用于Binary Ninja交互和自动化的模型上下文协议服务器。此服务器提供通过大型语言模型与Binary Ninja交互的工具。
概述
Binary Ninja MCP服务器是一个插件和服务器实现,它允许大型语言模型通过模型上下文协议(MCP)与Binary忍者进行交互。它提供以下功能:
- 获取函数的汇编代码
- 获取函数的反编译代码(HLIL)
- 重命名函数和变量
- 添加评论
安装
使用紫外线(推荐)
使用时 uv 不需要特定的安装。我们将 使用 uvx 直接运行 *binja_mcp*.
使用PIP
或者,您可以安装 binja-mcp 通过pip:
pip install binja-mcp安装后,您可以使用以下命令将其作为脚本运行:
python -m binja_mcp二进制Ninja插件安装
克隆此存储库或将克隆的存储库链接到Binary Ninja的插件目录:
- Linux:
~/.binaryninja/plugins/ - macOS:
~/Library/Application Support/Binary Ninja/plugins/ - 窗户:
%APPDATA%\Binary Ninja\plugins\
配置
使用Claude桌面/光标
将此添加到您的 claude_desktop_config.json 或游标MCP服务器:
Using uvx
"mcpServers": {
"binja": {
"command": "uvx",
"args": [
"-n",
"mcp-server-binja"
]
}
}Using pip installation
"mcpServers": {
"binja": {
"command": "python",
"args": [
"-m",
"mcp_server_binja"
]
}
}用法
- 打开Binary Ninja并加载二进制文件
- 从“工具”菜单或使用键盘快捷键启动MCP服务器
- 使用Claude Desktop、Cursor或您喜欢的任何MCP客户端与二进制文件进行交互
可用命令
以下命令可通过MCP接口使用:
binja_get_function_assembly:获取命名函数的汇编代码binja_get_function_decompiled:获取命名函数的反编译代码binja_get_global_variable:获取有关全局变量的信息binja_get_current_function_assembly:获取当前函数的程序集binja_get_current_function_decompiled:获取当前函数的反编译代码
发展
如果您正在进行本地开发,有两种方法可以测试您的更改:
- 运行MCP检查器以测试您的更改:
npx @modelcontextprotocol/inspector uvx binja_mcp- 使用Claude桌面应用程序进行测试,方法是将以下内容添加到您的
claude_desktop_config.json:
{
"mcpServers": {
"binja": {
"command": "uv",
"args": [
"--directory",
"/
/src",
"run",
"mcp-server-binja"
]
}
}
}许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
