No one reverses what no one understands.
What We Do
Orvex runs Lua scripts through several transformations: control-flow rewrites, string handling, bytecode encoding, a metamorphic VM and different dispatch paths. A new build can change the opcode table, encoding format and handler logic. The generated Lua and handler layout depend on those build parameters.
-- Original Lua script
local function calculateDamage(base, multiplier)
local crit = math.random() > 0.85
local dmg = base * multiplier
if crit then dmg = dmg * 2.5 end
return math.floor(dmg)
end
local player = {
name = "Hero",
health = 100,
attack = 45
}Protection that varies per build
Orvex does more than rename and mask strings. Builds can output different internal representations: VM layout, opcode encoding, dispatch logic and bytecode parameters can change so outputs are not trivially identical.
Two builds of the same script can differ even after stripping names and constants. The generated Lua output and VM representation can change, not just identifiers and literals.
Practical tools for protecting Lua code
A staged Lua obfuscation engine focused on real-world resistance to static analysis and casual reverse engineering.
Orvex applies multiple, independent transformations so reversing the final output requires additional analysis, different tooling and manual effort. No single technique is invulnerable.
Control flow rewrites, VM bytecode encoding and multiple independent layers. Each layer forces extra manual analysis.
Simple, transparent pricing
Simple monthly tiers. Start on the free plan and upgrade when you need more.
Tested. Fixed. Improved.
Orvex is covered by automated tests and continuous builds. Frequent runs exercise compatibility, edge cases and regressions before release.
Failures seen in pre-release runs are tracked. Issues that occur in rare runs are converted into tests or fixes to reduce recurrence.
We document what Orvex changes and its limits. No obfuscation is unbreakable; Orvex increases the analysis work required to recover original logic.
Recent updates
- Major VM protection and stability update
- Improved FiveM, Roblox, Luau and LuaJIT compatibility
- Host APIs remain native while sensitive logic receives stronger virtualization
- Improved VM diversification, dispatch and register mapping
- Safer handling of globals, upvalues, varargs and dynamic environments
- Removed unnecessary debug probes and reduced runtime exposure
- Improved string protection and removed string.dump from the VM environment
- Native pipeline and large-script performance improvements
- Output up to 10× lighter for some content
- Optimized runtime decoding
- Extended VM coverage
- Better handling of large scripts
- Edge-case fixes
- Mini VM introduced — a first layer of virtualization, free
- Hardened virtualization core
- Dynamic-load (load / loadstring) protection
- Improved reliability
- New protection layer
Frequently Asked Questions
Questions? Send a message. We aim to reply within 24 hours.
Your account data and usage quotas are protected with industry-standard encryption. Sensitive information like API keys and billing data are never stored in plain text, ensuring your account remains secure even in the unlikely event of a data breach.
Both rely on a custom per-build VM, so there's real overlap in approach. Where Orvex stands apart: it natively targets FiveM and GTA V alongside Roblox, Luau, LuaJIT and Lua 5.1–5.4; it also protects code inside load() and loadstring() calls, which most obfuscators leave in clear text; and its output is regenerated with a different internal structure on every build. Pricing is flat monthly quotas — no tokens, no per-obfuscation charges. We won't claim any obfuscator is unbreakable, but Orvex is built to make automated deobfuscation impractical and is actively maintained.
No obfuscation is permanent — given enough time and expertise, a determined attacker can reverse anything. What Orvex does is raise the cost significantly: the custom per-build VM has no public specification, every build is structurally different, and multiple independent layers must each be broken before the original logic becomes readable. The goal is to make the effort not worth it in practice.
No. Orvex performs semantic-preserving transformations — the obfuscated script behaves identically to the original. We run automated correctness tests on every output before delivery.
API access starts with the Pro plan. Free users can obfuscate through the web dashboard only.
Enterprise customers with an approved use case may obfuscate scripts on behalf of their end-users. This is not permitted on any other plan to prevent abuse.
Orvex fully supports Lua 5.1, 5.2, 5.3, 5.4, and LuaJIT. Roblox Luau is also supported with dedicated settings.