This guide will help you obfuscate your first Lua script with IronBrew 2.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/pw4k/ironbrew-2/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
Before you begin, ensure you have:- IronBrew 2 CLI installed (installation guide)
- A Lua 5.1 script to obfuscate
luacandluajitavailable in your PATH
Obfuscate your first script
Run the obfuscator
Execute IronBrew 2 CLI with your script as input:You should see output similar to:
Check the output
IronBrew 2 creates an The output file will be significantly larger than the input due to the VM wrapper and obfuscation layers.
out.lua file containing your obfuscated code:What happened?
IronBrew 2 transformed your Lua script through several stages:Bytecode deserialization
Parses the bytecode into an internal representation (Chunk, Instruction objects)
Default configuration
The CLI uses these default settings fromObfuscationSettings:
ObfuscationSettings (default)
The default configuration provides strong obfuscation with good performance. Control flow obfuscation, mutations, and super operators are all enabled by default.
Next steps
CLI Reference
Learn about all CLI options and how to customize obfuscation
Configuration
Understand ObfuscationSettings and fine-tune the obfuscation process
Core Concepts
Dive deep into how VM-based obfuscation works
API Reference
Use IronBrew 2 programmatically in your C# projects
Common issues
Error: luac not found
Error: luac not found
Make sure Install Lua 5.1 if needed. See the installation guide for platform-specific instructions.
luac is installed and available in your PATH:Error: luajit not found
Error: luajit not found
IronBrew 2 uses LuaJIT for preprocessing. Install it:
Ubuntu/Debian
macOS
Output is too large
Output is too large
The VM wrapper adds significant overhead. This is normal for VM-based obfuscation. To reduce size:
- Disable string encryption
- Reduce MaxMegaSuperOperators and MaxMiniSuperOperators
- Set BytecodeCompress = true (default)
Script runs slowly
Script runs slowly
VM-based obfuscation adds runtime overhead. For better performance:
- Reduce MaxMutations
- Disable ControlFlow for performance-critical sections
- Use selective obfuscation on sensitive code only