This project is still a work in progress, so things may not work
Please download the latest release if you are trying to run the code
Input
print("Hello World")- Nodejs
- Lua 5.1 windows, macos (with homebrew), Linux (lua5.1 on most package managers)
- Download the zip for your OS from the Latest Release (
LuaObfuscator-windows.ziporLuaObfuscator-linux.zip)
Note: There is currently no prebuilt macOS binary. Mac users should build from source (see below)
-
Open the terminal in the unzipped directory
-
Install the required nodejs packages
cd minifier && npm i && cd ..
-
Put the code you wish to obfuscate into a file
-
Run the executable
# Windows
./lua_obfuscator.exe --file ./YOURFILE.lua --run
# Linux
./lua_obfuscator --file ./YOURFILE.lua --run
| Flag | Default | Description |
|---|---|---|
-f, --file <FILE> |
required | Lua file to obfuscate |
-r, --run |
off | Run the obfuscated output after building it |
--no-encrypt-strings |
off (strings are encrypted) | Disable the extra layer of string encryption |
--no-compress-bytecode |
off (bytecode is compressed) | Disable bytecode compression |
--no-constant-mutations |
off (constants are mutated) | Disable constant mutation |
--include-debug-line-info |
off | Include debug line info so runtime errors report a source line |
-
Download Rust
-
Clone the repo
git clone https://github.com/PY44N/LuaObfuscatorV2/
- Enter the directory
cd LuaObfuscatorV2
- Install the required nodejs packages
cd minifier && npm i && cd ..
-
Put the code you wish to obfuscate into a file
-
Run the project using cargo
cargo run -- --file YOURFILE.lua
Lua Deserializer - A library for reading in a serialized Lua binary written for this project
luamin (by Mathias Bynens) - A Lua minifier written in Javascript that is being used as a temporary solution until the minification rework
FiOne (by Rerumu) - Lua bytecode interpreter