Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
antidbg — Una libreria anti-debugging userland C/C++ furtiva e completamente basata su syscall per Windows, progettata per proteggere il software dal reverse engineering | Kitploit
Strumenti/GitHubGitHub/notrequiem/antidbg
Strumenti DifensiviAnalisi StaticaAnalisi Dinamica (Sandboxing)Reverse EngineeringAnalisi MalwareAnalisi di BinariAnti-Bot
GitHubnotrequiem/antidbg

antidbg

Una libreria anti-debugging userland C/C++ furtiva e completamente basata su syscall per Windows, progettata per proteggere il software dal reverse engineering

Vedi Repository
3433312124 giorni 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

AntiDBG

antidbg è una libreria anti-debugging user-mode x64 per Windows, progettata per proteggere il software dal debugging.

Considera la libreria come una base per la tua protezione anti-debugging, non come la tua unica difesa.

La libreria è:

  • Molto facile da usare (è richiesta una sola chiamata di funzione).
  • Progettata per alte prestazioni e utilizzo minimo di risorse (1% di utilizzo CPU; <2MB di memoria).
  • Priva di qualsiasi dipendenza esterna.
  • Completamente con licenza MIT.
  • Conforme a CFG.

Struttura

Il modello di minaccia presuppone che un debugger possa intercettare il software protetto da questo sistema di protezione da qualsiasi livello di privilegio, essendo le rilevazioni meno efficaci quanto più alto è il livello di privilegio.

Questo software è rafforzato per aggirare l'intercettazione banale con CPL > 0, tramite:

  • Evitare qualsiasi tipo di hook API tramite syscall con assembly inline.
  • Applicare politiche di protezione della memoria virtuale e mitigazione dell'injection per il processo corrente.
  • Prevenire lo spoofing delle syscall in RAX rilevando e/o sovrascrivendo callback di strumentazione non legittime.
  • Rilevare qualsiasi tipo di patch inline sulle sezioni .text monitorate effettuando un confronto on-disk vs in-memory.
  • Analizzare la consegna della gestione delle eccezioni (VEH, SEH, LPTOP_LEVEL_EXCEPTION_FILTER) e i breakpoint software.
  • Testare il comportamento di reindirizzamento di PAGE_GUARD.
  • Proteggere stub importanti come memoria non scrivibile, monitorandoli successivamente con hashing accelerato via hardware su un thread separato.
  • Proteggere l'entrypoint del processo con TLS callbacks dall'aggancio del debugger, eseguendo l'ispezione dell'indirizzo di avvio dei thread.
  • Creare trap negli entrypoint del debugger, come DbgBreakPoint e DbgUiRemoteBreakin, per mandare in crash il processo o ritornare.
  • Nascondere tutti i thread dagli eventi del debugger e dal freeze del processo. Garantisce che lo stato di priorità dei thread non venga influenzato
  • Impostare un handler vettorizzato globale non appena iniziano le protezioni.

Se l'unico modo per eseguire un controllo è utilizzare una funzione esportata non richiamabile via syscall, la funzione in questione viene manualmente reverse-engineered e ricostruita per essere eseguita nello spazio di indirizzi del modulo del thread di protezione. Tutte le strutture di memoria user-mode vengono attraversate con introspezione diretta della memoria invece di usare API.

Le routine di protezione lasciano esplicitamente alcuni percorsi di esecuzione senza protezione contro gli hook user-mode, fungendo da honeypot di memoria. Vengono utilizzati per il confronto dello stato e per confondere gli attaccanti.

Le routine di protezione vengono eseguite in modo pseudo-casuale. L'entropia è decisa con puro ASLR basato su hardware, comportamento dello stack e un po' di matematica; senza chiamare il kernel, usando API user-mode, o emettendo istruzioni di uscita condizionali o incondizionali da parte di hypervisor.

Quando viene rilevata una violazione di sicurezza, il sistema di protezione manda in crash il processo corrente invocando INT 29h con STATUS_SXS_EARLY_DEACTIVATION, aggirando tutti gli handler delle eccezioni. In alcuni casi, accoda anche un APC al kernel per terminare il processo corrente.

Rilevazioni

Trovate nell'entrypoint principale (abdg.c) di questa libreria, spiegate in ordine.

Spiegazioni sintetizzate; una specifica rilevazione può eseguire più controlli extra/sub rispetto a quanto spiegato qui.

Puoi trovare più codice sorgente di altri concetti di rilevazione nella cartella antidebug\archived.

Scarica lo strumento