Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
ret-sync — ret-sync é um conjunto de plugins que ajuda a sincronizar uma sessão de depuração (WinDbg/GDB/LLDB/OllyDbg2/x64dbg) com desmontadores IDA/Ghidra/Binary Ninja. | Kitploit
Ferramentas/GitHubGitHub/bootleg/ret-sync
Análise Dinâmica (Sandboxing)Engenharia ReversaDepuradoresUtilitários e FrameworksAnálise de Binários
GitHubbootleg/ret-sync

ret-sync

ret-sync é um conjunto de plugins que ajuda a sincronizar uma sessão de depuração (WinDbg/GDB/LLDB/OllyDbg2/x64dbg) com desmontadores IDA/Ghidra/Binary Ninja.

Ver Repositório
2.4k30735há 7 mesesRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

ret-sync

ret-sync significa "Reverse-Engineering Tools SYNChronization". É um conjunto de plugins que ajudam a sincronizar uma sessão de depuração (WinDbg/GDB/LLDB/OllyDbg/OllyDbg2/x64dbg) com um desassemblador (IDA/Ghidra/Binary Ninja). A ideia subjacente é simples: aproveitar o melhor dos dois mundos (análise estática e dinâmica).

Depuradores e análise dinâmica nos fornecem:

  • visão local, com contexto dinâmico ao vivo (registradores, memória, etc.)
  • recursos/API especializados embutidos (ex: !peb, !drvobj do WinDbg, !address, etc.)

Desassembladores e análise estática nos fornecem:

  • visão macro sobre módulos
  • análise de código, assinaturas, tipos, etc.
  • visualização gráfica elegante
  • descompilação
  • armazenamento persistente de conhecimento dentro de IDBs/GPRs

Principais recursos:

  • sincronizar visualizações gráficas e de descompilação com o estado do depurador
  • não é necessário lidar com ASLR, os endereços são recalculados automaticamente
  • passar dados (comentário, saída de comando) do depurador para o desassemblador
  • múltiplos IDBs/GPRs podem ser sincronizados ao mesmo tempo, permitindo rastrear facilmente por vários módulos
  • desassemblador e depurador podem estar em hosts/VMs diferentes

ret-sync é um fork do qb-sync que desenvolvi e mantive durante minha estadia no Quarkslab.


Tabela de conteúdo

  • Conteúdo do repositório
  • Pré-requisitos gerais
  • Lançamento binário
  • Configuração do ret-sync
  • Instalação
    • Extensão IDA
    • Extensão Ghidra
    • Extensão Binary Ninja
    • Extensão WinDbg
    • Instalação do GNU gdb (GDB)
    • Instalação do LLDB
    • Instalação do OllyDbg 1.10
    • Instalação do OllyDbg2
    • Instalação do x64dbg
  • Uso
    • Comandos do depurador ret-sync
    • Uso do IDA
    • Uso do Ghidra
    • Uso do Binary Ninja
    • Uso do WinDbg
    • Uso do GNU gdb (GDB)
    • Uso do LLDB
    • Uso do OllyDbg 1.10
    • Uso do OllyDbg2
    • Uso do x64dbg
    • Uso da biblioteca Python
  • Estender
  • TODO
  • Bugs/Limitações conhecidos
  • Licença
  • Saudações

Conteúdo do repositório

Os plugins do depurador:

  • ext_windbg/sync: arquivos fonte da extensão WinDbg, quando compilada: sync.dll
  • ext_gdb/sync.py: plugin GDB
  • ext_lldb/sync.py: plugin LLDB
  • ext_olly1: plugin OllyDbg 1.10
  • ext_olly2: plugin OllyDbg v2
  • ext_x64dbg: plugin x64dbg

Os plugins do desassemblador:

  • ext_ida/SyncPlugin.py
  • ext_ghidra/dist/ghidra_*_retsync.zip: plugin Ghidra
  • ext_bn/retsync: plugin Binary Ninja

E o plugin da biblioteca:

  • ext_lib/sync.py: biblioteca Python independente

Pré-requisitos gerais

Os plugins IDA e GDB requerem uma configuração Python válida. Python 2 (>=2.7) e Python 3 são suportados.

Lançamento binário

Binários pré-compilados para os depuradores WinDbg/OllyDbg/OllyDbg2/x64dbg são fornecidos através de um pipeline Azure DevOps: Build Status

Selecione a última compilação e verifique os artefatos na seção Related: 6 published.

Um arquivo pré-compilado do plugin Ghidra é fornecido em ext_ghidra/dist.

Configuração do ret-sync

ret-sync deve funcionar imediatamente para a maioria dos usuários com uma configuração típica: depurador e desassemblador(s) na mesma máquina, nomes de módulo correspondentes.

Ainda assim, em alguns cenários uma configuração específica pode ser usada. Para isso, as extensões e plugins verificam um arquivo de configuração global opcional chamado .sync no diretório pessoal do usuário. Deve ser um arquivo .INI válido.

Além disso, os plugins IDA e Ghidra também procuram pelo arquivo de configuração no diretório do IDB ou do projeto (<project>.rep) primeiro, para permitir configurações locais, por IDB/projeto. Se um arquivo de configuração local estiver presente, o arquivo de configuração global é ignorado.

Os valores declarados nesses arquivos de configuração substituem os valores padrão. Por favor, note que nenhum arquivo .sync é criado por padrão.

Abaixo detalhamos três cenários comuns onde um arquivo de configuração é útil/necessário:

  • Depuração remota
  • Nomes de módulos não correspondentes
  • PID ausente

Depuração remota: depurador e desassemblador estão em hosts diferentes

A seção [INTERFACE] é usada para personalizar configurações relacionadas à rede. Vamos supor que alguém queira sincronizar IDA com um depurador rodando dentro de uma máquina virtual (ou simplesmente outro host), cenário comum de depuração remota do kernel.

Simplesmente crie dois arquivos .sync:

  • um na máquina onde IDA está instalado, no diretório do IDB:
  • Para Ghidra, coloque no diretório pessoal, ex. "/home/user" ou "C:\Users\user".``` [INTERFACE] host=192.168.128.1 port=9234
Ele informa o plugin **ret-sync** do ``IDA`` para escutar na interface ``192.168.128.1`` com a porta ``9234``. É óbvio que essa interface deve estar acessível a partir do host remoto ou da máquina virtual.

* um na máquina onde o depurador é executado, no diretório home do usuário:```
[INTERFACE]
host=192.168.128.1
port=9234

Ele instrui o plugin de depurador ret-sync a conectar-se ao plugin IDA ret-sync configurado anteriormente para escutar nesta interface.

NOTA: Você deve especificar um IP real aqui, e não usar 0.0.0.0. Isso ocorre porque a variável é usada por múltiplas fontes tanto para vinculação quanto para conexão, então usar 0.0.0.0 resultará em erros estranhos.

Nomes dos módulos IDB e depurador são diferentes```

[ALIASES] ntoskrnl_vuln.exe=ntkrnlmp.exe

A seção ``[ALIASES]`` é usada para personalizar o nome que é usado por um desmontador (IDA/Ghidra) para registrar um módulo em seu despachante/gerenciador de programas.

Por padrão, os plugins do desmontador usam o nome do arquivo de entrada. No entanto, pode-se ter renomeado o arquivo anteriormente e ele não corresponde mais ao nome do processo real ou módulo carregado como visto pelo depurador.

Aqui, simplesmente dizemos ao despachante para corresponder ao nome `ntkrnlmp.exe` (nome real) em vez de `ntoskrnl_vuln.exe` (nome IDB).


## gdb with Qt Creator debugging frontend

O frontend de depuração do Qt Creator altera a forma como a saída do comando gdb é registrada. Como isso interferiria na sincronização, existe uma opção para usar a saída bruta do gdb para sincronização em vez de um arquivo temporário. No arquivo de configuração .sync, use```
[GENERAL]
use_tmp_logging_file=false

se deseja usar o frontend de depuração Qt para o alvo.

Dispositivos embarcados e ausência de /proc/<pid>/maps

Em alguns cenários, como depuração de dispositivos embarcados via serial ou firmware bruto no QEMU, o gdb não tem conhecimento do PID e não consegue acessar /proc/<pid>/maps.

Baixar ferramenta