Binary Ninja MCP仓库包含一个Binary Ninja插件、MCP服务器和桥梁,可让Binary Ninja的功能与您喜爱的大语言模型(LLM)客户端实现无缝集成,极大提升二进制分析效率。
您可以通过Binary Ninja的插件管理器(Plugins > Manage Plugins
)安装插件。
若要手动配置插件,可将此仓库复制到Binary Ninja插件文件夹中。
若您需要使用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
您可能需要运行以下命令来安装依赖项:
pip install pyinstaller requests
View > Extensions > Binary Ninja MCP Bridge
。此仓库包含两个独立的组件:
下表详细说明了当前与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
要在代码中使用,请参考以下仓库:
文档未提及许可证信息。
欢迎贡献。请随意提交拉取请求。