A workflow for simplifying deliberately hard-to-read JavaScript by analyzing its abstract syntax tree, the structured representation of source code. It targets patterns such as encoded strings, fake branches, and rearranged control flow.
A workflow for reconstructing calculations in web JavaScript from their final outputs, such as request parameters, cookies, headers, or WebSocket messages. It covers signatures, encryption, verification challenges, WebAssembly, and heavily obfuscated code.
A workflow for making JavaScript that expects a web browser run in another environment, such as Node.js. It diagnoses missing browser objects and behaviors, including prototypes, property descriptors, storage, canvas, WebGL, and workers.