Obfuscation Guide

How to obfuscate Lua and Luau code using the Obscurau engine.


This guide explains how to secure scripts using the dashboard.

Dashboard Workflow

Use the dashboard to obfuscate scripts manually.

  1. Go to the Obfuscation tab in the sidebar.
  2. Upload a .lua or .luau file.
  3. Select the Target Platform that matches your environment (e.g., Luau, Roblox, Lua 5.1).
  4. Choose an Optimization Level.
  5. Click Obfuscate.
  6. Click the download button to save the output file.

Target Platforms

The engine selects one of two compiler backends based on the target you select.

  • Luau VM Backend: The engine uses this backend for Luau and Roblox targets. It provides structural protections specific to the Luau VM.
  • Portable Lua Backend: The engine uses this backend for Lua 5.1-5.5, LuaJIT, FiveM, Warcraft 3, World of Warcraft, and Garry's Mod. It parses modern Lua syntax but emits Lua 5.1-compatible source code to maximize compatibility across older runtimes.

Protection Levels

The engine provides three optimization levels.

  • Safe (Level 1): The default profile. It prioritizes runtime compatibility and execution speed.
  • Aggressive (Level 2): Increases mutation intensity. It automatically enables the Intense VM Structure setting for supported backends.
  • Maximized (Level 3): The maximum protection profile. It maximizes internal compiler optimization at the cost of execution speed.

Automation

To integrate the obfuscator into a build system or deployment pipeline, use the REST API. See the API Reference for endpoint definitions and authentication parameters.