mcpField
B
binary-ninja-reverse

binary-ninja-reverse

github.com/zhaoxuya520安全43.7k618 次安装5 周前更新
代码仓库

关于 binary-ninja-reverse

binary-ninja-reverse 是面向逆向分析人员的 Binary Ninja 技能,适用于交互式 IL 数据流分析或独立交叉验证。它指导安全分析、证据记录及社区 MCP 桥接的谨慎使用。

主要功能

  1. 01Binary Ninja GUI 与 Python API 工作流
  2. 02HLIL、MLIL SSA 和 LLIL 分析
  3. 03检查导入、导出、字符串和交叉引用
  4. 04基于地址的证据记录
  5. 05安全修改补丁和数据库的指引

适用场景

  1. 01追踪函数中的数据流
  2. 02交叉验证其他反汇编器的发现
  3. 03记录可复现的二进制分析
  4. 04通过用户指定的 MCP 桥接使用 Binary Ninja

MCP 相关

该技能介绍了可选的 Binary Ninja 社区 MCP 桥接。它要求先审查插件边界,将 HTTP 监听器限制在本机,并在用户选择的 MCP 客户端中注册桥接。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/zhaoxuya520/reverse-skill --skill binary-ninja-reverse

安装后在 Claude Code 中输入/binary-ninja-reverse确认已加载。

附带文件agents/openai.yaml

详细介绍

Binary Ninja 逆向工程

当用户明确选择 Binary Ninja 时、当其 IL 对数据流分析有实质性帮助时,或当 IDA/Ghidra/radare2 的结果需要独立交叉验证时,请使用 Binary Ninja。

安全起步

  1. 在对目标执行操作前,确认仓库案例范围已就绪。
  2. 在 skills/tool-index.md 中检查 binaryninja;Binary Ninja 是商业软件,必须使用有效的 Vector 35 许可证手动安装。
  3. 在应用补丁或保存数据库更改时,请在副本上操作。
  4. 在提升发现之前,记录导入/导出、入口点、架构和文件哈希。

选择集成方式

  • GUI 或 Python API: 当 Binary Ninja 已打开,或用户希望直接进行交互式分析时,优先使用。
  • 社区 MCP 桥接: 仅在明确要求时使用,并在审查第三方插件边界后使用。将 Binary Ninja HTTP 监听器保持在 127.0.0.1:9009;默认不要启用网络暴露。
  • 回退方案: 当 Binary Ninja 不可用,或其许可证/API 无法打开目标时,使用 ghidra-reverse、ida-reverse 或 radare2。

已审查的社区集成是 fosdickio/binary_ninja_mcp,GPL-3.0,插件元数据版本 1.1.0,最低 Binary Ninja 构建版本 4000。该仓库不是 Vector 35 的官方组件。此技能已于 2026-09-03 对照提交 8c5134ee46e2bf44f9a4d846bd971c3e39b3e306 检查。

通过其 Plugin Manager 或从已审查的源代码安装 Binary Ninja 侧组件。对于 MCP stdio 桥接,请固定已发布的桥接版本,而不是使用无界包:

npx -y [email protected] --host 127.0.0.1 --port 9009

仅在用户选择的 MCP 客户端中注册该命令。在 Binary Ninja 正在运行、已打开二进制文件且 localhost 插件端点有响应之前,桥接尚未就绪。

分析工作流

  1. 枚举已打开的二进制文件并选择预期的视图。
  2. 捕获二进制状态、入口点、段、导入、导出和具有代表性的字符串。
  3. 在孤立解释某个函数之前,先跟踪调用点和交叉引用。
  4. 使用 HLIL 获取可读逻辑,使用 MLIL SSA 进行数据流分析,并在提升丢失指令级行为时使用 LLIL/反汇编。
  5. 增量应用名称、注释和类型;在证据中保留原始地址。
  6. 将字节补丁、原型更改和保存文件写入视为变更。仅在要求时执行,并保留原始工件。
  7. 用第二个证据来源或另一个反汇编器交叉检查高影响结论。

有用的 MCP 能力族包括二进制/视图选择、list_imports、list_exports、list_strings、decompile_function、get_il、调用者/被调用者、交叉引用、类型、注释、重命名和字节补丁。请发现实时工具列表,而不是假设每个上游函数都存在。

输出

报告具体地址、函数名、IL 级别、支持性字符串/导入、置信度和复现步骤。保持仓库其余部分使用的 Evidence → Finding → Path 链条。

评论

支持 Markdown