Lua Deobfuscation
A Discord bot that reverses obfuscated Lua back into something readable.
Join the Discord
by Bonnie Bluesupported obfuscators
Lua obfuscation comes in a few forms. Simpler tools rename variables, encode strings, and flatten control flow. The more serious ones compile Lua down to custom bytecode and run it on a VM bundled into the script. Those VMs are either stack-based or register-based, usually with mutation layers on top to make static analysis harder. The bot handles each supported obfuscator end to end.
The original variable names are gone the moment obfuscation runs. You'll get generic names back, not the originals. The structure and logic will still be clear.
Most popular Lua obfuscators are VM-based. Those can't be automatically deobfuscated without a custom devirtualizer built specifically for that VM. The supported obfuscators each have one. Unsupported ones don't have that yet.
For obfuscators that aren't fully supported yet, the bot still attempts to simplify at the AST level. Encoded strings get resolved, redundant wrappers get flattened, and dead layers get stripped out. It won't be a full reversal but it's still useful.
Join the Discord server and DM the bot your file. It'll send the output back. If something looks off or breaks, mention it in the server and it'll get looked at.
Each supported obfuscator is covered across its current version and older releases. When an obfuscator ships a new version that changes the output format, support gets added.