local Players = game:GetService("Players") local StarterGui = game:GetService("StarterGui") local HttpService = game:GetService("HttpService") local LocalPlayer = Players.LocalPlayer local function notify(title, text) pcall(function() StarterGui:SetCore("SendNotification", {Title = title, Text = text, Duration = 3}) end) end local savedScripts = {} local fileName = "BackdoorSavedScripts.json" local function loadSavedScripts() if pcall(function() readfile(fileName) end) then local success, result = pcall(function() return HttpService:JSONDecode(readfile(fileName)) end) if success and type(result) == "table" then savedScripts = result end end end local function saveScriptsToFile() pcall(function() writefile(fileName, HttpService:JSONEncode(savedScripts)) end) end loadSavedScripts() local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "BackdoorExecutorGui" ScreenGui.Parent = game.CoreGui ScreenGui.ResetOnSpawn = false -- MESSENGER BUBBLE local ToggleButton = Instance.new("ImageButton") ToggleButton.Name = "MessengerBall" ToggleButton.Parent = ScreenGui ToggleButton.BackgroundColor3 = Color3.fromRGB(0, 132, 255) ToggleButton.Position = UDim2.new(0.05, 0, 0.4, 0) ToggleButton.Size = UDim2.new(0, 50, 0, 50) ToggleButton.Active = true ToggleButton.Draggable = true local BallCorner = Instance.new("UICorner") BallCorner.CornerRadius = UDim.new(1, 0) BallCorner.Parent = ToggleButton local BallText = Instance.new("TextLabel") BallText.Parent = ToggleButton BallText.Size = UDim2.new(1, 0, 1, 0) BallText.BackgroundTransparency = 1 BallText.Text = "⚡" BallText.TextColor3 = Color3.fromRGB(255, 255, 255) BallText.TextSize = 25 BallText.Font = Enum.Font.SourceSansBold -- PAGE 1: MAIN EXECUTOR local MainFrame = Instance.new("Frame") MainFrame.Name = "BackdoorFrame" MainFrame.Parent = ScreenGui MainFrame.BackgroundColor3 = Color3.fromRGB(15, 0, 50) MainFrame.BorderColor3 = Color3.fromRGB(120, 0, 255) MainFrame.BorderSizePixel = 3 MainFrame.Position = UDim2.new(0.35, 0, 0.25, 0) MainFrame.Size = UDim2.new(0, 360, 0, 220) MainFrame.Active = true MainFrame.Draggable = true local Title = Instance.new("TextLabel") Title.Parent = MainFrame Title.BackgroundTransparency = 1 Title.Position = UDim2.new(0.03, 0, 0.02, 0) Title.Size = UDim2.new(0.8, 0, 0.12, 0) Title.Font = Enum.Font.SourceSansBold Title.Text = "Backdoor Exec" Title.TextColor3 = Color3.fromRGB(0, 255, 128) Title.TextSize = 20 Title.TextXAlignment = Enum.TextXAlignment.Left local TextBox = Instance.new("TextBox") TextBox.Parent = MainFrame TextBox.BackgroundColor3 = Color3.fromRGB(255, 255, 255) TextBox.BorderColor3 = Color3.fromRGB(100, 0, 200) TextBox.BorderSizePixel = 2 TextBox.Position = UDim2.new(0.03, 0, 0.18, 0) TextBox.Size = UDim2.new(0.94, 0, 0.55, 0) TextBox.Font = Enum.Font.Code TextBox.MultiLine = true TextBox.Text = "" TextBox.PlaceholderText = "Enter script here..." TextBox.TextColor3 = Color3.fromRGB(0, 0, 0) TextBox.TextSize = 14 TextBox.TextXAlignment = Enum.TextXAlignment.Left TextBox.TextYAlignment = Enum.TextYAlignment.Top TextBox.ClearTextOnFocus = false TextBox.TextWrapped = true local function createButton(parent, name, text, pos, size) local btn = Instance.new("TextButton") btn.Name = name btn.Parent = parent btn.BackgroundColor3 = Color3.fromRGB(255, 255, 255) btn.BorderColor3 = Color3.fromRGB(0, 0, 0) btn.BorderSizePixel = 2 btn.Position = pos btn.Size = size btn.Font = Enum.Font.SourceSansBold btn.Text = text btn.TextColor3 = Color3.fromRGB(0, 0, 0) btn.TextSize = 14 local btnCorner = Instance.new("UICorner") btnCorner.CornerRadius = UDim.new(0, 8) btnCorner.Parent = btn return btn end local BtnExecute = createButton(MainFrame, "ExecuteBtn", "Execute", UDim2.new(0.03, 0, 0.77, 0), UDim2.new(0.22, 0, 0.18, 0)) local BtnClear = createButton(MainFrame, "ClearBtn", "Clear", UDim2.new(0.27, 0, 0.77, 0), UDim2.new(0.18, 0, 0.18, 0)) local BtnRE = createButton(MainFrame, "REBtn", "RE", UDim2.new(0.47, 0, 0.77, 0), UDim2.new(0.18, 0, 0.18, 0)) local BtnSearch = createButton(MainFrame, "SearchBtn", "🔍", UDim2.new(0.67, 0, 0.77, 0), UDim2.new(0.30, 0, 0.18, 0)) -- PAGE 2: SEARCH SCRIPTS local SearchFrame = Instance.new("Frame") SearchFrame.Name = "SearchFrame" SearchFrame.Parent = ScreenGui SearchFrame.BackgroundColor3 = Color3.fromRGB(15, 0, 50) SearchFrame.BorderColor3 = Color3.fromRGB(120, 0, 255) SearchFrame.BorderSizePixel = 3 SearchFrame.Position = UDim2.new(0.35, 0, 0.25, 0) SearchFrame.Size = UDim2.new(0, 360, 0, 220) SearchFrame.Active = true SearchFrame.Draggable = true SearchFrame.Visible = false local SearchTitle = Instance.new("TextLabel") SearchTitle.Parent = SearchFrame SearchTitle.BackgroundTransparency = 1 SearchTitle.Position = UDim2.new(0.03, 0, 0.02, 0) SearchTitle.Size = UDim2.new(0.8, 0, 0.12, 0) SearchTitle.Font = Enum.Font.SourceSansBold SearchTitle.Text = "Search Scripts" SearchTitle.TextColor3 = Color3.fromRGB(0, 255, 128) SearchTitle.TextSize = 20 SearchTitle.TextXAlignment = Enum.TextXAlignment.Left local BtnBack = createButton(SearchFrame, "BackBtn", "↗", UDim2.new(0.87, 0, 0.02, 0), UDim2.new(0.10, 0, 0.15, 0)) local SearchBox = Instance.new("TextBox") SearchBox.Parent = SearchFrame SearchBox.BackgroundColor3 = Color3.fromRGB(200, 200, 200) SearchBox.BorderColor3 = Color3.fromRGB(100, 0, 200) SearchBox.BorderSizePixel = 2 SearchBox.Position = UDim2.new(0.03, 0, 0.20, 0) SearchBox.Size = UDim2.new(0.65, 0, 0.15, 0) SearchBox.Font = Enum.Font.SourceSans SearchBox.PlaceholderText = "Search scripts..." SearchBox.Text = "" SearchBox.TextColor3 = Color3.fromRGB(0, 0, 0) SearchBox.TextSize = 14 SearchBox.ClearTextOnFocus = false local BtnOpenCreate = createButton(SearchFrame, "OpenCreateBtn", "Create Script", UDim2.new(0.70, 0, 0.20, 0), UDim2.new(0.27, 0, 0.15, 0)) local ScriptListScroll = Instance.new("ScrollingFrame") ScriptListScroll.Parent = SearchFrame ScriptListScroll.BackgroundColor3 = Color3.fromRGB(25, 25, 60) ScriptListScroll.BorderColor3 = Color3.fromRGB(100, 0, 200) ScriptListScroll.Position = UDim2.new(0.03, 0, 0.38, 0) ScriptListScroll.Size = UDim2.new(0.94, 0, 0.57, 0) ScriptListScroll.CanvasSize = UDim2.new(0, 0, 0, 0) ScriptListScroll.ScrollBarThickness = 6 local UIListLayout = Instance.new("UIListLayout") UIListLayout.Parent = ScriptListScroll UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder UIListLayout.Padding = UDim.new(0, 5) -- PAGE 3: CREATE SCRIPT PANEL local CreateFrame = Instance.new("Frame") CreateFrame.Name = "CreateFrame" CreateFrame.Parent = ScreenGui CreateFrame.BackgroundColor3 = Color3.fromRGB(15, 0, 50) CreateFrame.BorderColor3 = Color3.fromRGB(120, 0, 255) CreateFrame.BorderSizePixel = 3 CreateFrame.Position = UDim2.new(0.35, 0, 0.25, 0) CreateFrame.Size = UDim2.new(0, 360, 0, 220) CreateFrame.Active = true CreateFrame.Draggable = true CreateFrame.Visible = false local CreateTitle = Instance.new("TextLabel") CreateTitle.Parent = CreateFrame CreateTitle.BackgroundTransparency = 1 CreateTitle.Position = UDim2.new(0.03, 0, 0.02, 0) CreateTitle.Size = UDim2.new(0.8, 0, 0.12, 0) CreateTitle.Font = Enum.Font.SourceSansBold CreateTitle.Text = "Create New Script" CreateTitle.TextColor3 = Color3.fromRGB(0, 255, 128) CreateTitle.TextSize = 20 CreateTitle.TextXAlignment = Enum.TextXAlignment.Left local BtnCloseCreate = createButton(CreateFrame, "CloseCreateBtn", "X", UDim2.new(0.87, 0, 0.02, 0), UDim2.new(0.10, 0, 0.15, 0)) local NameBox = Instance.new("TextBox") NameBox.Parent = CreateFrame NameBox.BackgroundColor3 = Color3.fromRGB(200, 200, 200) NameBox.BorderColor3 = Color3.fromRGB(100, 0, 200) NameBox.BorderSizePixel = 2 NameBox.Position = UDim2.new(0.03, 0, 0.18, 0) NameBox.Size = UDim2.new(0.94, 0, 0.15, 0) NameBox.Font = Enum.Font.SourceSans NameBox.PlaceholderText = "Enter script name..." NameBox.Text = "" NameBox.TextColor3 = Color3.fromRGB(0, 0, 0) NameBox.TextSize = 14 NameBox.ClearTextOnFocus = false local CodeBox = Instance.new("TextBox") CodeBox.Parent = CreateFrame CodeBox.BackgroundColor3 = Color3.fromRGB(200, 200, 200) CodeBox.BorderColor3 = Color3.fromRGB(100, 0, 200) CodeBox.BorderSizePixel = 2 CodeBox.Position = UDim2.new(0.03, 0, 0.36, 0) CodeBox.Size = UDim2.new(0.94, 0, 0.40, 0) CodeBox.Font = Enum.Font.Code CodeBox.MultiLine = true CodeBox.PlaceholderText = "Paste script here..." CodeBox.Text = "" CodeBox.TextColor3 = Color3.fromRGB(0, 0, 0) CodeBox.TextSize = 14 CodeBox.TextXAlignment = Enum.TextXAlignment.Left CodeBox.TextYAlignment = Enum.TextYAlignment.Top CodeBox.ClearTextOnFocus = false CodeBox.TextWrapped = true local BtnSaveScript = createButton(CreateFrame, "SaveScriptBtn", "Save Script", UDim2.new(0.03, 0, 0.79, 0), UDim2.new(0.94, 0, 0.18, 0)) -- RENDER SCRIPT LIST (INCLUDES CREATOR NAME) local function renderScriptList(filterText) loadSavedScripts() for _, child in pairs(ScriptListScroll:GetChildren()) do if child:IsA("Frame") then child:Destroy() end end local myId = tostring(LocalPlayer.UserId) local yOffset = 0 for i, data in ipairs(savedScripts) do if filterText == "" or string.find(string.lower(data.name), string.lower(filterText)) then local itemFrame = Instance.new("Frame") itemFrame.Parent = ScriptListScroll itemFrame.BackgroundColor3 = Color3.fromRGB(35, 35, 75) itemFrame.Size = UDim2.new(1, -5, 0, 35) itemFrame.BorderSizePixel = 0 local nameLabel = Instance.new("TextLabel") nameLabel.Parent = itemFrame nameLabel.BackgroundTransparency = 1 nameLabel.Position = UDim2.new(0.02, 0, 0, 0) nameLabel.Size = UDim2.new(0.55, 0, 1, 0) nameLabel.Font = Enum.Font.SourceSansBold -- Display Script Name with Creator Name (creatorName) local creatorName = data.creatorName or "Anonymous" nameLabel.Text = data.name .. " (" .. creatorName .. ")" nameLabel.TextColor3 = Color3.fromRGB(255, 255, 255) nameLabel.TextSize = 13 nameLabel.TextXAlignment = Enum.TextXAlignment.Left local isOwner = (data.creatorId ~= nil and tostring(data.creatorId) == myId) if isOwner then local btnLoad = createButton(itemFrame, "LoadBtn", "Select", UDim2.new(0.58, 0, 0.15, 0), UDim2.new(0.20, 0, 0.7, 0)) btnLoad.MouseButton1Click:Connect(function() TextBox.Text = data.code SearchFrame.Visible = false MainFrame.Visible = true notify("Success", "Loaded script: " .. data.name) end) local btnDel = createButton(itemFrame, "DelBtn", "Delete", UDim2.new(0.80, 0, 0.15, 0), UDim2.new(0.18, 0, 0.7, 0)) btnDel.BackgroundColor3 = Color3.fromRGB(200, 50, 50) btnDel.TextColor3 = Color3.fromRGB(255, 255, 255) btnDel.MouseButton1Click:Connect(function() table.remove(savedScripts, i) saveScriptsToFile() renderScriptList(SearchBox.Text) notify("Deleted", "Your script has been deleted.") end) else local btnLoad = createButton(itemFrame, "LoadBtn", "Select (Executor)", UDim2.new(0.58, 0, 0.15, 0), UDim2.new(0.40, 0, 0.7, 0)) btnLoad.MouseButton1Click:Connect(function() TextBox.Text = data.code SearchFrame.Visible = false MainFrame.Visible = true notify("Success", "Loaded script: " .. data.name) end) end yOffset = yOffset + 40 end end ScriptListScroll.CanvasSize = UDim2.new(0, 0, 0, yOffset) end -- EVENT HANDLING ToggleButton.MouseButton1Click:Connect(function() if MainFrame.Visible or SearchFrame.Visible or CreateFrame.Visible then MainFrame.Visible = false SearchFrame.Visible = false CreateFrame.Visible = false else MainFrame.Visible = true end end) BtnClear.MouseButton1Click:Connect(function() TextBox.Text = "" end) BtnRE.MouseButton1Click:Connect(function() if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then LocalPlayer.Character.Humanoid.Health = 0 end end) BtnSearch.MouseButton1Click:Connect(function() MainFrame.Visible = false CreateFrame.Visible = false SearchFrame.Visible = true SearchBox.Text = "" renderScriptList("") end) BtnBack.MouseButton1Click:Connect(function() SearchFrame.Visible = false MainFrame.Visible = true end) BtnOpenCreate.MouseButton1Click:Connect(function() NameBox.Text = "" CodeBox.Text = "" CreateFrame.Visible = true end) BtnCloseCreate.MouseButton1Click:Connect(function() CreateFrame.Visible = false end) BtnSaveScript.MouseButton1Click:Connect(function() local scriptName = NameBox.Text local scriptCode = CodeBox.Text if scriptName == "" or scriptCode == "" then notify("Error", "Please enter both script name and content!") return end loadSavedScripts() -- Save with Creator ID and Name table.insert(savedScripts, { name = scriptName, code = scriptCode, creatorId = tostring(LocalPlayer.UserId), creatorName = LocalPlayer.Name }) saveScriptsToFile() CreateFrame.Visible = false renderScriptList(SearchBox.Text) notify("Success", "New script saved!") end) SearchBox:GetPropertyChangedSignal("Text"):Connect(function() renderScriptList(SearchBox.Text) end) BtnExecute.MouseButton1Click:Connect(function() local code = TextBox.Text if code == "" then notify("Warning", "No script entered!") return end local func, loadError = loadstring(code) if not func then notify("Failed", "Script failed to load!") else local success, execError = pcall(func) if success then notify("Success", "Script executed successfully!") else notify("Failed", "Script failed to execute!") end end end)