Skip to content
KitploitKITPLOIT
StrumentiBlog
Log in
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
ret-sync — ret-sync è un insieme di plugin che aiuta a sincronizzare una sessione di debugging (WinDbg/GDB/LLDB/OllyDbg2/x64dbg) con i disassemblatori IDA/Ghidra/Binary Ninja. | Kitploit
Strumenti/GitHubGitHub/bootleg/ret-sync
Analisi Dinamica (Sandboxing)Reverse EngineeringDebuggerUtilità e FrameworkAnalisi di Binari
GitHubbootleg/ret-sync

ret-sync

ret-sync è un insieme di plugin che aiuta a sincronizzare una sessione di debugging (WinDbg/GDB/LLDB/OllyDbg2/x64dbg) con i disassemblatori IDA/Ghidra/Binary Ninja.

Vedi Repository
2.4k307357 mesi faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

ret-sync

ret-sync sta per Reverse-Engineering Tools SYNChronization. È un insieme di plugin che aiutano a sincronizzare una sessione di debug (WinDbg/GDB/LLDB/OllyDbg/OllyDbg2/x64dbg) con un disassemblatore (IDA/Ghidra/Binary Ninja). L'idea di base è semplice: prendere il meglio da entrambi i mondi (analisi statica e dinamica).

I debugger e l'analisi dinamica ci forniscono:

  • vista locale, con contesto dinamico live (registri, memoria, ecc.)
  • funzionalità/API specializzate integrate (es: WinDbg !peb, !drvobj, !address, ecc.)

I disassemblatori e l'analisi statica ci forniscono:

  • vista macro sui moduli
  • analisi del codice, firme, tipi, ecc.
  • vista grafica elegante
  • decompilazione
  • archiviazione persistente delle conoscenze all'interno di IDB/GPR

Funzionalità principali:

  • sincronizza le viste grafiche e di decompilazione con lo stato del debugger
  • nessuna necessità di gestire ASLR, gli indirizzi vengono ribasati al volo
  • passa dati (commento, output di comandi) dal debugger al disassemblatore
  • più IDB/GPR possono essere sincronizzati contemporaneamente, permettendo di tracciare facilmente attraverso più moduli
  • disassemblatore e debugger possono essere su host / VM diversi

ret-sync è un fork di qb-sync che ho sviluppato e mantenuto durante la mia permanenza presso Quarkslab.


Indice dei contenuti

  • Contenuto del repository
  • Prerequisiti generali
  • Release binaria
  • Configurazione di ret-sync
  • Installazione
    • Estensione per IDA
    • Estensione per Ghidra
    • Estensione per Binary Ninja
    • Estensione per WinDbg
    • Installazione di GNU gdb (GDB)
    • Installazione di LLDB
    • Installazione di OllyDbg 1.10
    • Installazione di OllyDbg2
    • Installazione di x64dbg
  • Utilizzo
    • Comandi del debugger di ret-sync
    • Utilizzo con IDA
    • Utilizzo con Ghidra
    • Utilizzo con Binary Ninja
    • Utilizzo con WinDbg
    • Utilizzo con GNU gdb (GDB)
    • Utilizzo con LLDB
    • Utilizzo con OllyDbg 1.10
    • Utilizzo con OllyDbg2
    • Utilizzo con x64dbg
    • Utilizzo della libreria Python
  • Estendere
  • TODO
  • Bug/Limitazioni note
  • Licenza
  • Ringraziamenti

Contenuto del repository

I plugin per debugger:

  • ext_windbg/sync: file sorgente dell'estensione WinDbg, una volta compilata: 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

I plugin per disassemblatori:

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

E il plugin libreria:

  • ext_lib/sync.py: libreria Python standalone

Prerequisiti generali

I plugin per IDA e GDB richiedono un ambiente Python funzionante. Sono supportati Python 2 (>=2.7) e Python 3.

Release binaria

Binari precompilati per i debugger WinDbg/OllyDbg/OllyDbg2/x64dbg sono forniti tramite una pipeline Azure DevOps: Build Status

Seleziona l'ultima build e controlla gli artefatti nella sezione Related: 6 pubblicati.

Un archivio precompilato del plugin Ghidra è fornito in ext_ghidra/dist.

Configurazione di ret-sync

ret-sync dovrebbe funzionare immediatamente per la maggior parte degli utenti con una configurazione tipica: debugger e disassemblatore(i) sullo stesso host, nomi dei moduli corrispondenti.

Tuttavia, in alcuni scenari potrebbe essere utile una configurazione specifica. Per questo, le estensioni e i plugin cercano un file di configurazione globale opzionale chiamato .sync nella directory home dell'utente. Deve essere un file .INI valido.

Inoltre, i plugin per IDA e Ghidra cercano anche il file di configurazione nella directory IDB o del progetto (<project>.rep) per primi, per consentire impostazioni locali, per-IDB/progetto. Se è presente un file di configurazione locale, il file di configurazione globale viene ignorato.

I valori dichiarati in questi file di configurazione sovrascrivono i valori predefiniti. Si noti che nessun file .sync viene creato per impostazione predefinita.

Di seguito dettagliamo tre scenari comuni in cui un file di configurazione è utile/necessario:

  • Debug remoto
  • Nomi dei moduli non corrispondenti
  • PID mancante

Debug remoto: debugger e disassemblatore sono su host diversi

La sezione [INTERFACE] viene utilizzata per personalizzare le impostazioni relative alla rete. Supponiamo di voler sincronizzare IDA con un debugger in esecuzione all'interno di una macchina virtuale (o semplicemente un altro host), scenario comune di debug remoto del kernel.

Creare semplicemente due file .sync:

  • uno sulla macchina dove è installato IDA, nella directory IDB:
  • Per Ghidra, posizionarlo nella home directory, es. "/home/user" o "C:\Users\user".``` [INTERFACE] host=192.168.128.1 port=9234
Dice al plugin **ret-sync** ``IDA`` di ascoltare sull'interfaccia
``192.168.128.1`` con porta ``9234``. Inutile dire che questa
interfaccia deve essere raggiungibile dall'host remoto o dalla macchina virtuale.

* una sulla macchina dove viene eseguito il debugger, nella home directory dell'utente:```
[INTERFACE]
host=192.168.128.1
port=9234

Dice al plugin debugger ret-sync di connettersi al plugin ret-sync IDA configurato in precedenza per ascoltare su questa interfaccia.

NOTA: Devi specificare un IP reale qui, e non usare 0.0.0.0. Questo perché la variabile è utilizzata da più sorgenti sia per il binding che per la connessione, quindi l'uso di 0.0.0.0 provocherà errori strani.

I nomi dei moduli IDB e del debugger sono diversi```

[ALIASES] ntoskrnl_vuln.exe=ntkrnlmp.exe

La sezione ``[ALIASES]`` viene utilizzata per personalizzare il nome utilizzato da un disassemblatore (IDA/Ghidra) per registrare un modulo al suo dispatcher/gestore di programmi.

Per impostazione predefinita, i plugin dei disassemblatori utilizzano il nome del file di input. Tuttavia, è possibile che il file sia stato rinominato in precedenza e non corrisponda più al nome del processo effettivo o del modulo caricato come visto dal debugger.

Qui diciamo semplicemente al dispatcher di corrispondere al nome `ntkrnlmp.exe` (nome reale) invece di `ntoskrnl_vuln.exe` (nome IDB).


## gdb con frontend di debug Qt Creator

Il frontend di debug di Qt Creator modifica il modo in cui viene registrato l'output dei comandi di gdb. Poiché ciò interferirebbe con la sincronizzazione, esiste un'opzione per utilizzare l'output grezzo di gdb per la sincronizzazione invece di un file temporaneo. Nel file di configurazione .sync utilizzare```
[GENERAL]
use_tmp_logging_file=false

if you wish to use the Qt debugging frontend for the target.

Dispositivi embedded e assenza di /proc/<pid>/maps

Scarica lo strumento