How to use it.
Quickstart
Open the dashboard, paste your Lua/Luau script, pick a preset and hit Obfuscate. The output is a single self-contained script: copy it or download protected.lua and load it the same way you loaded the original.
Presets
Weak renames and wraps. Medium adds control-flow flattening and string encryption. Strong (default) adds the full Prometheus VM plus the encrypted-blob shell and all guard layers. Maximum raises every knob: heavier constant arrays and number splitting, longer builds.
Protection layers
Each build runs: Prometheus VM rewrite → RC4 blob 1 → LZW shell with VERIFY2 checksum → anti-tamper / anti-sandbox / anti-env-log / anti-dump guards → RC4+LZW blob 2 → outer VM harness. The payload is an encrypted blob, so dumping the file surface reveals nothing; the LZW shell and VERIFY2 layers still run inside it.
Runtime requirements
Targets Lua 5.1-compatible and Luau runtimes (Roblox executors). Uses debug.getinfo, task.wait when present, and standard Roblox globals only when they exist; outside Roblox the sandbox and env-log guards skip cleanly.
FAQ
Does output still print the same? Yes. Every build is seed-validated with a real Lua round-trip before it ships.
Why is the output so much bigger? The VM plus two encrypted blobs trade size for hardness; expect 40-120x on small scripts, less on large ones.
Can it be decrypted? Keys are per-build random and live only inside the shell; a dump of the file is ciphertext.