TheDocumentation 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.
ObfuscationSettings class controls all aspects of IronBrew 2’s obfuscation behavior. Configure these settings to balance between obfuscation strength and performance.
Configuration Properties
Enables encryption of all string constants in the Lua script. When enabled, all strings are XOR-encrypted using dynamically generated decryption tables.See String Encryption for details.
Selectively encrypts strings containing sensitive keywords like “http”, “function”, “metatable”, and “local”. More targeted than
EncryptStrings.See Important String Encryption for details.Enables control flow obfuscation by flattening and complicating the execution flow. Makes reverse engineering significantly harder by obscuring the program’s logical structure.
Compresses the virtual machine bytecode to reduce output size. The VM decompresses instructions at runtime.
Maximum length of XOR decryption tables used for string encryption. Larger values provide stronger encryption but increase VM size.Used when
EncryptStrings is enabled. The actual table length may be smaller based on the longest string in your script.Preserves original line number information in error messages. Useful for debugging but reveals source structure.
Enables instruction mutation, which randomizes how bytecode operations are executed while preserving functionality.
Maximum number of instruction mutations to apply. Higher values increase obfuscation strength but may impact performance.
Enables super operator folding, which combines multiple instructions into single optimized operations.See Super Operators for details.
Maximum number of mini super operators (5-10 instructions) to generate. Mini operators provide good obfuscation with minimal performance impact.See Super Operators for details.
Maximum number of mega super operators (60-80 instructions) to generate. Mega operators provide exceptional obfuscation but may increase VM size.See Super Operators for details.
Usage Example
Here’s how to configure obfuscation settings programmatically:Default Settings
The default constructor initializes settings optimized for balanced obfuscation:Configuration Strategies
- Maximum Protection
- Balanced
- Development
Use when security is the top priority:
Performance Considerations
Different settings have varying performance impacts:- Low Impact:
ControlFlow,BytecodeCompress,PreserveLineInfo - Moderate Impact:
Mutate,MaxMiniSuperOperators - Higher Impact:
EncryptStrings,MaxMegaSuperOperators, highMaxMutations
Source Reference
Settings are defined in:IronBrew2/Obfuscator/ObfuscationSettings.cs:3