Otter turns your Luau source into an unreadable fortress in seconds. Drop in a script, pick your level, get it back protected.
local function greet(name)
print("Hello, " .. name)
end
greet("world")-- vrex obfuscation
-- V2.0
-- [v] b:96fc9bff
local function _b64(s)
local A='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
local L={} for i=1,#A do L[A:sub(i,i)]=i-1 end
local sc=string.char
local o,n,i={},#s,1
while i<=n do
local a=L[s:sub(i,i)] or 0
local b=L[s:sub(i+1,i+1)] or 0
local c=L[s:sub(i+2,i+2)]
local d=L[s:sub(i+3,i+3)]
o[#o+1]=sc(a*4 + math.floor(b/16))
if c then o[#o+1]=sc((b%16)*16 + math.floor(c/4)) end
if d then o[#o+1]=sc((c%4)*64 + d) end
i=i+4
end
return table.concat(o)
end
local function _x(a,b) local r,p=0,1 for _=1,8 do local x,y=a%2,b%2 if x~=y then r=r+p end a,b,p=(a-x)/2,(b-y)/2,p*2 end return r end
local _SB_ORIG, _SC_ORIG, _TC_ORIG = string.byte, string.char, table.concat
local function _vrex2_run(_E, _G_)
local _srcA = _G_
local sb, sc = string.byte, string.char
local concat = table.concat
local unpack = table.unpack or unpack
local _KK,_kA,_kC,_kR = 23,191,219,233
local _SK = {} for kk=0,255 do _SK[kk] = _x((44 + kk*37) % 256, (kk*kk) % 256) end
local function gb(pp)
local s1 = (_KK + pp*_kA) % 256
local s2 = ((pp*pp) * _kC) % 256
local s3 = (math.floor((pp-1)/256) * _kR) % 256
return _x(sb(_E, pp), (s1 + s2 + s3) % 256)
end
local p = 1
-- ... bytecode dispatcher elided for preview ...
return exec(readProto(), {}, {}, 0)
end
local _E = _b64("51M1wzRdOswZGM84WDXDB8xKoWV/jMu+ac3fqS1mVvdRYe1FeOkxrL557xt6b+7OzQ66E6Xt65kJKf/Mbjz9u5Tp53v7cR5v+CCBl/gpozzPHjJt5raFEsz5vZPjSfa3kSRnYxUQOZZ3VUrnnqyty4Ql1yprwU6t6hKxJmghEW+/7eI=")
return _vrex2_run(_E, _G)Multi-layer obfuscation engineered to keep your work yours.
Restructures logic into opaque, jump-table-driven blocks.
Every string locked behind layered runtime decryption.
Process thousands of lines in under a second.
Every identifier renamed to noise. Nothing recognizable.
Inlined and re-encoded — no constants survive.
Optional integrity checks halt modified scripts.
Credit packs. No subscriptions. No expiry.
Luau is Roblox's typed Lua dialect. Otter is built specifically for it.
Never. Buy once, use whenever.
Scripts are processed in memory and discarded after delivery.
Unused credit packs are refundable within 7 days.