LuaObfuscator

Run Settings
LanguageLua
Language Version
Run Command
-- Obfuscator by luauruler26 local function obfuscateLua(scriptText) local function randomName(length) local chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" local name = "" for i = 1, length do local rand = math.random(1, #chars) name = name .. chars:sub(rand, rand) end return name end local usedNames = {} local function getUniqueName() local name repeat name = "_" .. randomName(8) until not usedNames[name] usedNames[name] = true return name end -- Ganti variabel lokal local varMap = {} scriptText = scriptText:gsub("local%s+(%w+)", function(var) local newName = getUniqueName() varMap[var] = newName return "local " .. newName end) -- Ganti semua penggunaan variabel for old, new in pairs(varMap) do scriptText = scriptText:gsub("([^%w_])" .. old .. "([^%w_])", "%1" .. new .. "%2") end -- Encode semua string literal scriptText = scriptText:gsub("\"(.-)\"", function(str) local encoded = {} for i = 1, #str do table.insert(encoded, "string.char(" .. str:byte(i) .. ")") end return table.concat(encoded, " .. ") end) -- Hapus komentar scriptText = scriptText:gsub("%-%-.-\n", "") scriptText = scriptText:gsub("%-%-%[%[.-%]%]", "") -- Minify (hapus whitespace berlebihan) scriptText = scriptText:gsub("\n", ""):gsub("\t", ""):gsub(" +", " ") return scriptText end local myScript = [[ -- ini komentar local hello = "Halo Dunia!" print(hello) ]] local obfuscated = obfuscateLua(myScript) print(obfuscated)
Editor Settings
Theme
Key bindings
Full width
Lines