lua to luac
8 replies



31.01.17 11:57:03 pm
is that a way to convert lua to luac ?

@
StrikerD2000 | I love DC

Admin/mod comment:
Removed needless poll. /StarkkzCode:
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
inputFileName = "input file.lua"
outputFileName = "output file.lua"
inputFunction = assert( loadfile( inputFileName ) )
outputFile = io.open( outputFileName, "wb" )
outputFile:write( string.dump( inputFunction ) )
outputFile:close()
outputFileName = "output file.lua"
inputFunction = assert( loadfile( inputFileName ) )
outputFile = io.open( outputFileName, "wb" )
outputFile:write( string.dump( inputFunction ) )
outputFile:close()
Simplest way I believe.
Code:
luac(.exe) -o Outputfilename.luac script1.lua script2.lua
Lua binaries has written:
luac:
usage: luac [options] [filenames].
Available options are:
- process stdin
-l list
-o name output to file 'name' (default is "luac.out")
-p parse only
-s strip debug information
-v show version information
-- stop handling options
usage: luac [options] [filenames].
Available options are:
- process stdin
-l list
-o name output to file 'name' (default is "luac.out")
-p parse only
-s strip debug information
-v show version information
-- stop handling options
All right, and after renaming the *.luac in *.lua CS2D will continue to work with it, so it is one of protection for lua code.
Quake 2D Arena (30)'s lua code is protected in same way.


edited 1×, last 01.02.17 10:53:12 am
luac.mtasa.com
Way faster to compile a Lua file into .luac just within few clicks - doing some researching won't hurt. Unless you want to have all the control over how you compile the file then you have got to implement the Lua compiler yourself and run the command from
VADemon's post above.
Way faster to compile a Lua file into .luac just within few clicks - doing some researching won't hurt. Unless you want to have all the control over how you compile the file then you have got to implement the Lua compiler yourself and run the command from

Some more usefull links:
https://mothereff.in/lua-minifier
http://luasrcdiet.luaforge.net/
https://github.com/LuaDist/luasrcdiet
https://mothereff.in/lua-minifier
http://luasrcdiet.luaforge.net/
https://github.com/LuaDist/luasrcdiet
The only reliable lua compiler which is compatible with CS2D is
VADemon. MTASA LuaC gives me bad header in precompiled chunk (you must select no obfuscation, as it will gives invalid lua precompiled header)
Starkkz approach) (and actually
VADemon command-line) preserves the debug information, which in turn can be unluac'd easily. However, using
EDIT: Also you need to use 32-bit LuaC! 64-bit LuaC will lead to incompatibility because Lua bytecode depends on architecture (integer size)
luac(.exe)
method posted by 
string.dump()
(

luac -s -o <output> <input>
would destructively compile it (notice the -s
argument which tell luac to strip debug information).EDIT: Also you need to use 32-bit LuaC! 64-bit LuaC will lead to incompatibility because Lua bytecode depends on architecture (integer size)
edited 1×, last 09.02.17 02:32:57 pm


@
MikuAuahDark: Pretty constructive answer, I've been looking for that information but I thought that luac'd code could always be unluac'd.

Actually even with that approach, the compiled code still can be unluac'd, but at least it will make it harder to reverse engineer.





