Tool
LuaJIT Decompiler v2
Decompiles LuaJIT bytecode files back into Lua source, written as a replacement for the older Python LuaJIT decompiler. The README reports full support for gotos and for stripped bytecode, including reconstructed locals and upvalues, and its boolean-expression recovery follows a published decompilation algorithm. It processes single files or whole folders and writes .lua output.
Requirements & limits
- Users supply LuaJIT bytecode files or a folder containing them, by drag and drop or on the command line; decompiled .lua files go to an output folder beside the executable unless overridden. Options filter by extension, ignore debug info, skip files that fail instead of showing an assertion pop-up, and format output to minimize diffs.
- The reader accepts bytecode format versions 1 and 2 and rejects big-endian bytecode, which the README lists as future work along with better decompilation of conditional assignments. The repository has no tests, CI or published accuracy results; the program reports how many files failed to decompile.
- Windows only: the README directs users to a release executable (the Mar_24_2024 release, whose notes say it was rebuilt on 2026-05-14), and main.h lists Visual Studio, C++20, the Windows API and an unsigned default char as build requirements, with no project or build files included. A Call-of-Duty branch, four commits ahead of master, has its own release executable. Last commit at review: 2026-05-14.
- MIT license text that also carries the LuaJIT and Lua copyright notices; GitHub does not classify it. Reviewed sources state no REA use, and this collection did not run the decompiler.
About this entry
- Type
- Tool
- Category
- Game analysis tools
- Relationship
- Foundation tool
- Targets
- Binary · Game
Sources reviewed
The description was reviewed against primary sources. This does not establish runtime testing, security auditing or verified compatibility.
Primary sources
- README.md GitHub · marsinator358/luajit-decompiler-v2 · Revision 6a8a0ce
- LICENSE GitHub · marsinator358/luajit-decompiler-v2 · Revision 6a8a0ce
- main.h GitHub · marsinator358/luajit-decompiler-v2 · Revision 6a8a0ce
- main.cpp GitHub · marsinator358/luajit-decompiler-v2 · Revision 6a8a0ce
- bytecode/bytecode.cpp GitHub · marsinator358/luajit-decompiler-v2 · Revision 6a8a0ce
- https://github.com/marsinator358/luajit-decompiler-v2/releases/tag/Mar_24_2024
More in Games
- DX-Ball: reconstruct sound panning · Case study
- TH04: recover a DOS bullet-ring helper · Case study
- Super Mario 64 DS: matching decompilation with relocation checks · Case study
- GoldenEye 007: an agent-assisted native port from a decompilation · Case study
- ssbu-recomp: static recompilation with explicit mode limits · Case study
- KartPad: platform integration for a Mario Kart Wii recompilation · Case study