local Players = game:GetService("Players") local ReplicatedStorage = game:GetService("ReplicatedStorage") local Workspace = game:GetService("Workspace") local UserInputService = game:GetService("UserInputService") local RunService = game:GetService("RunService") local player = Players.LocalPlayer local playerGui = player:WaitForChild("PlayerGui") local oldGui = playerGui:FindFirstChild("RemoteScannerGui") if oldGui then oldGui:Destroy() end local ScreenGui = Instance.new("ScreenGui", playerGui) ScreenGui.Name = "RemoteScannerGui" ScreenGui.ResetOnSpawn = false local Frame = Instance.new("Frame", ScreenGui) Frame.Size = UDim2.new(0, 360, 0, 240) Frame.Position = UDim2.new(0.5, -180, 0.5, -120) Frame.BackgroundColor3 = Color3.fromRGB(35, 35, 35) Frame.BorderSizePixel = 0 Frame.ClipsDescendants = true Frame.Active = true local OpenButton = Instance.new("TextButton", ScreenGui) OpenButton.Size = UDim2.new(0, 90, 0, 30) OpenButton.Position = UDim2.new(0, 10, 0.4, 0) OpenButton.BackgroundColor3 = Color3.fromRGB(45, 45, 45) OpenButton.BorderSizePixel = 0 OpenButton.Text = "Open UI" OpenButton.TextColor3 = Color3.new(1, 1, 1) OpenButton.Font = Enum.Font.SourceSansBold OpenButton.TextSize = 14 OpenButton.Visible = false OpenButton.MouseButton1Click:Connect(function() Frame.Visible = true OpenButton.Visible = false end) local TitleBar = Instance.new("Frame", Frame) TitleBar.Size = UDim2.new(1, 0, 0, 28) TitleBar.BackgroundColor3 = Color3.fromRGB(50, 50, 50) TitleBar.BorderSizePixel = 0 local TitleLabel = Instance.new("TextLabel", TitleBar) TitleLabel.Text = "Remote Scanner" TitleLabel.Size = UDim2.new(1, -60, 1, 0) TitleLabel.Position = UDim2.new(0, 8, 0, 0) TitleLabel.BackgroundTransparency = 1 TitleLabel.TextColor3 = Color3.new(1, 1, 1) TitleLabel.Font = Enum.Font.SourceSansBold TitleLabel.TextSize = 15 TitleLabel.TextXAlignment = Enum.TextXAlignment.Left local CloseButton = Instance.new("TextButton", TitleBar) CloseButton.Text = "X" CloseButton.Size = UDim2.new(0, 28, 1, 0) CloseButton.Position = UDim2.new(1, -28, 0, 0) CloseButton.BackgroundColor3 = Color3.fromRGB(150, 40, 40) CloseButton.BorderSizePixel = 0 CloseButton.Font = Enum.Font.SourceSansBold CloseButton.TextSize = 16 CloseButton.TextColor3 = Color3.new(1, 1, 1) CloseButton.MouseButton1Click:Connect(function() ScreenGui:Destroy() end) local MinimizeButton = Instance.new("TextButton", TitleBar) MinimizeButton.Text = "-" MinimizeButton.Size = UDim2.new(0, 28, 1, 0) MinimizeButton.Position = UDim2.new(1, -56, 0, 0) MinimizeButton.BackgroundColor3 = Color3.fromRGB(70, 70, 70) MinimizeButton.BorderSizePixel = 0 MinimizeButton.Font = Enum.Font.SourceSansBold MinimizeButton.TextSize = 18 MinimizeButton.TextColor3 = Color3.new(1, 1, 1) MinimizeButton.MouseButton1Click:Connect(function() Frame.Visible = false OpenButton.Visible = true end) local dragging, dragInput, dragStart, startPos local function update(input) local delta = input.Position - dragStart Frame.Position = UDim2.new( startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y ) end TitleBar.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPos = Frame.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) TitleBar.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 update(input) end end) local SearchBox = Instance.new("TextBox", Frame) SearchBox.Size = UDim2.new(1, -10, 0, 25) SearchBox.Position = UDim2.new(0, 5, 0, 32) SearchBox.PlaceholderText = "Search Remote..." SearchBox.ClearTextOnFocus = false SearchBox.Text = "" SearchBox.BackgroundColor3 = Color3.fromRGB(50, 50, 50) SearchBox.TextColor3 = Color3.new(1, 1, 1) SearchBox.Font = Enum.Font.SourceSans SearchBox.TextSize = 14 local ScrollFrame = Instance.new("ScrollingFrame", Frame) ScrollFrame.Size = UDim2.new(1, -10, 1, -65) ScrollFrame.Position = UDim2.new(0, 5, 0, 60) ScrollFrame.BackgroundColor3 = Color3.fromRGB(40, 40, 40) ScrollFrame.BorderSizePixel = 0 ScrollFrame.CanvasSize = UDim2.new(0, 0, 0, 0) ScrollFrame.ScrollBarThickness = 6 local UIListLayout = Instance.new("UIListLayout", ScrollFrame) UIListLayout.Padding = UDim.new(0, 4) UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder local function scanRemotes() local remotes = {} local function findRemotesIn(parent) for _, child in pairs(parent:GetChildren()) do if child:IsA("RemoteEvent") or child:IsA("RemoteFunction") then table.insert(remotes, child) end findRemotesIn(child) end end findRemotesIn(Workspace) findRemotesIn(ReplicatedStorage) return remotes end local remotes = scanRemotes() local function createButton(text, sizeX, sizeY) local btn = Instance.new("TextButton") btn.Text = text btn.Size = UDim2.new(0, sizeX, 0, sizeY) btn.BackgroundColor3 = Color3.fromRGB(60, 60, 60) btn.BorderSizePixel = 0 btn.TextColor3 = Color3.new(1, 1, 1) btn.Font = Enum.Font.SourceSans btn.TextSize = 12 btn.AutoButtonColor = true return btn end local function updateRemoteList(filter) filter = filter:lower() for _, child in pairs(ScrollFrame:GetChildren()) do if child:IsA("Frame") then child:Destroy() end end local filtered = {} for _, remote in pairs(remotes) do if remote.Name:lower():find(filter) then table.insert(filtered, remote) end end for index, remote in pairs(filtered) do local remoteFrame = Instance.new("Frame", ScrollFrame) remoteFrame.Size = UDim2.new(1, -6, 0, 32) remoteFrame.BackgroundColor3 = Color3.fromRGB(45, 45, 45) remoteFrame.BorderSizePixel = 0 remoteFrame.LayoutOrder = index local nameLabel = Instance.new("TextLabel", remoteFrame) nameLabel.Text = remote.Name nameLabel.Size = UDim2.new(0.35, 0, 1, 0) nameLabel.BackgroundTransparency = 1 nameLabel.TextColor3 = Color3.new(1, 1, 1) nameLabel.Font = Enum.Font.SourceSans nameLabel.TextSize = 13 nameLabel.TextXAlignment = Enum.TextXAlignment.Left nameLabel.Position = UDim2.new(0, 5, 0, 0) local fireBtn = createButton("Fire", 45, 24) fireBtn.Parent = remoteFrame fireBtn.Position = UDim2.new(0.38, 0, 0.12, 0) local backdoorBtn = createButton("Backdoor", 60, 24) backdoorBtn.Parent = remoteFrame backdoorBtn.Position = UDim2.new(0.53, 0, 0.12, 0) local copyBtn = createButton("Copy", 50, 24) copyBtn.Parent = remoteFrame copyBtn.Position = UDim2.new(0.72, 0, 0.12, 0) fireBtn.MouseButton1Click:Connect(function() if remote:IsA("RemoteEvent") then remote:FireServer() elseif remote:IsA("RemoteFunction") then pcall(function() remote:InvokeServer() end) end end) copyBtn.MouseButton1Click:Connect(function() local code = ("game:GetService('ReplicatedStorage'):WaitForChild('%s'):FireServer()"):format(remote.Name) pcall(function() setclipboard(code) end) end) end RunService.Heartbeat:Wait() ScrollFrame.CanvasSize = UDim2.new(0, 0, 0, UIListLayout.AbsoluteContentSize.Y + 8) end SearchBox:GetPropertyChangedSignal("Text"):Connect(function() updateRemoteList(SearchBox.Text) end) updateRemoteList("")