Compile JS to real virtual machine bytecode, encrypt with multi-pass XOR, and embed a stack-machine interpreter. Your source becomes virtually impossible to reverse engineer.
Every piece of your JavaScript goes through a real compilation and encryption pipeline before it ever reaches the browser.
Your source is parsed into a full Abstract Syntax Tree using Acorn. Every expression and declaration is understood structurally before compilation.
The AST is compiled into a 53-opcode stack-machine instruction set. Arithmetic, closures, loops, and object creation all become compact opcodes.
Basic blocks are Fisher-Yates shuffled and all jump targets rewritten. The execution path becomes a maze with no obvious direction.
XOR → byte rotation → reverse-key XOR. Output is Base64-encoded and chunked. Decryption only ever happens at runtime inside the VM stub.
Source code is completely destroyed as text. It becomes a serialized instruction list with no resemblance to the original JS.
CompilerEvery function's basic blocks are shuffled randomly. The logical flow becomes a non-linear maze of JMPs with no obvious entry or exit.
CFFBytecode is XOR'd, byte-rotated, then XOR'd again with reversed key. Decryption only ever happens inside the runtime stub.
CryptoEvery variable in the VM stub is replaced with characters from a 75+ entry Unicode charset, reshuffled on every compile.
RenameA debugger-based timing check runs at load and every 2 seconds. If DevTools pauses for over 100ms, the tab locks in an infinite loop.
RuntimeRandom variables, unreachable branches, and void expressions are woven into the output to confuse static analysis tools.
Noise// Business logic, fully readable const SECRET = "ENT-2024-XXXXXX"; const VALID = ["ENT-2024-XXXXXX","PRO-2024-YYY"]; function isLicensed(key) { return VALID.indexOf(key) !== -1; } class PricingEngine { constructor(base) { this.prices = base; this.discounts = {gold:0.30,silver:0.15}; } calculate(sku, tier, qty) { var base = this.prices[sku] || 0; var disc = this.discounts[tier] || 0; return base * (1 - disc) * qty; } }
(function(){ var __ʻʼ=1243819; var __ᴵᴵ=function(){return 8823;}; if(false){throw new Error('0x3fa2e1');} var __ˑˑ=["U2Fsd...","GxcR1..."].join(''); var __ʾʿ=[12,44,7,91,23,...]; var __ˆˈ=function(s){ var __ʻʽ=atob(s),__ᵎᵎ=[]; for(var __ᵢᵢ=0;__ᵢᵢ<__ʻʽ.length;__ᵢᵢ++) __ᵎᵎ.push(__ʻʽ.charCodeAt(__ᵢᵢ)); /* 3-pass decrypt... */ return JSON.parse(__ᵎᵎ.map(...)); }; /* VM: 200+ lines switch/case */ __ˊˋ(__ˆˈ(__ˑˑ)); })();
Free. No account required. Runs entirely in your browser.