
binsync v5.15.4
Um plugin de engenharia reversa para colaboração entre decompiladores, construído sobre git.
BinSync
BinSync é uma ferramenta de colaboração para decompiladores construída sobre o sistema de versionamento Git para permitir colaboração em engenharia reversa de forma granular, independentemente do decompilador. BinSync foi criado por mahaloz, pela equipe angr e pelo laboratório de pesquisa SEFCOM. Também se deve, em grande parte, ao seu uso pela equipe de hacking Shellphish.
Todos os bons decompiladores compartilham objetos comuns chamados Artefatos de Engenharia Reversa (REAs). Esses REAs são o centro da capacidade de sincronização do BinSync. Aqui estão os REAs suportados:
- Cabeçalhos de funções (símbolo, argumentos, tipo)
- Variáveis de pilha (símbolo, tipo)
- Structs
- Enums
- Comentários
Nota: todos os tipos suportam tipos criados pelo usuário, como structs.
Junte-se ao nosso discord abaixo para mais ajuda online:
Início Rápido
Para todas as instalações, é melhor usar nosso instalador em duas partes com Python:
pip3 install binsync && binsync --install
BinSync também está disponível no gerenciador de plugins do Binary Ninja.
Se você planeja usar o BS com o Ghidra, deve iniciá-lo no modo PyGhidra.
Se você planeja usar recursos extras do BS, como o ChatGPT User, instale o pacote assim: pip3 install binsync[extras], que instalará pacotes extras para suporte.
Para informações completas de instalação, leia nossa documentação de início rápido.
Para desenvolvedores, instale o pacote como editável (-e) e certifique-se de que pip>=23.0.0.
Plataformas Suportadas
- IDA Pro: >= 8.4 (se você tiver uma versão mais antiga, use BinSync v4.10.1)
- Binary Ninja: >= 2.4
- angr-management: >= 9.0
- Ghidra: >= 12.0 (modo PyGhidra)
Todas as versões exigem Python >= 3.10 e Git instalados no seu sistema. O suporte ao Ghidra ainda está em estágio inicial, então espere apenas recursos mínimos, como sincronização de nomes de artefatos e comentários.
Progresso do Suporte a Decompiladores
Embora suportemos os decompiladores mencionados na seção anterior, nem todo decompilador é suportado no mesmo nível de sincronização. Para entender a diferença entre suporte a artefatos, pull, push e auto push, leia nossa introdução ao 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 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |