article
README
🚀 BinjaLattice 标签协议
BinjaLattice 是专为 Binary Ninja 设计的安全通信协议,可与外部模型上下文协议(MCP)服务器及工具进行交互。它能以结构化方式获取 Binary Ninja 的信息,还可通过 HTTP REST API 修改活动的 Binary Ninja 数据库。
🚀 快速开始
演示
✨ 主要特性
- 安全认证:采用基于令牌的认证系统。
- 加密通信:支持可选的 SSL/TLS 加密。
- 二进制分析上下文:可导出伪代码、反汇编、变量名、二进制信息等。
- 二进制修改:能更新函数名称、添加注释、重命名变量。
- 令牌管理:可自动过期和续订认证令牌。
📦 安装指南
- 将
lattice_server_plugin.py复制到 Binary Ninja 插件目录:- Linux:
~/.binaryninja/plugins/ - macOS:
~/Library/Application Support/Binary Ninja/plugins/ - Windows:
%APPDATA%\Binary Ninja\plugins\
- Linux:
- 创建一个虚拟环境
pip -m venv venv-test(也可使用您喜欢的依赖管理工具)。 - 启用您的虚拟环境并安装所需的 Python 依赖项,使用以下命令安装:
pip install -r requirements.txt(或采用其他方法)。
📚 详细文档
开发
- 主服务器实现位于
plugin/lattice_server_plugin.py。 - MCP 服务器实现位于
mcp_server.py。 - 客户端库实现位于
lib/lattice.py。
添加新功能
若要添加新的功能,可按以下步骤操作:
- 在
LatticeRequestHandler类(位于lattice_server_plugin.py)中添加新的端点处理程序。 - 在
Lattice类(位于lib/lattice.py)中添加相应的客户端方法。 - 在
mcp_server.py中添加新的 MCP 工具。
📄 许可证
本项目采用 MIT License。
Scan to join WeChat group