Another™ MCP Server for Binary Ninja - MCP服务,MCP服务器,MCP教程

基本能力

产品定位

binaryninja-mcp 是一个为 Binary Ninja 设计的 MCP 服务器,提供与 Binary Ninja 交互的接口和工具,支持通过 MCP 协议访问 Binary Ninja 的分析功能。

核心功能

  • 符号重命名(rename_symbol)
  • 伪代码生成(pseudo_c, pseudo_rust)
  • 高级和中级中间语言生成(high_level_il, medium_level_il)
  • 反汇编(disassembly)
  • 分析更新(update_analysis_and_wait)
  • 获取二进制文件的基本信息(get_triage_summary)
  • 获取导入/导出符号(get_imports, get_exports)
  • 获取内存段和二进制节(get_segments, get_sections)
  • 获取字符串列表(get_strings)
  • 获取函数和数据变量列表(get_functions, get_data_variables)

适用场景

  • 逆向工程
  • 二进制分析
  • 安全研究

工具列表

  • rename_symbol: 重命名函数或数据变量
  • pseudo_c: 获取指定函数的伪 C 代码
  • pseudo_rust: 获取指定函数的伪 Rust 代码
  • high_level_il: 获取指定函数的高级中间语言
  • medium_level_il: 获取指定函数的中级中间语言
  • disassembly: 获取函数或指定范围的反汇编
  • update_analysis_and_wait: 更新二进制分析并等待完成
  • get_triage_summary: 获取 BinaryNinja Triage 视图的基本信息
  • get_imports: 获取导入符号的字典
  • get_exports: 获取导出符号的字典
  • get_segments: 获取内存段列表
  • get_sections: 获取二进制节列表
  • get_strings: 获取二进制中的字符串列表
  • get_functions: 获取函数列表
  • get_data_variables: 获取数据变量列表

常见问题解答

  • 如何配置 MCP 客户端?
  • 对于 Claude Desktop,配置 stdio 传输使用内置中继。
  • 对于 Cherry Studio,可以使用 SSE 端点或 stdio 客户端。
  • 如何更改服务器端口?
  • 使用 --port 标志指定不同的端口。

使用教程

使用依赖

  • 需要安装 Binary Ninja 和 Python 环境。

安装教程

  1. Binary Ninja UI 插件安装
  2. 通过 Binary Ninja 的插件管理器安装插件。
  3. MCP 服务器将在首次加载文件时自动启动。

  4. Binary Ninja 无头模式安装
    bash
    uvx binaryninja-mcp install-api # 仅需运行一次
    uvx binaryninja-mcp server <filename> [filename]...

  5. 使用 --port 标志指定不同的端口。

调试方式

  • 检查 API 是否正确安装:
    bash
    uv run python -c 'import binaryninja as bn; print(f"ui_enabled={bn.core_ui_enabled()}")'
  • 运行测试:
    bash
    pytest
    # 更新测试快照:
    pytest --snapshot-update

点击访问

搜索工具

🚀 Nchan MCP Transport - MCP服务,MCP服务器,MCP教程

2025-4-29 15:55:48

搜索工具

gbox - MCP服务,MCP服务器,MCP教程

2025-4-29 15:55:56

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索