Communitygithub.com

Binary Ninja 逆向工程

用於在 Binary Ninja 中進行授權的二進位分析,包括 HLIL/MLIL/LLIL 檢查、字串/匯入/匯出、交叉引用、型別、修補審查、Python API 自動化,以及可選的 Binary Ninja MCP 或 localhost HTTP 整合。

Binary Ninja 逆向工程 是什麼?

Binary Ninja 逆向工程技能旨在協助開發者與逆向工程師在獲得授權的二進位分析工作中,使用 Binary Ninja 這個商業級反組譯工具。此技能支援多種中間語言(HLIL、MLIL、LLIL)的資料流分析,並能與 IDA、Ghidra、radare2 等其他工具進行交叉驗證。使用者可以透過 Binary Ninja 的 GUI、Python API,或透過第三方社群維護的 MCP 橋接器(fosdickio/binary_ninja_mcp)進行整合,該橋接器需在本地端 127.0.0.1:9009 上運作,不預設開放網路。技能涵蓋列舉匯入/匯出、字串分析、函式反編譯、交叉引用追蹤、型別與註解管理,以及位元組修補等操作。所有分析結果應記錄具體位址、函式名稱與信心水準,並遵循「證據→發現→路徑」的報告鏈,以確保結果可重現與稽核。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/zhaoxuya520/reverse-skill/tree/main/skills/binary-ninja-reverse

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

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 進行檢查。

請透過 Binary Ninja 的外掛管理員或從已審查的來源安裝 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 層級、支援性字串/匯入、信心水準及重現步驟。保持儲存庫中使用的「證據 → 發現 → 路徑」鏈結。

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

api-security

Use for authorized security assessment of REST, GraphQL, WebSocket, or SOAP APIs, including discovery, authentication, authorization, rate-limit, and CI/CD testing.

apk-reverse

在 CLI 环境下做 Android APK 逆向时使用。适用于 APK 解包、Java 反编译、smali 修改、重打包、Frida 动态 Hook,以及按需切换到 so/native 分析。优先使用本机已安装的 jadx、apktool、frida、adb、ida-reverse、radare2。

attack-chain

Use for authorized multi-stage attack-path planning and orchestration when a task spans reconnaissance, initial access, privilege escalation, lateral movement, or impact assessment. Route single-stage tasks directly to their specialist skill.

binary-diff

|

browser-automation

|

browser-extension-reverse

Use for authorized reverse engineering of browser extensions (Chrome/Firefox) including manifest analysis, background workers, and extension-based credential or traffic logic recovery.

case-review

Reviews a reverse-skill case package for scope readiness, Evidence to Finding to Path traceability, work item coverage, timeline references, and optional artifact hash integrity before report handoff.

cloud-k8s

Use for authorized cloud, container, and Kubernetes security assessment including metadata SSRF, IAM misconfig, container escape paths, and cluster RBAC review.

code-audit

Use for authorized source-code security review and SAST workflows including Semgrep, CodeQL patterns, dangerous API hunting, and fix verification.

ctf-sandbox

Thin PRIMARY for CTF / AWD / 靶场 multi-type orchestration. Hands off to the sidecar CTF-Sandbox-Orchestrator. Use when the user says CTF, AWD, 靶场, or 比赛题 and no more specific pwn/APK/IDA route already won.

database-security

Use for authorized database security assessment covering PostgreSQL/MySQL/MSSQL/Mongo/Redis exposure, authz, UDF/command paths, and misconfiguration review.

diagram-generator

generate, refine, validate, and render diagrams from natural language, notes, code snippets, schemas, tables, or existing diagram source. use for flowcharts, swimlanes, sequence diagrams, state diagrams, er diagrams, class diagrams, architecture/c4-style diagrams, dependency graphs, gantt charts, mind maps, user journeys, sankey-style flows, org charts, network graphs, and other visual models. supports mermaid by default, graphviz dot for complex graph layout, plantuml for uml-heavy engineering diagrams, and svg output when direct markup is more reliable.

digital-forensics

Use for authorized digital forensics including memory dumps, disk timelines, PCAP investigation, artifact triage, and IR evidence preservation.

docs-generator

|

dotnet-reverse

.NET / C# 二进制逆向。当目标是 .NET assembly(PE 头含 CLR、.exe/.dll 托管程序)、C# 编译产物(含 NativeAOT)、红队 Sharp* 工具(Rubeus / SharpHound / SharpHound 等)、.NET 混淆程序(ConfuserEx / SmartAssembly / Babel / Eazfuscator)、.NET loader / info-stealer / 套壳 malware 时使用。优先用 dnSpyEx + de4dot,需要 AI 直接操作时联动 dnSpy MCP。不用于纯 native 二进制(走 reverse-engineering / ida-reverse)。

edr-bypass-re

|

email-security

Use for authorized email security review including phishing analysis, header authentication (SPF/DKIM/DMARC), BEC patterns, and mailbox token abuse research.

firmware-pentest

|

ghidra-reverse

Use for free/open reverse engineering with Ghidra (headless or GUI), including decompile, cross-refs, and optional Ghidra MCP workflows when IDA is unavailable.

go-rust-reverse

Use for reverse engineering stripped Go and Rust binaries including runtime recognition, pclntab/moduel data recovery, panic strings, and idiomatic decompilation recovery.

相關技能