import random import string import base64 class LuauObfuscator: @staticmethod def generate_random_name(length=12): return ''.join(random.choice(string.ascii_letters) for _ in range(length)) @staticmethod def obfuscate(code): if not code.strip(): return "-- No code provided" # 1. Simple Variable Renaming (Simulated) # 2. String Encryption # 3. VM Wrapper # This is a robust "VM-lite" wrapper for Luau vm_name = LuauObfuscator.generate_random_name(16) payload_name = LuauObfuscator.generate_random_name(10) decrypt_name = LuauObfuscator.generate_random_name(10) encoded_payload = base64.b64encode(code.encode()).decode() obfuscated_template = f""" -- Obfuscated by VM-Luau Strong local {vm_name} = {{}} local {payload_name} = "{encoded_payload}" local function {decrypt_name}(data) -- Simplified VM Decryption Layer local b='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' data = string.gsub(data, '[^'..b..'=]', '') return (data:gsub('.', function(x) if (x == '=') then return '' end local r,f='',(b:find(x)-1) for i=6,1,-1 do r=r..(f%2^i-f%2^(i-1)>0 and '1' or '0') end return r; end):gsub('%d%d%d%d%d%d%d%d', function(x) local r=0 for i=1,8 do r=r+(x:sub(i,i)=='1' and 2^(8-i) or 0) end return string.char(r) end)) end local {LuauObfuscator.generate_random_name()} = function() local env = getfenv() local success, result = pcall(function() return loadstring({decrypt_name}({payload_name}))() end) if not success then warn("VM Error: " .. tostring(result)) end end {LuauObfuscator.generate_random_name()}() """ return obfuscated_template.strip()