
Key RequiredUniversal

local vu1 = Instance.new("ScreenGui")
local vu2 = Instance.new("Frame")
local v3 = Instance.new("TextLabel")
local v4 = Instance.new("TextLabel")
local vu5 = Instance.new("TextBox")
local v6 = Instance.new("TextLabel")
local vu7 = Instance.new("TextBox")
local v8 = Instance.new("TextButton")
local vu9 = Instance.new("TextButton")
local v10 = Instance.new("TextButton")
local vu11 = Instance.new("ImageLabel")
local v12 = Instance.new("ImageLabel")
local vu13 = Instance.new("Frame")
local v14 = Instance.new("TextButton")
local v15 = Instance.new("TextButton")
vu1.Name = "LunarisObfuscator"
vu1.Parent = game.Players.LocalPlayer:WaitForChild("PlayerGui")
vu1.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
vu1.ResetOnSpawn = false
vu2.Name = "MainFrame"
vu2.Parent = vu1
vu2.BackgroundColor3 = Color3.fromRGB(20, 20, 30)
vu2.BackgroundTransparency = 0.1
vu2.BorderSizePixel = 0
vu2.Position = UDim2.new(0.3, 0, 0.2, 0)
vu2.Size = UDim2.new(0.4, 0, 0.6, 0)
vu2.ClipsDescendants = true
local v16 = Instance.new("UICorner")
v16.CornerRadius = UDim.new(0.03, 0)
v16.Parent = vu2
local v17 = Instance.new("ImageLabel")
v17.Name = "DropShadow"
v17.Parent = vu2
v17.BackgroundTransparency = 1
v17.BorderSizePixel = 0
v17.Size = UDim2.new(1, 12, 1, 12)
v17.Position = UDim2.new(0, - 6, 0, - 6)
v17.Image = "rbxassetid://139437522"
v17.ImageColor3 = Color3.fromRGB(0, 0, 0)
v17.ImageTransparency = 0.8
v17.ScaleType = Enum.ScaleType.Slice
v17.SliceCenter = Rect.new(10, 10, 118, 118)
v17.ZIndex = - 1
vu13.Name = "TopBar"
vu13.Parent = vu2
vu13.BackgroundColor3 = Color3.fromRGB(30, 30, 40)
vu13.BorderSizePixel = 0
vu13.Size = UDim2.new(1, 0, 0.08, 0)
vu13.ZIndex = 3
local v18 = Instance.new("UICorner")
v18.CornerRadius = UDim.new(0, 8)
v18.Parent = vu13
vu11.Name = "AnimatedIcon"
vu11.Parent = vu13
vu11.BackgroundTransparency = 1
vu11.Position = UDim2.new(0.02, 0, 0.15, 0)
vu11.Size = UDim2.new(0.07, 0, 0.7, 0)
vu11.Image = "rbxassetid://139437522"
vu11.ZIndex = 4
v3.Name = "Title"
v3.Parent = vu13
v3.BackgroundTransparency = 1
v3.Position = UDim2.new(0.1, 0, 0, 0)
v3.Size = UDim2.new(0.8, 0, 1, 0)
v3.Font = Enum.Font.GothamBold
v3.Text = " LUNARIS OBFUSCATOR v1.0"
v3.TextColor3 = Color3.fromRGB(220, 220, 255)
v3.TextSize = 18
v3.TextXAlignment = Enum.TextXAlignment.Left
v3.ZIndex = 4
v12.Name = "TitleGlow"
v12.Parent = v3
v12.BackgroundTransparency = 1
v12.Size = UDim2.new(1.2, 0, 2, 0)
v12.Position = UDim2.new(- 0.1, 0, - 0.5, 0)
v12.Image = "rbxassetid://139437522"
v12.ImageColor3 = Color3.fromRGB(100, 150, 255)
v12.ImageTransparency = 0.7
v12.ScaleType = Enum.ScaleType.Slice
v12.SliceCenter = Rect.new(10, 10, 118, 118)
v12.ZIndex = 3
v14.Name = "CloseButton"
v14.Parent = vu13
v14.BackgroundColor3 = Color3.fromRGB(180, 80, 80)
v14.BackgroundTransparency = 0.5
v14.BorderSizePixel = 0
v14.Position = UDim2.new(0.92, 0, 0.15, 0)
v14.Size = UDim2.new(0.06, 0, 0.7, 0)
v14.Font = Enum.Font.GothamBold
v14.Text = "X"
v14.TextColor3 = Color3.fromRGB(255, 255, 255)
v14.TextSize = 14
v14.ZIndex = 4
local v19 = Instance.new("UICorner")
v19.CornerRadius = UDim.new(0.5, 0)
v19.Parent = v14
v15.Name = "ChangelogButton"
v15.Parent = vu13
v15.BackgroundColor3 = Color3.fromRGB(80, 120, 200)
v15.BackgroundTransparency = 0.5
v15.BorderSizePixel = 0
v15.Position = UDim2.new(0.84, 0, 0.15, 0)
v15.Size = UDim2.new(0.07, 0, 0.7, 0)
v15.Font = Enum.Font.GothamBold
v15.Text = "Changelog"
v15.TextColor3 = Color3.fromRGB(255, 255, 255)
v15.TextSize = 10
v15.TextScaled = true
v15.ZIndex = 4
local v20 = Instance.new("UICorner")
v20.CornerRadius = UDim.new(0.5, 0)
v20.Parent = v15
v4.Name = "InputLabel"
v4.Parent = vu2
v4.BackgroundTransparency = 1
v4.Position = UDim2.new(0, 0, 0.1, 0)
v4.Size = UDim2.new(1, 0, 0.05, 0)
v4.Font = Enum.Font.Gotham
v4.Text = "Input Script:"
v4.TextColor3 = Color3.fromRGB(200, 200, 255)
v4.TextSize = 14
v4.ZIndex = 2
vu5.Name = "InputBox"
vu5.Parent = vu2
vu5.BackgroundColor3 = Color3.fromRGB(25, 25, 35)
vu5.BorderSizePixel = 0
vu5.Position = UDim2.new(0.02, 0, 0.15, 0)
vu5.Size = UDim2.new(0.96, 0, 0.35, 0)
vu5.Font = Enum.Font.Code
vu5.Text = ""
vu5.TextColor3 = Color3.fromRGB(220, 220, 255)
vu5.TextSize = 12
vu5.TextWrapped = true
vu5.TextXAlignment = Enum.TextXAlignment.Left
vu5.TextYAlignment = Enum.TextYAlignment.Top
vu5.ClearTextOnFocus = false
vu5.MultiLine = true
vu5.ZIndex = 2
local v21 = Instance.new("UICorner")
v21.CornerRadius = UDim.new(0.02, 0)
v21.Parent = vu5
v6.Name = "OutputLabel"
v6.Parent = vu2
v6.BackgroundTransparency = 1
v6.Position = UDim2.new(0, 0, 0.5, 0)
v6.Size = UDim2.new(1, 0, 0.05, 0)
v6.Font = Enum.Font.Gotham
v6.Text = "Obfuscated Output:"
v6.TextColor3 = Color3.fromRGB(200, 200, 255)
v6.TextSize = 14
v6.ZIndex = 2
vu7.Name = "OutputBox"
vu7.Parent = vu2
vu7.BackgroundColor3 = Color3.fromRGB(25, 25, 35)
vu7.BorderSizePixel = 0
vu7.Position = UDim2.new(0.02, 0, 0.55, 0)
vu7.Size = UDim2.new(0.96, 0, 0.35, 0)
vu7.Font = Enum.Font.Code
vu7.Text = ""
vu7.TextColor3 = Color3.fromRGB(220, 220, 255)
vu7.TextSize = 11
vu7.TextWrapped = true
vu7.TextXAlignment = Enum.TextXAlignment.Left
vu7.TextYAlignment = Enum.TextYAlignment.Top
vu7.ClearTextOnFocus = false
vu7.MultiLine = true
vu7.ZIndex = 2
local v22 = Instance.new("UICorner")
v22.CornerRadius = UDim.new(0.02, 0)
v22.Parent = vu7
v8.Name = "ObfuscateButton"
v8.Parent = vu2
v8.BackgroundColor3 = Color3.fromRGB(60, 100, 200)
v8.BorderSizePixel = 0
v8.Position = UDim2.new(0.02, 0, 0.92, 0)
v8.Size = UDim2.new(0.3, 0, 0.06, 0)
v8.Font = Enum.Font.GothamBold
v8.Text = "OBFUSCATE"
v8.TextColor3 = Color3.fromRGB(255, 255, 255)
v8.TextSize = 14
v8.ZIndex = 2
local v23 = Instance.new("UICorner")
v23.CornerRadius = UDim.new(0.5, 0)
v23.Parent = v8
vu9.Name = "CopyButton"
vu9.Parent = vu2
vu9.BackgroundColor3 = Color3.fromRGB(50, 150, 100)
vu9.BorderSizePixel = 0
vu9.Position = UDim2.new(0.34, 0, 0.92, 0)
vu9.Size = UDim2.new(0.3, 0, 0.06, 0)
vu9.Font = Enum.Font.GothamBold
vu9.Text = "COPY OUTPUT"
vu9.TextColor3 = Color3.fromRGB(255, 255, 255)
vu9.TextSize = 14
vu9.ZIndex = 2
local v24 = Instance.new("UICorner")
v24.CornerRadius = UDim.new(0.5, 0)
v24.Parent = vu9
v10.Name = "ClearButton"
v10.Parent = vu2
v10.BackgroundColor3 = Color3.fromRGB(180, 80, 80)
v10.BorderSizePixel = 0
v10.Position = UDim2.new(0.66, 0, 0.92, 0)
v10.Size = UDim2.new(0.32, 0, 0.06, 0)
v10.Font = Enum.Font.GothamBold
v10.Text = "CLEAR ALL"
v10.TextColor3 = Color3.fromRGB(255, 255, 255)
v10.TextSize = 14
v10.ZIndex = 2
local v25 = Instance.new("UICorner")
v25.CornerRadius = UDim.new(0.5, 0)
v25.Parent = v10
local function v29()
local v26 = game:GetService("TweenService")
v26:Create(vu11, TweenInfo.new(4, Enum.EasingStyle.Linear, Enum.EasingDirection.Out, math.huge, false, 0), {
Rotation = 360
}):Play()
while true do
local v27 = v26:Create(vu11, TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {
Size = UDim2.new(0.08, 0, 0.8, 0)
})
local v28 = v26:Create(vu11, TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {
Size = UDim2.new(0.07, 0, 0.7, 0)
})
v27:Play()
v27.Completed:Wait()
v28:Play()
v28.Completed:Wait()
task.wait(2)
end
end
coroutine.wrap(v29)()
local v30 = game:GetService("UserInputService")
local vu31 = game:GetService("TweenService")
local vu32 = false
local vu33 = Vector2.new(0, 0)
local vu34 = UDim2.new(0, 0, 0, 0)
local function vu38(p35)
local v36 = p35.Position - vu33
local v37 = UDim2.new(vu34.X.Scale, vu34.X.Offset + v36.X, vu34.Y.Scale, vu34.Y.Offset + v36.Y)
vu31:Create(vu2, TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {
Position = v37
}):Play()
end
vu13.InputBegan:Connect(function(pu39)
if pu39.UserInputType == Enum.UserInputType.MouseButton1 then
vu32 = true
vu33 = pu39.Position
vu34 = vu2.Position
local vu40 = TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out)
vu31:Create(vu13, vu40, {
BackgroundTransparency = 0.3
}):Play()
pu39.Changed:Connect(function()
if pu39.UserInputState == Enum.UserInputState.End then
vu32 = false
vu31:Create(vu13, vu40, {
BackgroundTransparency = 0
}):Play()
end
end)
end
end)
v30.InputChanged:Connect(function(p41)
if vu32 and p41.UserInputType == Enum.UserInputType.MouseMovement then
vu38(p41)
end
end)
v14.MouseButton1Click:Connect(function()
local v42 = vu31:Create(vu2, TweenInfo.new(0.3, Enum.EasingStyle.Back, Enum.EasingDirection.In), {
Position = UDim2.new(0.5, 0, - 1, 0),
Size = UDim2.new(0, 0, 0, 0)
})
v42:Play()
v42.Completed:Wait()
vu1:Destroy()
end)
local function v44(pu43, _)
pu43.MouseEnter:Connect(function()
vu31:Create(pu43, TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {
BackgroundTransparency = 0.1,
Size = UDim2.new(pu43.Size.X.Scale + 0.01, 0, pu43.Size.Y.Scale + 0.01, 0)
}):Play()
end)
pu43.MouseLeave:Connect(function()
vu31:Create(pu43, TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {
BackgroundTransparency = 0,
Size = pu43.Size
}):Play()
end)
end
v44(v8, Color3.fromRGB(60, 100, 200))
v44(vu9, Color3.fromRGB(50, 150, 100))
v44(v10, Color3.fromRGB(180, 80, 80))
v44(v14, Color3.fromRGB(180, 80, 80))
v44(v15, Color3.fromRGB(80, 120, 200))
local v45 = vu31
vu31.Create(v45, vu2, TweenInfo.new(0.5, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
Position = UDim2.new(0.3, 0, 0.2, 0),
Size = UDim2.new(0.4, 0, 0.6, 0)
}):Play()
local vu46 = Instance.new("Frame")
local v47 = Instance.new("TextLabel")
local v48 = Instance.new("TextButton")
vu46.Name = "ChangelogFrame"
vu46.Parent = vu1
vu46.BackgroundColor3 = Color3.fromRGB(180, 220, 255)
vu46.BackgroundTransparency = 0.9
vu46.BorderSizePixel = 0
vu46.Position = UDim2.new(0.35, 0, 0.25, 0)
vu46.Size = UDim2.new(0.3, 0, 0.5, 0)
vu46.Visible = false
local v49 = Instance.new("UICorner")
v49.CornerRadius = UDim.new(0.03, 0)
v49.Parent = vu46
v47.Name = "ChangelogTextLabel"
v47.Parent = vu46
v47.BackgroundTransparency = 1
v47.Position = UDim2.new(0.05, 0, 0.05, 0)
v47.Size = UDim2.new(0.9, 0, 0.9, 0)
v47.Font = Enum.Font.GothamBold
v47.Text = "Lunaris Obfuscator \226\128\147 Changelog\nversion 1.0\n- Added changelog\n- Polished UI"
v47.TextColor3 = Color3.fromRGB(255, 255, 255)
v47.TextSize = 16
v47.TextXAlignment = Enum.TextXAlignment.Left
v47.TextYAlignment = Enum.TextYAlignment.Top
v47.TextWrapped = true
v48.Name = "ChangelogCloseButton"
v48.Parent = vu46
v48.BackgroundColor3 = Color3.fromRGB(180, 80, 80)
v48.BackgroundTransparency = 0.5
v48.BorderSizePixel = 0
v48.Position = UDim2.new(0.9, 0, 0.02, 0)
v48.Size = UDim2.new(0.08, 0, 0.08, 0)
v48.Font = Enum.Font.GothamBold
v48.Text = "X"
v48.TextColor3 = Color3.fromRGB(255, 255, 255)
v48.TextSize = 14
local v50 = Instance.new("UICorner")
v50.CornerRadius = UDim.new(0.5, 0)
v50.Parent = v48
v15.MouseButton1Click:Connect(function()
vu46.Visible = true
vu31:Create(vu46, TweenInfo.new(0.3, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
Position = UDim2.new(0.35, 0, 0.25, 0),
Size = UDim2.new(0.3, 0, 0.5, 0)
}):Play()
end)
v48.MouseButton1Click:Connect(function()
local v51 = vu31:Create(vu46, TweenInfo.new(0.2, Enum.EasingStyle.Back, Enum.EasingDirection.In), {
Position = UDim2.new(0.35, 0, 0.2, 0),
Size = UDim2.new(0.3, 0, 0, 0)
})
v51:Play()
v51.Completed:Wait()
vu46.Visible = false
end)
v44(v48, Color3.fromRGB(180, 80, 80))
local v52 = {}
for v53 = 1, 256 do
local v54 = v53
v52[v54] = string.char((v54 * 73 + 19) % 94 + 33)
end
local v55 = table.concat(v52)
local v56 = 0
for v57 = 1, # v55 do
local v58 = v57
v56 = v56 + string.byte(v55, v58) * (v58 % 13) % (v58 + 7)
end
local function v63(p59, p60)
local v61 = 0
for v62 = 1, p59 % 7 + 1 do
v61 = v61 + p60 * v62 % 97
end
return v61
end
local vu64 = {}
for v65 = 1, 64 do
local v66 = v65
vu64[v66] = {
n = v63(v66, v56),
c = v55:sub(v66 % # v55 + 1, v66 % # v55 + 1)
}
end
local vu69 = (function()
local v67 = {}
for v68 = 1, 16 do
v67[v68] = tostring(vu64[v68] and (vu64[v68].n or 0) or 0)
end
return table.concat(v67, "-")
end)()
local v71, v72 = pcall(function()
local v70 = vu69
return tonumber(v70:sub(1, 4))
end)
if not (v71 and v72) then
local _ = v56 % 101
end
local function vu75()
local v73 = {}
for v74 = 65, 122 do
v73[# v73 + 1] = string.char(v74)
end
return table.concat(v73)
end
local function v79()
local v76 = vu75()
local v77 = {}
for v78 = # v76, 1, - 1 do
v77[# v77 + 1] = v76:sub(v78, v78)
end
return table.concat(v77)
end
local v80 = {
a = vu75(),
b = v79()
}
local v81 = {}
for v82 = 1, 128 do
if v82 % 2 ~= 0 then
v81[# v81 + 1] = v80.b:sub(v82 % # v80.b + 1, v82 % # v80.b + 1)
else
v81[# v81 + 1] = v80.a:sub(v82 % # v80.a + 1, v82 % # v80.a + 1)
end
end
local v83 = table.concat(v81)
local vu84 = 0
for v85 = 1, # v83 do
local v86 = v85
vu84 = vu84 + string.byte(v83, v86) % (v86 + 5)
end
local _, _ = pcall(function()
return tostring(vu84):sub(1, 3)
end)
local v90 = (function(p87)
local v88 = {}
for v89 = 1, p87 do
v88[v89] = (v89 * 37 + 11) % 127
end
return v88
end)(64)
local v91 = {}
for v92 = 1, # v90 do
local v93 = v92
v91[v93] = tostring(v90[v93] * v93 % 53)
end
local vu94 = table.concat(v91, ":")
if pcall(function()
return # vu94
end) then
local v95 = vu94
local _ = vu94.sub(v95, 1, 10) .. tostring(# vu94 % 9)
end
local function vu106(p96)
local v97 = math.pow
local v98 = 0
local v99 = 0
local v100 = {}
local v101 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!#$%&()*+,./:;<=>?@[]^_`{|}~\"\' "
for v102 = 1, # p96 do
v99 = v99 + p96:byte(v102) * v97(2, v98)
v98 = v98 + 8
if v98 > 13 then
local v103 = v99 % v97(2, 13)
if v103 > 88 then
v99 = math.floor(v99 / v97(2, 13))
v98 = v98 - 13
else
v103 = v99 % v97(2, 14)
v99 = math.floor(v99 / v97(2, 14))
v98 = v98 - 14
end
local v104 = v103 % 91
local v105 = math.floor(v103 / 91)
table.insert(v100, v101:sub(v104 + 1, v104 + 1))
table.insert(v100, v101:sub(v105 + 1, v105 + 1))
end
end
if v98 > 0 then
table.insert(v100, v101:sub(v99 % 91 + 1, v99 % 91 + 1))
if v98 > 7 or 90 < v99 then
table.insert(v100, v101:sub(math.floor(v99 / 91) % 91 + 1, math.floor(v99 / 91) % 91 + 1))
end
end
return table.concat(v100)
end
local function vu131(p107)
local v108 = vu106(p107)
local v109 = 200
local v110 = {}
local v111 = "-- [[This Script Is Protected by Lunaris Obfuscator 1.0]]"
for v112 = 1, # v108, v109 do
local v113 = v108:sub(v112, math.min(v112 + v109 - 1, # v108))
table.insert(v110, "[=[" .. v113 .. "]=]")
end
local v114 = "local k={" .. table.concat(v110, ",") .. "};";
(function()
local v115 = {}
for v116 = 1, 128 do
local v117 = v116
v115[v117] = string.char((v117 * 97 + 31) % 94 + 33)
end
local v118 = table.concat(v115)
local vu119 = 0
for v120 = 1, # v118 do
local v121 = v120
vu119 = vu119 + string.byte(v118, v121) * v121 % (v121 + 7)
end
local vu122 = {}
for v123 = 1, 16 do
local v124 = v123
vu122[v124] = vu119 % (v124 * 31 % 97 + 1) * (v124 ^ 3 % 101)
end
local vu127 = table.concat((function()
local v125 = {}
for v126 = 1, # vu122 do
v125[v126] = tostring(vu122[v126] % 37)
end
return v125
end)(), "-")
local v129, v130 = pcall(function()
local v128 = vu127
return tonumber(v128:sub(1, 3)) or vu119 % 100
end)
return v129 and v130 and v130 or nil
end)()
return v111 .. "\n" .. v114 .. "local b91=[=[ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!#$%&()*+,./:;<=>?@[]^_`{|}~\"\' ]=];local function d(e)local dec={};for i=1,#b91 do dec[b91:sub(i,i)]=i-1 end;local out={};local b=0;local n=0;local v=-1;local pow=math.pow;for i=1,#e do local ch=e:sub(i,i);local val=dec[ch]; if val~=nil then if v==-1 then v=val else v=v+val*91; local lower13=v%8192; local bits=(lower13>88) and 13 or 14; b=b+v*pow(2,n); n=n+bits; while n>=8 do table.insert(out,string.char(b%256)); b=math.floor(b/256); n=n-8 end; v=-1 end end end; if v~=-1 then b=b+v*pow(2,n); n=n+13; while n>=8 do table.insert(out,string.char(b%256)); b=math.floor(b/256); n=n-8 end end; return table.concat(out) end; loadstring(d(table.concat(k)))()"
end
v8.MouseButton1Click:Connect(function()
local vu132 = vu5.Text
if vu132 and # vu132 > 0 then
local v133, v134 = pcall(function()
return vu131(vu132)
end)
if v133 then
vu7.Text = v134
else
vu7.Text = "-- Error in obfuscation: " .. tostring(v134)
end
else
vu7.Text = "-- Please enter a script to obfuscate"
end
end)
vu9.MouseButton1Click:Connect(function()
if # vu7.Text > 0 then
local vu136 = setclipboard or toclipboard or function(pu135)
pcall(function()
game:GetService("TextService"):SetClipboard(pu135)
end)
end
pcall(function()
vu136(vu7.Text)
vu9.Text = "COPIED!"
wait(1)
vu9.Text = "COPY OUTPUT"
end)
end
end)
v10.MouseButton1Click:Connect(function()
vu5.Text = ""
vu7.Text = ""
end)



What?