
binsync v5.15.4
Un plugin de ingeniería inversa para la colaboración entre descompiladores, construido sobre git.
BinSync
BinSync es una herramienta de colaboración para decompiladores construida sobre el sistema de versionado Git para permitir la colaboración en ingeniería inversa con granularidad fina, independientemente del decompilador. BinSync es desarrollado por mahaloz, el equipo de angr y el laboratorio de investigación SEFCOM. También se debe en gran medida a su uso por parte del equipo de hacking Shellphish.
Todos los buenos decompiladores comparten objetos comunes llamados Artefactos de Ingeniería Inversa (REAs, por sus siglas en inglés). Estos REAs son el centro de la capacidad de sincronización de BinSync. Estos son los REAs soportados:
- Cabeceras de funciones (símbolo, argumentos, tipo)
- Variables de pila (símbolo, tipo)
- Structs
- Enums
- Comentarios
Nota: todos los tipos soportan tipos creados por el usuario, como los structs.
Únete a nuestro discord a continuación para más ayuda en línea:
Inicio rápido
Para todas las instalaciones, es mejor usar nuestro instalador de dos partes con Python:
pip3 install binsync && binsync --install
BinSync también está disponible en el gestor de plugins de Binary Ninja.
Si planeas usar BS con Ghidra, debes lanzarlo en modo PyGhidra.
Si planeas usar funciones extra de BS, como el Usuario de ChatGPT, instala el paquete así: pip3 install binsync[extras], lo que instalará paquetes adicionales para su soporte.
Para información completa de instalación, por favor lee nuestra documentación de inicio rápido.
Para desarrolladores, instala el paquete en modo editable (-e) y asegúrate de tener pip>=23.0.0.
Plataformas soportadas
- IDA Pro: >= 8.4 (si tienes una versión más antigua, usa BinSync v4.10.1)
- Binary Ninja: >= 2.4
- angr-management: >= 9.0
- Ghidra: >= 12.0 (modo PyGhidra)
Todas las versiones requieren Python >= 3.10 y Git instalados en tu sistema. El soporte de Ghidra todavía está en una etapa muy temprana, así que solo espera las funciones mínimas como la sincronización de nombres de artefactos y comentarios.
Progreso del soporte de decompiladores
Aunque soportamos los decompiladores mencionados en la sección anterior, no todos los decompiladores están soportados al mismo nivel de sincronización. Para entender la diferencia entre soporte de artefactos, pull, push y auto push, lee nuestra introducción al uso de decompiladores.
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 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |