binary-ninja-reverse — Claude Code skill: what it does and setup
Guides binary analysis in Binary Ninja using HLIL, MLIL, and LLIL representations. Useful for tracing cross-references, inspecting exports, and reviewing binary patches.
npx skills add zhaoxuya520/reverse-skill --skill binary-ninja-reverse -a claude-codeWhat binary-ninja-reverse does
This skill structures reverse engineering workflows inside Binary Ninja. The agent inspects decompiled logic in HLIL, shifts to MLIL SSA form for data-flow tracking, and falls back to LLIL when lifted code hides instruction behavior. Analysis relies on concrete addresses, cross-references, and symbol tables.
Interactions run through the desktop interface, the Python API, or a local MCP bridge. The workflow treats byte patches and database writes as state mutations. Work on a copy instead. Modifying the original file directly creates an immediate risk of destroying your test evidence.
Binary Ninja requires a standalone installation and a commercial license. When the target environment lacks a valid setup, the skill falls back to alternative disassemblers.
What it helps with
- inspect decompiled HLIL logic and MLIL data flow
- trace function cross-references and examine imported symbols
- apply byte patches safely to duplicate binaries
- run analysis actions through a local MCP bridge
Example prompts for the agent
- Inspect the main function in Binary Ninja and show its HLIL representation
- Find all cross-references to the authentication failure string using Binary Ninja
- Prepare a byte patch in the binary copy and verify the change in LLIL
How to install binary-ninja-reverse
1Skills CLI (Vercel)
npx skills add zhaoxuya520/reverse-skill --skill binary-ninja-reverse -a claude-code2Manually: put the files in place
~/.claude/skills/binary-ninja-reverse/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/binary-ninja-reverse/
1Skills CLI (Vercel)
npx skills add zhaoxuya520/reverse-skill --skill binary-ninja-reverse -a codex2Manually: put the files in place
.agents/skills/binary-ninja-reverse/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add zhaoxuya520/reverse-skill --skill binary-ninja-reverse -a cursor2Manually: put the files in place
.cursor/skills/binary-ninja-reverse/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install zhaoxuya520/reverse-skill binary-ninja-reverse2Manually: put the files in place
.github/skills/binary-ninja-reverse/SKILL.md1Skills CLI (Vercel)
npx skills add zhaoxuya520/reverse-skill --skill binary-ninja-reverse -a gemini-cli2Platform CLI
gemini skills install https://github.com/zhaoxuya520/reverse-skill --path skills/binary-ninja-reverseManually: put the files in place
.devin/skills/binary-ninja-reverse/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add zhaoxuya520/reverse-skill --skill binary-ninja-reverse -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set5
The whole set →Similar
Questions about binary-ninja-reverse
How do I install binary-ninja-reverse in Claude Code?
Run npx skills add zhaoxuya520/reverse-skill --skill binary-ninja-reverse -a claude-code in your terminal.
What does the binary-ninja-reverse skill do?
It guides binary inspection inside Binary Ninja, helping analyze HLIL decompilation, trace cross-references, and safely review byte patches.
What are the prerequisites for this skill?
You need Binary Ninja installed with a valid commercial license. Interactive automation also requires the GUI, the Python API, or the local MCP bridge running on localhost.
Source text
SKILL.md · MIT
--- 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 1. Confirm the repository case scope is ready before acting on a target. 2. Check `skills/tool-index.md` for `binaryninja`; Binary Ninja is commercial software and must be installed manually with a valid Vector 35 license. 3. Work on a copy when applying patches or saving database changes. 4. 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`, or `radare2` when Binary Ninja is unavailable or its license/API cannot open the target. The reviewed community integration is [`fosdickio/binary_ninja_mcp`](https://github.com/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: ```text npx -y [email protected] --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 1. Enumerate open binaries and select the intended view. 2. Capture binary status, entry points, segments, imports, exports, and representative strings. 3. Follow call sites and cross-references before interpreting a function in isolation. 4. Use HLIL for readable logic, MLIL SSA for data flow, and LLIL/disassembly when lifting loses instruction-level behavior. 5. Apply names, comments, and types incrementally; keep the original addresses in evidence. 6. Treat byte patches, prototype changes, and saved-file writes as mutations. Perform them only when requested and preserve the original artifact. 7. 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.
© zhaoxuya520 · MIT · zhaoxuya520/reverse-skill