I want to view the LUC files of a game's (Plants VS Zombies) DRM and the two Bookworm Adventures games, they are proper compiled LUA files according to the header, but written in a version (LUA 5.6) no one knows (or is stupidly headered LuaV) any advice on decompiling these or will someone try? Thanks so much. I tried to decompile these with unluac.jar but got nowhere... UPDATE: Ok, turns out the pesky games use LUA 5.0.2, given by executable data and they are definitely headered stupidly. Heck, the game's still read them in the DRM or scripts/common (BWA) if the file extension is LUA. UPDATE2: Bookworm Adventures has a built-in Lua compiler for in scripts/common which compiles Lua files in this form if compiled files aren't present.
Also the plaintext LUAs from BWAVOL2 cannot be compiled, how to fix their data to compile them properly?
Last edited by LolHacksRule on Thu Jan 28, 2021 5:25 pm, edited 7 times in total.
Anything now? I really want to document the data and mod the game and these are the only files in the way. Debug compiling information is also present. The game can compile its own from scripts/common/common.lua.
These files are not stock Lua at all. They are using a heavily modified version of Lua, so none of the existing decompiler tools are going to work with it. They have changed a lot of the core language features that do not exist in stock Lua.
- Functions have brace-based scope. - Keywords such as: class, def, super, - Object creation with sub-classing/inheritance. - C style comments. (//, /* */, etc.) - C style bitwise/logic operators. - C style pointers.
And more. This is a ton of major changes to the core language.