BinSync es una herramienta de colaboración de descompilador construida en el sistema de control de versiones Git para permitir una colaboración detallada de ingeniería inversa independientemente del descompilador. BinSync está construido por mahaloz, el equipo de angr y el laboratorio de investigación SEFCOM. También se debe en gran parte a su uso por parte del equipo de hackers de Shellphish.
Todos los buenos descompiladores comparten objetos comunes llamados artefactos de ingeniería inversa (REA). Estos REA son el centro de la capacidad de sincronización de BinSync. Estos son los REA admitidos:
Nota: todos los tipos admiten tipos creados por el usuario, como estructuras.
Únase a nuestro discordia a continuación para obtener más ayuda en línea :
Para todas las instalaciones, lo mejor es utilizar nuestro instalador de dos partes con Python:
pip3 install binsync && binsync --install
BinSync también está disponible en el administrador de complementos de Binary Ninja. Si planeas usar BS con Ghidra , también debes realizar pip3 install binsync[ghidra]
. Si planea utilizar funciones BS adicionales, como el usuario ChatGPT, instale el paquete de esta manera: pip3 install binsync[extras]
, que instalará paquetes adicionales para soporte. Para obtener información completa sobre la instalación, lea nuestros documentos de inicio rápido.
Si planea instalar el paquete para que sea editable ( -e
), como en una instalación de desarrollador, asegúrese de pip>=23.0.0
.
v4.10.1
)Todas las versiones requieren Python >= 3.10 y Git instalado en su sistema. El soporte de Ghidra aún se encuentra en una etapa inicial, por lo que solo espere funciones mínimas como sincronización de nombres de artefactos y comentarios.
Aunque admitimos los descompiladores en la sección anterior, no todos los descompiladores son compatibles con el mismo nivel de sincronización. Para comprender la diferencia entre compatibilidad con artefactos, extracción, inserción y inserción automática, lea nuestra introducción al uso del descompilador.
Operaciones | Encabezados de funciones | Pila de variables | Vars globales | estructuras | Enumeraciones | Comentarios |
---|---|---|---|---|---|---|
Símbolos | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Tipos | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Jalar | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Empujar | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Empuje automático | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Operaciones | Encabezados de funciones | Pila de variables | Vars globales | estructuras | Enumeraciones | Comentarios |
---|---|---|---|---|---|---|
Símbolos | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Tipos | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Jalar | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Empujar | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Empuje automático | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Operaciones | Encabezados de funciones | Pila de variables | Vars globales | estructuras | Enumeraciones | Comentarios |
---|---|---|---|---|---|---|
Símbolos | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Tipos | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Jalar | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Empujar | ✅ | ✅ | ✅ | ✅ | ✅ | |
Empuje automático | ✅ | ✅ | ✅ | ✅ | ✅ |
Operaciones | Encabezados de funciones | Pila de variables | Vars globales | estructuras | Enumeraciones | Comentarios |
---|---|---|---|---|---|---|
Símbolos | ✅ | ✅ | ✅ | |||
Tipos | ✅ | ✅ | ✅ | |||
Jalar | ✅ | ✅ | ✅ | |||
Empujar | ✅ | ✅ | ✅ | |||
Empuje automático | ✅ | ✅ | ✅ |
Para secuencias de comandos, consulte Lib BinSync, que le permite realizar todo el levantamiento y manipulación de datos en Python.