var state = 0; while(true) { switch(state) { case 0: if(user.isAdmin) { state=1; continue; } else { state=2; continue; } case 1: grantAccess(); state=3; break; case 2: deny(); state=3; break; case 3: break; } } It’s ugly, slow, and very hard to follow.
Original:
Enter javascript-obfuscator – the most popular, flexible, and battle-tested obfuscation tool for Node.js and the browser. Version represents a stable, powerful midpoint in its evolution, delivering robust protection without the instability of the latest experimental builds. javascript-obfuscator-4.2.5
4.2.5 randomly injects useless instructions – no-ops, unreachable branches, dummy calculations – that never affect the final result but drown a reverse engineer in noise. var state = 0; while(true) { switch(state) { case 0: if(user
Variables, functions, and properties become _0x1a2b , _0x3c4d , etc. But 4.2.5 introduces dictionary replacement – you can supply custom names like ['oOO0O0', 'OO0o0O'] to mimic malware-style naming. npm install javascript-obfuscator@4
npm install javascript-obfuscator@4.2.5 --save-dev