LuaDec for Lua 5.1 is a Lua decompiler targeting lua versions 5.1.x
It is based on Hisham Muhammad's luadec which targeted lua 5.0.x
LuaDec51 is free software and uses the same license as the original LuaDec
It currently has the following functionality:
Current version is 2.0
Currently luadec51 can decompile most constructs of lua scripts, including scripts that have debug informations stripped. It still has some shortcomings:
Planned for luadec 3.0:
To use luadec you have to compile it first. Read the following sections for more information
To use the ruby based tools compare and luadecguess you need to have ruby version 1.8 installed on your computer as well
To simply decompile a script run luadec as following:
luadec filename.luac > filename.lua
This should decompile filename.luac to filename.lua
To disassemble a file use the -dis option:
luadec -dis filename.luac
There are some more options, usually for debug purposes, or for cases where the built in local guesser guesses wrong. Use -h to get a complete list of usable parameters
The source code of LuaDec 5.1 and windows binaries can be downloaded from the GitHub page. You can find windows binaries under the Releases tab. You might need to have the Visual Studio 2013 C++ redistributables installed for the project to work.
You need to download a version of lua you want to use, and put it into the lua directory. After that you can use the Makefile in the build directory to compile both projects. Alternatively there is also an MSVC directory which contains a Visual Studio 2013 project file you can use to compile luadec.
There is also a set up luadec project for MSVC++ 2008, that uses a modified lua 5.1.4 version with unicode support at http://winmo.sztupy.hu/luadec.html. Do not use this project tree for usage with generic lua files, because it won't work (it will expect numerals in Q24.8 format, and strings in unicode)
There are currently two separate binaries provided for lua 5.1. Both are windows binaries, and both contain lua 5.1.4 binaries (intperpreter and compiler) too
The generic lua 5.1 version can be found at the project's download page The unicode mobile version used in HTC phones can be found at http://winmo.sztupy.hu/luadec.html If you have compiled luadec for some other lua 5.1 version or operating system, then feel free to contact me, so I can add them to the project
Changelog
LuaDec 2.0.2 [4/Dec/2014]
{...}
constructLuaDec 2.0.1 [17/May/2012]
LuaDec 2.0 [10/Mar/2009]
LuaDec 1.9
LuaDec 1.0
LuaDec beta 6
LuaDec beta 5
LuaDec beta 4
LuaDec beta 3
LuaDec beta 2
LuaDec beta 1
alpha 2
alpha 1
LuaDec51 is based on Hisham Muhammad's luadec
The internals of Lua5.1 was learned from Kein-Hong Man's A No-Frills Introduction to Lua 5.1 VM Instructions
Also thanks to anyone involved in helping me on XDA
Contact information at http://winmo.sztupy.hu