Reverse engineering study of the DataDome client-side script: deobfuscation, fingerprint structure and payload encryption.
Important
Archived research · Educational use only This repository documents past research and is no longer maintained. The analyzed system has changed since publication, so the findings are outdated and may not reflect current versions. The material is provided solely for educational and defensive security purposes. It must not be used to circumvent protections, automate access without authorization, or violate any platform's terms of service.
This project breaks down how the DataDome client script (tags.js) collects browser signals, how those signals are structured, and how the resulting payload is encrypted before transmission. It is intended as a reference for anyone studying browser fingerprinting and client-side bot-mitigation techniques.
| File | Description |
|---|---|
tags.js |
Original DataDome client-side script (reference copy, as analyzed) |
deobfuscator.js |
Deobfuscation pass that turns tags.js into readable source |
tags_deobfuscated.js |
Output of the deobfuscator |
builder.py |
Reconstruction of the fingerprint payload structure based on a Chrome-like profile |
crypto.py |
Reimplementation of the payload encryption logic |
solver.py |
End-to-end request flow used during testing |
- JavaScript deobfuscation (string arrays, constant folding, control flow)
- Browser fingerprint collection and payload layout
- Client-side encryption of telemetry payloads
- Design of client-side protection mechanisms
DataDome is a trademark of its respective owner. This project is independent and is not affiliated with, sponsored or endorsed by DataDome. Third-party scripts included for analysis remain the property of their respective owners.
The software is provided "as is", without warranty of any kind. The author accepts no liability for any misuse.
Vendors with concerns about this repository can reach out at jomandiscord@gmail.com. Content will be reviewed and adjusted or removed promptly where appropriate.