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
datadome-vm-internals — Analisi della VM offuscata personalizzata di DataDome e del formato bytecode, che rivela crittografia delle stringhe, cifrari S-box e segnali di fingerprinting del browser per l'educazione al reverse engineering. | Kitploit
Strumenti/GitHubGitHub/manjustice/datadome-vm-internals
Reverse EngineeringAnalisi MalwareAnalisi di BinariPaper e RicercaApprendimento e FormazioneAnti-Bot
GitHubmanjustice/datadome-vm-internals

datadome-vm-internals

Analisi della VM offuscata personalizzata di DataDome e del formato bytecode, che rivela crittografia delle stringhe, cifrari S-box e segnali di fingerprinting del browser per l'educazione al reverse engineering.

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
Vedi Repository
2754 mesi faRevisionato da Kitploit

DataDome VM

DataDome incorpora una VM personalizzata nel proprio bundle per nascondere ciò che effettivamente fa. Sono diventato curioso e l'ho smontata. Condivido qui per chiunque sia interessato allo stesso tipo di puzzle di reverse engineering.

DataDome invia un bundle JavaScript pesantemente offuscato al tuo browser. Al suo interno c'è una macchina virtuale personalizzata — compilano la loro logica effettiva di fingerprinting in un formato bytecode privato, poi la eseguono all'interno di quella VM in fase di runtime. Questa analisi si riferisce all'ultima versione al momento della scrittura.

Nessun codice di DataDome è incluso in questo repository — solo la mia analisi e i miei strumenti.

Per favore, leggi la nota in fondo prima di utilizzare questo.


Cosa c'è di interessante all'interno

Una volta che riesci a leggere il bytecode, alcune cose risaltano.

Crittografia delle stringhe. Tutte le stringhe sono memorizzate in un unico blob crittografato all'inizio del bytecode. Ogni stringa viene decodificata a runtime usando una chiave XOR per entry combinata con un seed incorporato nell'intestazione della tabella. Quindi anche leggere i byte grezzi non ti dice nulla senza conoscere il seed.

Tabelle S-box ovunque. I primi ~20KB di bytecode sono quasi interamente sequenze PUSH_N_IMM + ARRAY_FROM_STACK che costruiscono tabelle di lookup da 256 byte. Queste sono S-box, probabilmente per un cifrario personalizzato o round AES usati per fare hash dei segnali raccolti prima di inviarli.

Segnali di fingerprinting che puoi effettivamente vedere dopo aver decodificato le stringhe:

  • Canvas: disegna un rettangolo e legge i valori dei pixel
  • WebGL: il codice shader completo è lì in testo semplice una volta decodificato
  • Timing: praticamente l'intera timeline di navigazione
  • Memoria: utilizzo corrente dell'heap JS
  • Schermo: dimensioni e rapporto pixel
  • Trucchi DOM: elementi nascosti iniettati per misurare il rendering dei font e il layout
  • Verifica automazione: il classico webdriver

NOTA

Questo progetto esiste puramente per soddisfare la curiosità su come funziona nella pratica l'offuscamento tramite VM personalizzata. È un esercizio di apprendimento nel reverse engineering, non uno strumento per bypassare il rilevamento dei bot.

Quello che fai con questa conoscenza dipende da te.

Scarica lo strumento