
binsync v5.15.4
Un plugin di reversing per la collaborazione tra decompilatori, basato su git.
BinSync
BinSync è uno strumento di collaborazione per decompilatori basato sul sistema di versionamento Git, pensato per abilitare una collaborazione di reverse engineering a grana fine indipendentemente dal decompilatore. BinSync è sviluppato da mahaloz, dal team angr e dal laboratorio di ricerca SEFCOM. Deve molto anche al suo utilizzo da parte del team di hacking Shellphish.
Tutti i buoni decompilatori condividono oggetti comuni chiamati Reverse Engineering Artifacts (REA). Questi REA sono al centro della capacità di sincronizzazione di BinSync. Ecco i REA supportati:
- Intestazioni di funzione (simbolo, argomenti, tipo)
- Variabili di stack (simbolo, tipo)
- Struct
- Enum
- Commenti
Nota: tutti i tipi supportano tipi creati dall'utente come le struct.
Unisciti al nostro discord qui sotto per ulteriore supporto online:
Avvio rapido
Per tutte le installazioni, è meglio usare il nostro installer in due parti con Python:
pip3 install binsync && binsync --install
BinSync è disponibile anche nel plugin manager di Binary Ninja.
Se prevedi di usare BS con Ghidra, devi avviarlo in modalità PyGhidra.
Se prevedi di usare funzionalità extra di BS, come il ChatGPT User, installa il pacchetto in questo modo: pip3 install binsync[extras], che installerà pacchetti aggiuntivi per il supporto.
Per informazioni complete sull'installazione, leggi la nostra documentazione di avvio rapido.
Per gli sviluppatori, installa il pacchetto in modalità editabile (-e) e assicurati di avere pip>=23.0.0.
Piattaforme supportate
- IDA Pro: >= 8.4 (se hai una versione precedente, usa BinSync v4.10.1)
- Binary Ninja: >= 2.4
- angr-management: >= 9.0
- Ghidra: >= 12.0 (modalità PyGhidra)
Tutte le versioni richiedono Python >= 3.10 e Git installati sul tuo sistema. Il supporto a Ghidra è ancora in fase molto iniziale, quindi aspettati solo funzionalità minime come la sincronizzazione dei nomi degli artefatti e i commenti.
Stato del supporto ai decompilatori
Sebbene supportiamo i decompilatori nella sezione precedente, non tutti i decompilatori sono supportati allo stesso livello di sincronizzazione. Per capire la differenza tra supporto agli artefatti, pull, push e auto push, leggi la nostra introduzione all'uso dei decompilatori.
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 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |