
binsync v5.15.4
Ein Reversing-Plugin für die dekompiler-übergreifende Zusammenarbeit, basierend auf Git.
BinSync
BinSync ist ein Decompiler-Kollaborationstool, das auf dem Git-Versionierungssystem aufbaut, um feingranulare Reverse-Engineering-Zusammenarbeit unabhängig vom Decompiler zu ermöglichen. BinSync wird von mahaloz, dem angr-Team und dem SEFCOM-Forschungslabor entwickelt. Es ist zudem in großem Maße der Nutzung durch das Shellphish-Hacking-Team zu verdanken.
Alle guten Decompiler teilen gemeinsame Objekte, die als Reverse Engineering Artifacts (REAs) bezeichnet werden. Diese REAs stehen im Zentrum der Synchronisierungsfähigkeit von BinSync. Hier sind die unterstützten REAs:
- Funktionsheader (Symbol, Argumente, Typ)
- Stack-Variablen (Symbol, Typ)
- Structs
- Enums
- Kommentare
Hinweis: Alle Typen unterstützen benutzerdefinierte Typen wie Structs.
Treten Sie unserem Discord unten bei, um weitere Online-Hilfe zu erhalten:
Schnellstart
Für alle Installationen ist es am besten, unseren zweiteiligen Installer mit Python zu verwenden:
pip3 install binsync && binsync --install
BinSync ist auch im Binary Ninja Plugin Manager verfügbar.
Wenn Sie BS mit Ghidra verwenden möchten, müssen Sie es im PyGhidra-Modus starten.
Wenn Sie zusätzliche BS-Funktionen wie den ChatGPT User nutzen möchten, installieren Sie das Paket wie folgt: pip3 install binsync[extras], wodurch zusätzliche Pakete zur Unterstützung installiert werden.
Vollständige Installationsinformationen finden Sie in unserer Schnellstart-Dokumentation.
Für Entwickler: Installieren Sie das Paket editierbar (-e) und stellen Sie sicher, dass pip>=23.0.0 verwendet wird.
Unterstützte Plattformen
- IDA Pro: >= 8.4 (bei einer älteren Version verwenden Sie BinSync v4.10.1)
- Binary Ninja: >= 2.4
- angr-management: >= 9.0
- Ghidra: >= 12.0 (PyGhidra-Modus)
Alle Versionen erfordern Python >= 3.10 und Git, installiert auf Ihrem System. Die Ghidra-Unterstützung befindet sich noch in einem sehr frühen Stadium, daher sind nur minimale Funktionen wie das Synchronisieren von Artefaktnamen und Kommentaren zu erwarten.
Fortschritt der Decompiler-Unterstützung
Obwohl wir die Decompiler im vorherigen Abschnitt unterstützen, wird nicht jeder Decompiler auf demselben Synchronisierungsniveau unterstützt. Um den Unterschied zwischen Artefaktunterstützung, Pull, Push und Auto Push zu verstehen, lesen Sie unsere Einführung zur Decompiler-Nutzung.
IDA Pro
| Operations | Function Headers | Stack Vars | Global Vars | Structs | Enums | Comments |
|---|---|---|---|---|---|---|
| Symbols | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Types | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Pull | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Push | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Auto Push | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Binary Ninja
| Operations | Function Headers | Stack Vars | Global Vars | Structs | Enums | Comments |
|---|---|---|---|---|---|---|
| Symbols | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Types | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Pull | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Push | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Auto Push | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |