binary-ninja-reverse
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseBinary Ninja reverse engineering
Binary Ninja逆向工程
Use Binary Ninja when the user explicitly selects it, when its ILs materially help data-flow analysis, or when IDA/Ghidra/radare2 results need an independent cross-check.
当用户明确选择Binary Ninja、其IL对数据流分析有实质性帮助,或需要对IDA/Ghidra/radare2的结果进行独立交叉验证时,使用Binary Ninja。
Start safely
安全启动
- Confirm the repository case scope is ready before acting on a target.
- Check for
skills/tool-index.md; Binary Ninja is commercial software and must be installed manually with a valid Vector 35 license.binaryninja - Work on a copy when applying patches or saving database changes.
- Record imports/exports, entry points, architecture, and file hash before promoting findings.
- 在对目标进行操作前,确认仓库案例范围已准备就绪。
- 查看中的
skills/tool-index.md条目;Binary Ninja是商业软件,必须手动安装并拥有有效的Vector 35许可证。binaryninja - 应用补丁或保存数据库更改时,操作副本文件。
- 在提交发现结果前,记录导入/导出、入口点、架构和文件哈希值。
Choose the integration
选择集成方式
- GUI or Python API: preferred when Binary Ninja is already open or the user wants direct interactive analysis.
- Community MCP bridge: use only when explicitly requested and after reviewing the third-party plugin boundary. Keep the Binary Ninja HTTP listener on ; do not enable network exposure by default.
127.0.0.1:9009 - Fallback: use ,
ghidra-reverse, orida-reversewhen Binary Ninja is unavailable or its license/API cannot open the target.radare2
The reviewed community integration is , GPL-3.0, plugin metadata version , minimum Binary Ninja build . The repository is not an official Vector 35 component. This skill was checked against commit on 2026-09-03.
fosdickio/binary_ninja_mcp1.1.040008c5134ee46e2bf44f9a4d846bd971c3e39b3e306Install the Binary Ninja side through its Plugin Manager or from the reviewed source. For the MCP stdio bridge, pin the published bridge version rather than using an unbounded package:
text
npx -y binary-ninja-mcp@1.0.0 --host 127.0.0.1 --port 9009Register that command only in the MCP client the user selected. The bridge is not ready until Binary Ninja is running, a binary is open, and the localhost plugin endpoint responds.
- GUI或Python API:当Binary Ninja已打开,或用户需要直接交互式分析时优先使用。
- 社区MCP桥接:仅在明确请求时使用,且需先审查第三方插件边界。将Binary Ninja HTTP监听器保持在;默认情况下不要启用网络暴露。
127.0.0.1:9009 - 备选方案:当Binary Ninja不可用,或其许可证/API无法打开目标文件时,使用、
ghidra-reverse或ida-reverse。radare2
经审核的社区集成是,采用GPL-3.0许可证,插件元数据版本,最低Binary Ninja版本。该仓库并非Vector 35的官方组件。本技能已针对2026年9月3日的提交进行验证。
fosdickio/binary_ninja_mcp1.1.040008c5134ee46e2bf44f9a4d846bd971c3e39b3e306通过Binary Ninja的插件管理器或经审核的源代码安装Binary Ninja端组件。对于MCP标准输入输出桥接,固定使用已发布的桥接版本,而非无限制的包:
text
npx -y binary-ninja-mcp@1.0.0 --host 127.0.0.1 --port 9009仅在用户选择的MCP客户端中注册该命令。只有当Binary Ninja运行、二进制文件已打开且本地插件端点响应时,桥接才准备就绪。
Analysis workflow
分析工作流
- Enumerate open binaries and select the intended view.
- Capture binary status, entry points, segments, imports, exports, and representative strings.
- Follow call sites and cross-references before interpreting a function in isolation.
- Use HLIL for readable logic, MLIL SSA for data flow, and LLIL/disassembly when lifting loses instruction-level behavior.
- Apply names, comments, and types incrementally; keep the original addresses in evidence.
- Treat byte patches, prototype changes, and saved-file writes as mutations. Perform them only when requested and preserve the original artifact.
- Cross-check high-impact conclusions with a second evidence source or another disassembler.
Useful MCP capability families include binary/view selection, , , , , , callers/callees, cross-references, types, comments, renames, and byte patching. Discover the live tool list instead of assuming every upstream function is present.
list_importslist_exportslist_stringsdecompile_functionget_il- 枚举已打开的二进制文件并选择目标视图。
- 捕获二进制文件状态、入口点、段、导入、导出和代表性字符串。
- 在单独解读函数前,跟踪调用站点和交叉引用。
- 使用HLIL获取可读逻辑,使用MLIL SSA进行数据流分析,当反汇编丢失指令级行为时使用LLIL/反汇编代码。
- 逐步应用名称、注释和类型;保留原始地址作为证据。
- 将字节补丁、原型更改和保存文件写入视为修改操作。仅在请求时执行,并保留原始工件。
- 使用第二个证据来源或另一个反汇编器交叉验证高影响结论。
实用的MCP功能类别包括二进制/视图选择、、、、、、调用者/被调用者、交叉引用、类型、注释、重命名和字节补丁。查看实时工具列表,而非假设所有上游功能都可用。
list_importslist_exportslist_stringsdecompile_functionget_ilOutput
输出
Report concrete addresses, function names, IL level, supporting strings/imports, confidence, and reproduction steps. Keep the Evidence → Finding → Path chain used by the rest of the repository.
报告具体地址、函数名称、IL级别、支持的字符串/导入、置信度和重现步骤。遵循仓库其余部分使用的“证据→发现→路径”链条。