Module refinery.lib.scripts.js

Expand source code Browse git
from __future__ import annotations

Sub-modules

refinery.lib.scripts.js.analysis

Static-analysis substrate for JavaScript deobfuscation. Transforms query a shared, computed model of the program here instead of each re-deriving …

refinery.lib.scripts.js.deobfuscation

JavaScript AST deobfuscation transforms.

refinery.lib.scripts.js.lexer
refinery.lib.scripts.js.model

The JavaScript syntax tree: one node type per production of the grammar, and the few predicates that answer a question about a node from the node alone …

refinery.lib.scripts.js.numbers

The JavaScript Number value domain. A Number is an IEEE-754 double, so the Python type that models one is float and nothing else: float arithmetic …

refinery.lib.scripts.js.parser
refinery.lib.scripts.js.precedence

JavaScript operator precedence and parenthesization rules …

refinery.lib.scripts.js.strict

Where strict mode comes from, and what it forbids. The parser is fully permissive and always produces the sloppy-mode parse tree; strict mode never …

refinery.lib.scripts.js.synth
refinery.lib.scripts.js.token
refinery.lib.scripts.js.utf16