
binsync v5.15.4
Un plugin de rétro-ingénierie pour la collaboration entre décompilateurs, construit sur git.
BinSync
BinSync est un outil de collaboration pour décompilateurs construit sur le système de versionnage Git afin de permettre une collaboration en ingénierie inverse à granularité fine, quel que soit le décompilateur. BinSync est développé par mahaloz, l'équipe angr et le laboratoire de recherche SEFCOM. Il doit également beaucoup à son utilisation par l'équipe de hacking Shellphish.
Tous les bons décompilateurs partagent des objets communs appelés Reverse Engineering Artifacts (REAs). Ces REAs sont au cœur de la capacité de synchronisation de BinSync. Voici les REAs pris en charge :
- En-têtes de fonctions (symbole, arguments, type)
- Variables de pile (symbole, type)
- Structures
- Énumérations
- Commentaires
Remarque : tous les types prennent en charge les types créés par l'utilisateur, comme les structures.
Rejoignez notre Discord ci-dessous pour plus d'aide en ligne :
Démarrage rapide
Pour toutes les installations, il est préférable d'utiliser notre installateur en deux parties avec Python :
pip3 install binsync && binsync --install
BinSync est également disponible dans le gestionnaire de plugins de Binary Ninja.
Si vous prévoyez d'utiliser BS avec Ghidra, vous devez le lancer en mode PyGhidra.
Si vous prévoyez d'utiliser des fonctionnalités supplémentaires de BS, comme le ChatGPT User, installez le paquet comme ceci : pip3 install binsync[extras], ce qui installera des paquets supplémentaires pour le support.
Pour des informations complètes sur l'installation, veuillez lire notre documentation de démarrage rapide.
Pour les développeurs, installez le paquet en mode éditable (-e) et assurez-vous d'avoir pip>=23.0.0.
Plateformes prises en charge
- IDA Pro : >= 8.4 (si vous avez une version plus ancienne, utilisez BinSync v4.10.1)
- Binary Ninja : >= 2.4
- angr-management : >= 9.0
- Ghidra : >= 12.0 (mode PyGhidra)
Toutes les versions nécessitent Python >= 3.10 et Git installés sur votre système. Le support de Ghidra est encore à un stade très précoce, donc ne vous attendez qu'aux fonctionnalités minimales comme la synchronisation des noms d'artefacts et les commentaires.
Progression du support des décompilateurs
Bien que nous prenions en charge les décompilateurs mentionnés dans la section précédente, tous les décompilateurs ne bénéficient pas du même niveau de synchronisation. Pour comprendre la différence entre le support des artefacts, pull, push et auto push, lisez notre introduction à l'utilisation des décompilateurs.
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 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |