
KeylessUniversal

-- Luau GUI Obfuscator (LocalScript)
-- Tempatkan di StarterPlayerScripts atau StarterGui
local Players = game:GetService("Players")
local pl = Players.LocalPlayer
local pg = pl:WaitForChild("PlayerGui")
local function New(class, props)
local o = Instance.new(class)
for k, v in pairs(props or {}) do
o[k] = v
end
return o
end
local gui = New("ScreenGui", {
Name = "LuauObfuscatorGUI",
Parent = pg,
ResetOnSpawn = false
})
local frame = New("Frame", {
Parent = gui,
Size = UDim2.new(0, 560, 0, 380),
Position = UDim2.new(0.5, -280, 0.5, -190),
BackgroundColor3 = Color3.fromRGB(30, 30, 30),
BorderSizePixel = 0
})
local title = New("TextLabel", {
Parent = frame,
Size = UDim2.new(1, 0, 0, 30),
Position = UDim2.new(0, 0, 0, 0),
Text = "Luau GUI Obfuscator",
TextColor3 = Color3.new(1, 1, 1),
BackgroundTransparency = 1,
Font = Enum.Font.SourceSansBold,
TextSize = 18
})
local input = New("TextBox", {
Parent = frame,
Size = UDim2.new(1, -20, 0, 150),
Position = UDim2.new(0, 10, 0, 40),
TextWrapped = true,
ClearTextOnFocus = false,
MultiLine = true,
TextSize = 14,
Font = Enum.Font.Code,
Text = "-- paste kode Luau di sini"
})
local out = New("TextBox", {
Parent = frame,
Size = UDim2.new(1, -20, 0, 180),
Position = UDim2.new(0, 10, 0, 200),
TextWrapped = true,
ClearTextOnFocus = false,
MultiLine = true,
TextSize = 14,
Font = Enum.Font.Code,
Text = ""
})
local btnObf = New("TextButton", {
Parent = frame,
Size = UDim2.new(0, 150, 0, 30),
Position = UDim2.new(0, 10, 0, 160),
Text = "Obfuscate",
TextSize = 14,
Font = Enum.Font.SourceSans,
BackgroundColor3 = Color3.fromRGB(60, 60, 60),
TextColor3 = Color3.new(1, 1, 1)
})
local btnCopy = New("TextButton", {
Parent = frame,
Size = UDim2.new(0, 150, 0, 30),
Position = UDim2.new(0, 170, 0, 160),
Text = "Copy",
TextSize = 14,
Font = Enum.Font.SourceSans,
BackgroundColor3 = Color3.fromRGB(60, 60, 60),
TextColor3 = Color3.new(1, 1, 1)
})
local lbl = New("TextLabel", {
Parent = frame,
Size = UDim2.new(1, -20, 0, 20),
Position = UDim2.new(0, 10, 0, 344),
Text = "Output sudah tanpa spasi dan komentar.",
TextColor3 = Color3.fromRGB(180, 180, 180),
BackgroundTransparency = 1,
Font = Enum.Font.SourceSans,
TextSize = 12
})
-- Encoder: char -> number (c*97+53)
local function encodeToNumbers(s)
local t = {}
for i = 1, #s do
t[i] = tostring(string.byte(s, i) * 97 + 53)
end
return t
end
local function buildObfuscated(s)
-- numbers table
local nums = encodeToNumbers(s)
local tbl = "local _X={" .. table.concat(nums, ",") .. "};"
-- decoder: tambahkan semicolon pemisah agar aman
local dec = "local function _d(t)local _s={}for i=1,#t do local v=t[i];local m=(v-53)/97;local c=math.floor(m+0.0000001);_s[#_s+1]=string.char(c);end;return table.concat(_s);end;"
-- twist: tambahkan pemisah setelah setiap statement
local twist = "local function _twist(s)local a={}for i=1,#s do a[i]=string.sub(s,i,i);end;for i=1,#a do local j=((i*13)%(#a))+1; a[i],a[j]=a[j],a[i];end;for i=#a,1,-1 do local j=((i*13)%(#a))+1; a[i],a[j]=a[j],a[i];end;return table.concat(a);end;"
-- runner/loader: gunakan semicolon untuk memisahkan statement
local runner = "local payload=_twist(_d(_X));local _L=(loadstring or load);local f=_L(payload);if type(f)=='function' then local P=setmetatable({},{__call=function(_,...)return f(...)end});P();end;"
-- concat; hilangkan newline/tab saja (spasi tetap ada di string karena kita pakai semicolon)
local full = tbl .. dec .. twist .. runner
full = full:gsub("[\n\r\t]", "")
return full
end
-- button logic
btnObf.MouseButton1Click:Connect(function()
local code = input.Text or ""
if code == "" then
out.Text = ""
return
end
local ok, chunk = pcall(function()
return buildObfuscated(code)
end)
if ok then
out.Text = chunk
else
out.Text = tostring(chunk)
end
end)
btnCopy.MouseButton1Click:Connect(function()
local txt = out.Text or ""
pcall(function()
setclipboard(txt)
end)
end)
-- simple draggable
local dragging = false
local dragStart, guiStart
frame.InputBegan:Connect(function(inputObj)
if inputObj.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = true
dragStart = inputObj.Position
guiStart = frame.Position
end
end)
frame.InputChanged:Connect(function(inputObj)
if dragging and inputObj.UserInputType == Enum.UserInputType.MouseMovement then
local delta = inputObj.Position - dragStart
frame.Position = UDim2.new(
guiStart.X.Scale,
guiStart.X.Offset + delta.X,
guiStart.Y.Scale,
guiStart.Y.Offset + delta.Y
)
end
end)
frame.InputEnded:Connect(function(inputObj)
if inputObj.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = false
end
end)



this is NOT a real obfuscator..
It can obfuscation but some executor can't load this * cater you obfuscate
easily cracked dont use !!
ye i can just *ing loadstring = setclipboard
Govno
skids ketika Nemu ai: