binary-ninja-reverse
GitHub用于在 Binary Ninja 中进行授权二进制逆向分析,支持 IL 检查、交叉引用及 Python API 自动化。提供安全启动、集成选择与分析工作流指南,适用于漏洞研究与代码审计场景。
Trigger Scenarios
Install
npx skills add zhaoxuya520/reverse-skill --skill binary-ninja-reverse -g -y
SKILL.md
Frontmatter
{
"name": "binary-ninja-reverse",
"description": "Use for authorized binary analysis in Binary Ninja, including HLIL\/MLIL\/LLIL inspection, strings\/imports\/exports, cross-references, types, patch review, Python API automation, and optional Binary Ninja MCP or localhost HTTP integration."
}
Binary Ninja reverse engineering
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.
Start safely
- Confirm the repository case scope is ready before acting on a target.
- Check
skills/tool-index.mdforbinaryninja; Binary Ninja is commercial software and must be installed manually with a valid Vector 35 license. - Work on a copy when applying patches or saving database changes.
- Record imports/exports, entry points, architecture, and file hash before promoting findings.
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
127.0.0.1:9009; do not enable network exposure by default. - Fallback: use
ghidra-reverse,ida-reverse, orradare2when Binary Ninja is unavailable or its license/API cannot open the target.
The reviewed community integration is fosdickio/binary_ninja_mcp, GPL-3.0, plugin metadata version 1.1.0, minimum Binary Ninja build 4000. The repository is not an official Vector 35 component. This skill was checked against commit 8c5134ee46e2bf44f9a4d846bd971c3e39b3e306 on 2026-09-03.
Install 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:
npx -y binary-ninja-mcp@1.0.0 --host 127.0.0.1 --port 9009
Register 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.
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, list_imports, list_exports, list_strings, decompile_function, get_il, callers/callees, cross-references, types, comments, renames, and byte patching. Discover the live tool list instead of assuming every upstream function is present.
Output
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.
Version History
- 7e2097f Current 2026-09-09 00:40


