Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
datadome-vm-internals — Analyse der benutzerdefinierten obfuskierten VM und des Bytecode-Formats von DataDome, die String-Verschlüsselung, S-Box-Chiffren und Browser-Fingerprinting-Signale für die Reverse-Engineering-Ausbildung offenlegt. | Kitploit
Tools/GitHubGitHub/manjustice/datadome-vm-internals
Reverse EngineeringMalware-AnalyseBinäranalysePapers & ForschungLernen & BildungAnti-Bot
GitHubmanjustice/datadome-vm-internals

datadome-vm-internals

Analyse der benutzerdefinierten obfuskierten VM und des Bytecode-Formats von DataDome, die String-Verschlüsselung, S-Box-Chiffren und Browser-Fingerprinting-Signale für die Reverse-Engineering-Ausbildung offenlegt.

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Repository anzeigen
2757vor 4 MonatenVon Kitploit geprüft

DataDome VM

DataDome bettet eine benutzerdefinierte VM in ihr Bundle ein, um zu verbergen, was sie eigentlich tun. Ich wurde neugierig und habe es auseinandergenommen. Teile es hier für jeden, der an der gleichen Art von Reverse-Engineering-Rätsel interessiert ist.

DataDome liefert ein stark obfuskiertes JavaScript-Bundle an Ihren Browser. Darin befindet sich eine benutzerdefinierte virtuelle Maschine – sie kompilieren ihre eigentliche Fingerprinting-Logik in ein privates Bytecode-Format und führen sie dann zur Laufzeit in dieser VM aus. Diese Analyse der neuesten Version zum Zeitpunkt der Erstellung.

In diesem Repo ist kein DataDome-Code enthalten – nur meine eigene Analyse und Werkzeuge.

Bitte lesen Sie den Hinweis am Ende, bevor Sie dies verwenden.


Was im Inneren interessant ist

Sobald man den Bytecode lesen kann, fallen einige Dinge auf.

Verschlüsselung von Zeichenketten. Alle Zeichenketten sind in einem einzigen verschlüsselten Blob am Anfang des Bytecode gespeichert. Jede Zeichenkette wird zur Laufzeit mit einem pro Eintrag variierenden XOR-Schlüssel in Kombination mit einem im Tabellenkopf eingebauten Seed decodiert. Selbst das Lesen der Rohbytes verrät Ihnen also nichts, ohne den Seed zu kennen.

S-Box-Tabellen überall. Die ersten ~20KB Bytecode bestehen fast vollständig aus PUSH_N_IMM + ARRAY_FROM_STACK-Sequenzen, die 256-Byte-Nachschlagetabellen aufbauen. Dies sind S-Boxen, wahrscheinlich für eine benutzerdefinierte Chiffre oder AES-Runden, die zum Hashen der gesammelten Signale vor dem Senden verwendet werden.

Fingerprinting-Signale, die Sie nach dem Decodieren der Zeichenketten tatsächlich sehen können:

  • Canvas: zeichnet ein Rechteck und liest Pixelwerte zurück
  • WebGL: der vollständige Shader-Quellcode liegt nach der Decodierung im Klartext vor
  • Timing: im Grunde die vollständige Navigationszeitleiste
  • Memory: aktuelle JS-Heap-Nutzung
  • Screen: Abmessungen und Pixelverhältnis
  • DOM-Tricks: fügt versteckte Elemente ein, um Schriftdarstellung und Layout zu messen
  • Automation-Check: der klassische webdriver

HINWEIS

Dieses Projekt existiert rein, um die Neugier zu befriedigen, wie benutzerdefinierte VM-Obfuskation in der Praxis funktioniert. Es ist eine Lernübung im Reverse Engineering, kein Werkzeug zur Umgehung von Bot-Erkennung.

Was Sie mit diesem Wissen tun, liegt bei Ihnen.

Tool herunterladen