Binary Ninja Reverse Engineering
Nutzen Sie Binary Ninja, wenn der Benutzer es explizit auswählt, wenn seine ILs den Datenfluss wesentlich unterstützen oder wenn Ergebnisse von IDA/Ghidra/radare2 einer unabhängigen Kreuzvalidierung bedürfen.
Sicherer Start
- Bestätigen Sie vor der Bearbeitung eines Ziels, dass der Repository-Case-Scope bereit ist.
- Prüfen Sie
skills/tool-index.mdaufbinaryninja; Binary Ninja ist kommerzielle Software und muss manuell mit einer gültigen Vector 35-Lizenz installiert werden. - Arbeiten Sie beim Anwenden von Patches oder Speichern von Datenbankänderungen mit einer Kopie.
- Dokumentieren Sie Importe/Exporte, Einstiegspunkte, Architektur und Dateihash, bevor Sie Ergebnisse weitergeben.
Integration wählen
- GUI oder Python-API: bevorzugt, wenn Binary Ninja bereits geöffnet ist oder der Benutzer eine direkte interaktive Analyse wünscht.
- Community MCP-Bridge: nur auf ausdrückliche Anfrage und nach Prüfung der Grenzen des Drittanbieter-Plugins verwenden. Halten Sie den Binary Ninja HTTP-Listener auf
127.0.0.1:9009; aktivieren Sie standardmäßig keine Netzwerkexposition. - Fallback: Verwenden Sie
ghidra-reverse,ida-reverseoderradare2, wenn Binary Ninja nicht verfügbar ist oder seine Lizenz/API das Ziel nicht öffnen kann.
Die geprüfte Community-Integration ist fosdickio/binary_ninja_mcp, GPL-3.0, Plugin-Metadaten-Version 1.1.0, minimale Binary Ninja-Build 4000. Das Repository ist kein offizielles Vector 35-Komponente. Dieses Skill wurde am 03.09.2026 gegen Commit 8c5134ee46e2bf44f9a4d846bd971c3e39b3e306 geprüft.
Installieren Sie die Binary Ninja-Seite über den Plugin-Manager oder aus der geprüften Quelle. Für die MCP stdio-Bridge verwenden Sie die veröffentlichte Bridge-Version anstelle eines unbegrenzten Pakets:
npx -y [email protected] --host 127.0.0.1 --port 9009
Registrieren Sie diesen Befehl nur im vom Benutzer ausgewählten MCP-Client. Die Bridge ist erst bereit, wenn Binary Ninja läuft, eine Binärdatei geöffnet ist und der localhost-Plugin-Endpunkt antwortet.
Analyse-Workflow
- Offene Binärdateien auflisten und die gewünschte Ansicht auswählen.
- Binärstatus, Einstiegspunkte, Segmente, Importe, Exporte und repräsentative Strings erfassen.
- Aufrufstellen und Querverweise verfolgen, bevor eine Funktion isoliert interpretiert wird.
- HLIL für lesbare Logik, MLIL SSA für Datenfluss und LLIL/Disassembly verwenden, wenn das Lifting instruktionsgenaues Verhalten verliert.
- Namen, Kommentare und Typen inkrementell anwenden; die ursprünglichen Adressen als Beleg behalten.
- Byte-Patches, Prototypänderungen und Dateischreibvorgänge als Mutationen behandeln. Nur auf Anfrage durchführen und das ursprüngliche Artefakt aufbewahren.
- Hochrelevante Schlussfolgerungen mit einer zweiten Evidenzquelle oder einem anderen Disassembler kreuzvalidieren.
Nützliche MCP-Fähigkeitsfamilien umfassen Binary/View-Auswahl, list_imports, list_exports, list_strings, decompile_function, get_il, Aufrufer/Aufgerufene, Querverweise, Typen, Kommentare, Umbenennungen und Byte-Patching. Nutzen Sie die Live-Tool-Liste, anstatt davon auszugehen, dass jede Upstream-Funktion vorhanden ist.
Ausgabe
Berichten Sie konkrete Adressen, Funktionsnamen, IL-Ebene, unterstützende Strings/Importe, Konfidenz und Reproduktionsschritte. Behalten Sie die Evidenz → Befund → Pfad-Kette bei, die im restlichen Repository verwendet wird.