A VS Code extension that automatically decompiles Lua into readable source when you open a .luac file. It supports both:
MTA:SA signed .luac files (RSA-obfuscated headers + encrypted bytecode) — the Anubis format.
Raw Lua 5.1 bytecode files.
Features
Automatic decompilation — open (or focus) a .luac file and the decompiled Lua source is shown automatically in a read-only preview editor beside it.
OpenRouter rewrite preview — if you add an OpenRouter API key, the extension shows a second split-screen preview with renamed functions, locals, and tables inferred from context.
Virtual read-only preview — results are shown without polluting your workspace (scheme anubis-decompiled://).
Decompile to .lua — write the result as a real file next to the source.
Decompile a folder — batch decompile every .luac in an explorer folder.
Caching — repeated opens are instant.
Commands and context menus in the editor title bar and explorer.
Requirements
Python 3 on PATH (or set anubisDecompiler.pythonPath)
Java on PATH (or set anubisDecompiler.javaPath) — to run unluac.
unluac.jar is bundled in resources/.
Usage
Open a .luac file, or click any .luac in the Explorer/Editor.
The decompiled source opens in a preview editor.
Use the editor title/explorer right-click menu, or the Command Palette (Ctrl+Shift+P), for:
Anubis: Decompile Current File
Anubis: Re-decompile Current File
Anubis: Decompile to .lua File
Anubis: Decompile Folder...
Anubis: Clear Decompile Cache
Settings
Setting
Default
Description
anubisDecompiler.pythonPath
python
Python interpreter for decryption/deobfuscation
anubisDecompiler.javaPath
java
Java executable used to run unluac
anubisDecompiler.autoDecompile
true
Auto-decompile when a .luac is opened
anubisDecompiler.showPreview
true
Show result in a preview editor
anubisDecompiler.pythonTimeout
60000
Per-file decompile timeout (ms)
anubisDecompiler.openrouterApiKey
empty
OpenRouter API key used to rewrite and rename decompiled Lua