Lua Bytecode/Assembly Tools (LAT) is a Lua bytecode library written in Lua 5.1 (but should be 5.2 compatible) To use LuaAssemblyTools in your project, just require "LAT". Inspired by: LuaDbg (http://www.roblox.com/Item.aspx?id=52358617), LASM Compiler Suite (http://www.roblox.com/Item.aspx?id=26966291), MODS (http://www.roblox.com/Item.aspx?id=44474190 or https://github.com/NecroBumpist/MODS), ChunkBake (http://luaforge.net/projects/chunkbake), and ChunkSpy (http://luaforge.net/projects/chunkspy). Eventually, i hope to have full support for all available Lua versions. This is not going to happen in the near future though. Language Implementations -------------------------------------------------------- 2.4-5.0 No 5.1 Yes 5.2 Yes 5.3 No (If not specified, its for Lua 5.1 and 5.2 operations) Completed Operation Description ------------------------------------------------------------------------------------- Yes Read Reads bytecode Yes Write Writes bytecode Yes Edit Inject, remove, and change bytecode Yes LASM Decompiler Decompiles chunks to LASM Yes LASM Parser Parses LASM and generates LuaFile's No Decompiler Decompiles bytecode to Lua No Version converter (2.4-5.2) Convert chunks to different versions Partial [2] Platform converter Converts platforms (SizeT, IntegerSize, BigEndian, etc..,) Yes Verifier Verifies bytecode is valid Yes Strip/Remove debugging info Removes debugging info Yes Add/Edit debugging info Adds and/or edits debugging info [2] - Might not work correctly. My tests failed, but it can still round-trip x86 standard chunks.
nevinhappy/LuaAssemblyTools
Lua Assembly/Bytecode Tools. Has functions for virtually all aspects of LASM, including reading/writing, verifying, stripping debug info, LASM decompilation, and LASM parsing.
LuaNOASSERTION