Forum

> > Off Topic > lua to luac
ForenübersichtOff Topic-ÜbersichtEinloggen, um zu antworten

Englisch lua to luac

8 Antworten
Zum Anfang Vorherige 1 Nächste Zum Anfang

alt lua to luac

StrikerD2000
BANNED Off Offline

Zitieren
is that a way to convert lua to luac ? √

Admin/Mod Kommentar

Removed needless poll. /Starkkz

alt Re: lua to luac

Starkkz
Moderator Off Offline

Zitieren
1
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()

Simplest way I believe.

alt Re: lua to luac

VADemon
User Off Offline

Zitieren
luac(.exe) -o Outputfilename.luac script1.lua script2.lua

Lua binaries hat geschrieben
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

alt Re: lua to luac

Pagyra
User Off Offline

Zitieren
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.
file cs2d Quake 2D Arena 's lua code is protected in same way.
1× editiert, zuletzt 01.02.17 10:53:12

alt Re: lua to luac

GeoB99
Moderator Off Offline

Zitieren
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 user VADemon's post above.

alt wichtig Re: lua to luac

MikuAuahDark
User Off Offline

Zitieren
The only reliable lua compiler which is compatible with CS2D is
luac(.exe)
method posted by user VADemon. MTASA LuaC gives me bad header in precompiled chunk (you must select no obfuscation, as it will gives invalid lua precompiled header)

string.dump()
(user Starkkz approach) (and actually user VADemon command-line) preserves the debug information, which in turn can be unluac'd easily. However, using
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)
1× editiert, zuletzt 09.02.17 14:32:57

alt Re: lua to luac

Starkkz
Moderator Off Offline

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

alt Re: lua to luac

MikuAuahDark
User Off Offline

Zitieren
Actually even with that approach, the compiled code still can be unluac'd, but at least it will make it harder to reverse engineer.
Zum Anfang Vorherige 1 Nächste Zum Anfang
Einloggen, um zu antwortenOff Topic-ÜbersichtForenübersicht