A stateful, continuation-based VM with runtime mutation and integrity-coupled execution, requiring custom dynamic analysis rather than standard VM devirtualization.
Drag the slider to compare original code with Vanguard-obfuscated output
local HttpService = game:GetService("HttpService") local Players = game:GetService("Players") local function getGameData() local url = "https://games.roproxy.com/v1/games?universeIds=" .. game.GameId local response = HttpService:GetAsync(url) return HttpService:JSONDecode(response) end local function onPlayerJoin(player) local data = getGameData() print("Welcome " .. player.Name .. " to " .. data.name) end Players.PlayerAdded:Connect(onPlayerJoin)
Your code passes through 7 transformation stages, each adding a new layer of complexity
Source code is parsed and compiled into an intermediate representation. Each build produces structurally different output from the same input.
Multiple transformation passes inject complexity, fuse instruction sequences, and restructure control flow to resist static analysis.
A unique virtual machine is generated per build with randomized instruction encoding and multiple dispatch strategies.
Constants and data are encrypted with state-dependent decryption. Correct values only emerge during proper execution order.
Output varies structurally across builds with non-uniform code generation patterns. No two outputs share the same structure.
Integrity verification is woven throughout execution. Tampering silently corrupts state rather than producing error messages.
Final output is hardened against automated cleanup, formatting tools, and structural analysis.
Each level includes everything from the previous tier. Higher levels increase cost of analysis, not just output size.
| Feature | Light | Medium | Heavy | Max | Extreme |
|---|---|---|---|---|---|
| Code Transforms | Basic | ||||
| Fused Instructions | |||||
| Control Flow Obfuscation | |||||
| Data Scrambling | |||||
| Decoy Handlers | |||||
| String Protection | |||||
| Polymorphic Output | |||||
| Advanced Encoding | |||||
| Tamper Detection | |||||
| Integrity Verification | |||||
| Self-Modifying Code | |||||
| Continuation VM | opt-in | opt-in | |||
| Dual Instruction Set | |||||
| Anti-Beautifier | opt-in | opt-in | opt-in |
Standard VM obfuscators produce output that can be devirtualized with a generic lifter. Vanguard is designed so that approach doesn't generalize.
| Feature | Vanguard | Prometheus | IronBrew2 | Luraph |
|---|---|---|---|---|
| Custom VM | ||||
| Per-Build Unique Output | ||||
| Loopless Dispatch | ||||
| Instruction Fusion | ||||
| Silent Tamper Failure | ||||
| Multi-Layer VM | ||||
| Dual Instruction Set | ||||
| Self-Modifying Code | ||||
| Integrity Verification | ||||
| Anti-Beautifier | ||||
| Watermark Binding | ||||
| Deterministic Builds | ||||
| Roblox Executor Support |
Server-side scripts with full anti-tamper, environment checks, and Studio blocking. No loadstring dependency.
Client-side injection with loadstring support and Roblox API access. Optimized for executor environments.
Portable vanilla Luau with source compression via loadstring. Runs anywhere Luau does.
A fundamentally different dispatch model that eliminates the central loop attackers rely on
~30-45% slower execution. That's the cost of fully distributed dispatch with no central control point.
Production code where analysis cost justifies runtime overhead. Available at Heavy+ intensity or via the --continuation-vm flag.
Vanguard increases the cost of reverse engineering by requiring analysis to preserve execution state, structural integrity, and runtime topology simultaneously.
Get Started