Skip to content
KitploitKITPLOIT
StrumentiBlog
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
instrumentation_callbacks — Una prova di concetto che dimostra callback di instrumentazione su Windows 10 21h1 con una variabile TLS per garantire che tutte le syscall vengano catturate. | Kitploit
Strumenti/GitHubGitHub/deputation/instrumentation_callbacks
Analisi Dinamica (Sandboxing)Reverse EngineeringDebuggerAnalisi di Binari
GitHubdeputation/instrumentation_callbacks

instrumentation_callbacks

Una prova di concetto che dimostra callback di instrumentazione su Windows 10 21h1 con una variabile TLS per garantire che tutte le syscall vengano catturate.

Vedi Repository

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
160284 anni faRevisionato da Kitploit

instrumentation_callbacks

I callback di strumentazione sono una parte piuttosto divertente e poco documentata di Windows. Tutto il codice in questo repository è rilasciato sotto licenza MIT. Questo repository utilizza la spaziatura C++ in stile Google.

Sono ben accette pull request se trovi problemi, bug o ritieni che dovrebbe essere aggiunta una funzionalità specifica.

Cosa sono?

I callback di strumentazione ti permetteranno di gestire tutte le syscall (ed eccezioni!) inviate da un processo su cui hai posizionato un callback.

Il problema con i callback.

Ovviamente, ogni syscall verrà intercettata, quindi durante l'esecuzione del callback normalmente non dovresti emettere altre syscall al suo interno a meno che non voglia finire in ricorsione infinita.

Questo limiterebbe molto ciò che puoi fare all'interno del callback, o almeno porrebbe una sorta di sfida progettuale, ma nel prossimo paragrafo vedrai una soluzione abbastanza elegante al problema.

Non è perfetta, poiché un eventuale attaccante potrebbe impostare intenzionalmente la variabile per disabilitare il callback, ma è quasi perfetta per scopi di analisi.

La(e) possibile(i) soluzione(i).

Una soluzione a questo problema potrebbe essere impostare un flag vero/falso che abilita e disabilita le capacità di analisi del callback, lasciando essenzialmente passare ogni syscall se un'altra syscall è già in gestione.

Tuttavia, ciò lascerà passare la maggior parte delle syscall.

Questo repository, invece, risolve il problema di non poter emettere syscall all'interno di un callback impostando una variabile dipendente da TLS, assicurandoci di gestire tutte le syscall da tutti i thread pur potendo chiamarle noi stessi; le uniche syscall che ci perderemo sono quelle che emetteremo dall'interno del callback, che (nella maggior parte delle situazioni, come quelle in cui stiamo analizzando software) possiamo tranquillamente ignorare.

Usi ipotetici.

I callback di strumentazione hanno molti possibili utilizzi, uno potrebbe essere per scopi anti-cheat: potresti analizzare le syscall provenienti dal processo e determinare se provengono da uno spazio di indirizzi illegittimo o se vengono utilizzate per scopi malevoli, senza bisogno di riempire le DLL di sistema con bytepatch e hook.

Potresti anche usarli per ottenere esecuzione di codice all'interno di un processo: se riesci ad allocare e scrivere in memoria per poi impostare le informazioni del processo, sarai in grado di dirottare un thread che esegue una syscall facendogli chiamare un tuo callback.

Ovviamente, non approvo l'utilizzo di alcun codice in questo o in altri miei repository per sviluppare software fraudolento/malveolo.

Quello che fai con questo è di tua esclusiva responsabilità.

Scarica lo strumento