
KeylessUniversal

-- Zephyr Hub
-- A clean, spacious, black-themed scanner hub with Exploit and Read Me tabs
-- Features: Backdoor Scanner, Tool Scanner, Model Scanner (prints results to console)
local Players = game:GetService("Players")
local CoreGui = game:GetService("CoreGui")
local TweenService = game:GetService("TweenService")
local RunService = game:GetService("RunService")
local LocalPlayer = Players.LocalPlayer
-- Create ScreenGui
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "ZephyrHub"
ScreenGui.ResetOnSpawn = false
ScreenGui.Parent = CoreGui
-- Main Frame (Wide & Spacious)
local MainFrame = Instance.new("Frame")
MainFrame.Size = UDim2.new(0, 900, 0, 580)
MainFrame.Position = UDim2.new(0.5, -450, 0.5, -290)
MainFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
MainFrame.BorderSizePixel = 0
MainFrame.ClipsDescendants = true
MainFrame.Parent = ScreenGui
-- Corner Rounding
local Corner = Instance.new("UICorner")
Corner.CornerRadius = UDim.new(0, 12)
Corner.Parent = MainFrame
-- Title Bar
local TitleBar = Instance.new("Frame")
TitleBar.Size = UDim2.new(1, 0, 0, 50)
TitleBar.BackgroundColor3 = Color3.fromRGB(15, 15, 15)
TitleBar.BorderSizePixel = 0
TitleBar.Parent = MainFrame
local TitleCorner = Instance.new("UICorner")
TitleCorner.CornerRadius = UDim.new(0, 12)
TitleCorner.Parent = TitleBar
local TitleLabel = Instance.new("TextLabel")
TitleLabel.Size = UDim2.new(0, 300, 1, 0)
TitleLabel.Position = UDim2.new(0, 20, 0, 0)
TitleLabel.BackgroundTransparency = 1
TitleLabel.Text = "Zephyr Hub"
TitleLabel.TextColor3 = Color3.fromRGB(0, 170, 255)
TitleLabel.Font = Enum.Font.GothamBold
TitleLabel.TextSize = 22
TitleLabel.TextXAlignment = Enum.TextXAlignment.Left
TitleLabel.Parent = TitleBar
-- Close Button
local CloseButton = Instance.new("TextButton")
CloseButton.Size = UDim2.new(0, 40, 0, 40)
CloseButton.Position = UDim2.new(1, -50, 0, 5)
CloseButton.BackgroundTransparency = 1
CloseButton.Text = "✕"
CloseButton.TextColor3 = Color3.fromRGB(255, 80, 80)
CloseButton.Font = Enum.Font.GothamBold
CloseButton.TextSize = 20
CloseButton.Parent = TitleBar
CloseButton.MouseButton1Click:Connect(function()
ScreenGui:Destroy()
end)
-- Tab Container (Left Side)
local TabContainer = Instance.new("Frame")
TabContainer.Size = UDim2.new(0, 180, 1, -50)
TabContainer.Position = UDim2.new(0, 0, 0, 50)
TabContainer.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
TabContainer.BorderSizePixel = 0
TabContainer.Parent = MainFrame
-- Content Area
local ContentArea = Instance.new("Frame")
ContentArea.Size = UDim2.new(1, -180, 1, -50)
ContentArea.Position = UDim2.new(0, 180, 0, 50)
ContentArea.BackgroundTransparency = 1
ContentArea.Parent = MainFrame
-- Tab Buttons
local Tabs = {}
local function createTab(name)
local TabButton = Instance.new("TextButton")
TabButton.Size = UDim2.new(1, -20, 0, 50)
TabButton.Position = UDim2.new(0, 10, 0, #Tabs * 60 + 20)
TabButton.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
TabButton.BorderSizePixel = 0
TabButton.Text = name
TabButton.TextColor3 = Color3.fromRGB(200, 200, 200)
TabButton.Font = Enum.Font.Gotham
TabButton.TextSize = 18
TabButton.Parent = TabContainer
local TabCorner = Instance.new("UICorner")
TabCorner.CornerRadius = UDim.new(0, 8)
TabCorner.Parent = TabButton
local TabPage = Instance.new("Frame")
TabPage.Size = UDim2.new(1, 0, 1, 0)
TabPage.BackgroundTransparency = 1
TabPage.Visible = false
TabPage.Parent = ContentArea
table.insert(Tabs, {Button = TabButton, Page = TabPage})
TabButton.MouseButton1Click:Connect(function()
for _, tab in ipairs(Tabs) do
tab.Page.Visible = false
tab.Button.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
tab.Button.TextColor3 = Color3.fromRGB(200, 200, 200)
end
TabPage.Visible = true
TabButton.BackgroundColor3 = Color3.fromRGB(0, 140, 255)
TabButton.TextColor3 = Color3.fromRGB(255, 255, 255)
end)
return TabPage
end
-- Create Tabs
local ExploitTab = createTab("Exploit")
local ReadMeTab = createTab("Read Me")
-- Default open tab
Tabs[1].Button.BackgroundColor3 = Color3.fromRGB(0, 140, 255)
Tabs[1].Button.TextColor3 = Color3.fromRGB(255, 255, 255)
Tabs[1].Page.Visible = true
-- === EXPLOIT TAB CONTENT ===
local ExploitLayout = Instance.new("UIListLayout")
ExploitLayout.Padding = UDim.new(0, 25)
ExploitLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center
ExploitLayout.VerticalAlignment = Enum.VerticalAlignment.Top
ExploitLayout.SortOrder = Enum.SortOrder.LayoutOrder
ExploitLayout.Parent = ExploitTab
local ExploitPadding = Instance.new("UIPadding")
ExploitPadding.PaddingTop = UDim.new(0, 40)
ExploitPadding.Parent = ExploitTab
-- Scanner Button Template
local function createScannerButton(text, callback)
local Button = Instance.new("TextButton")
Button.Size = UDim2.new(0, 500, 0, 70)
Button.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
Button.BorderSizePixel = 0
Button.Text = text
Button.TextColor3 = Color3.fromRGB(220, 220, 220)
Button.Font = Enum.Font.GothamSemibold
Button.TextSize = 20
Button.Parent = ExploitTab
local BtnCorner = Instance.new("UICorner")
BtnCorner.CornerRadius = UDim.new(0, 12)
BtnCorner.Parent = Button
local BtnStroke = Instance.new("UIStroke")
BtnStroke.Color = Color3.fromRGB(60, 60, 60)
BtnStroke.Thickness = 1
BtnStroke.Parent = Button
Button.MouseButton1Click:Connect(callback)
-- Hover Effect
Button.MouseEnter:Connect(function()
TweenService:Create(Button, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(50, 50, 50)}):Play()
end)
Button.MouseLeave:Connect(function()
TweenService:Create(Button, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(35, 35, 35)}):Play()
end)
return Button
end
-- Backdoor Scanner
createScannerButton("Scan for Script Backdoors", function()
print("=== ZEPHYR HUB: BACKDOOR SCAN STARTED ===")
local found = 0
for _, obj in ipairs(game:GetDescendants()) do
if obj:IsA("LocalScript") or obj:IsA("Script") then
local source = obj.Source or ""
if string.find(string.lower(source), "require") and string.find(source, "%d%d%d%d%d%d%d%d+") then
local assetId = string.match(source, "require%(%s*(%d+)")
if assetId and tonumber(assetId) then
print("[BACKDOOR] Suspicious Require in:", obj:GetFullName(), "| Asset ID:", assetId)
found += 1
end
end
if string.find(string.lower(source), "http") or string.find(source, "discord") or string.find(source, "webhook") then
print("[BACKDOOR] Potential Data Exfil in:", obj:GetFullName())
found += 1
end
end
end
print("=== SCAN COMPLETE: " .. found .. " potential backdoor(s) found ===")
end)
-- Tool Scanner
createScannerButton("Scan for Malicious Tools", function()
print("=== ZEPHYR HUB: TOOL SCAN STARTED ===")
local found = 0
for _, tool in ipairs(game:GetService("ReplicatedStorage"):GetDescendants()) do
if tool:IsA("Tool") then
if tool:FindFirstChild("Handle") then
local handle = tool.Handle
if handle:FindFirstChildWhichIsA("Script") or handle:FindFirstChildWhichIsA("LocalScript") then
print("[TOOL] Script inside Handle:", tool:GetFullName())
found += 1
end
if handle.Transparency == 1 or handle.Size == Vector3.new(0,0,0) then
print("[TOOL] Invisible/Suspicious Handle:", tool:GetFullName())
found += 1
end
end
end
end
for _, player in ipairs(Players:GetPlayers()) do
if player.Character then
for _, tool in ipairs(player.Character:GetChildren()) do
if tool:IsA("Tool") and tool:FindFirstChildWhichIsA("Script") then
print("[TOOL] Active tool with script:", tool:GetFullName(), "| Owner:", player.Name)
found += 1
end
end
end
end
print("=== SCAN COMPLETE: " .. found .. " suspicious tool(s) found ===")
end)
-- Model Scanner
createScannerButton("Scan for Suspicious Models", function()
print("=== ZEPHYR HUB: MODEL SCAN STARTED ===")
local found = 0
for _, model in ipairs(workspace:GetDescendants()) do
if model:IsA("Model") and not Players:GetPlayerFromCharacter(model) then
if model.PrimaryPart and model.PrimaryPart.Transparency == 1 then
print("[MODEL] Invisible PrimaryPart Model:", model:GetFullName())
found += 1
end
if #model:GetDescendants() > 50 and model:FindFirstChildWhichIsA("Script") then
print("[MODEL] High part count + Script:", model:GetFullName(), "| Parts:", #model:GetDescendants())
found += 1
end
if model.Name:match("%d%d%d+") or string.find(model.Name, "Free") or string.find(model.Name, "Admin") then
print("[MODEL] Suspicious Name:", model:GetFullName())
found += 1
end
end
end
print("=== SCAN COMPLETE: " .. found .. " suspicious model(s) found ===")
end)
-- === READ ME TAB CONTENT ===
local ReadMeText = Instance.new("TextLabel")
ReadMeText.Size = UDim2.new(1, -60, 1, -40)
ReadMeText.Position = UDim2.new(0, 30, 0, 20)
ReadMeText.BackgroundTransparency = 1
ReadMeText.TextColor3 = Color3.fromRGB(200, 200, 200)
ReadMeText.Font = Enum.Font.Gotham
ReadMeText.TextSize = 18
ReadMeText.TextWrapped = true
ReadMeText.TextXAlignment = Enum.TextXAlignment.Left
ReadMeText.TextYAlignment = Enum.TextYAlignment.Top
ReadMeText.Text = [[
ZEPHYR HUB - SCANNER GUIDE
Welcome to Zephyr Hub — a lightweight, powerful scanner designed for exploit safety and game analysis.
HOW TO USE:
1. Open the 'Exploit' tab on the left.
2. Click any scanner button to run a scan.
3. Results will appear in the F9 Developer Console.
SCANNERS:
• Script Backdoor Scanner — Detects require() with asset IDs, webhooks, HTTP requests.
• Tool Scanner — Finds tools with scripts in Handle, invisible parts, or active in players.
• Model Scanner — Flags invisible models, high part count with scripts, or suspicious names.
IMPORTANT:
If you use a specific tool, the results of the scan will be in the console.
TIPS:
• Use F9 to open the console.
• Always scan after joining a new game.
• Report suspicious scripts to game moderators.
Zephyr Hub — Stay safe, scan smart.
]]
ReadMeText.Parent = ReadMeTab
-- Draggable Functionality
local dragging = false
local dragInput
local dragStart
local startPos
TitleBar.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = true
dragStart = input.Position
startPos = MainFrame.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 then
dragInput = input
end
end)
RunService.RenderStepped:Connect(function()
if dragging and dragInput then
local delta = dragInput.Position - dragStart
MainFrame.Position = UDim2.new(
startPos.X.Scale,
startPos.X.Offset + delta.X,
startPos.Y.Scale,
startPos.Y.Offset + delta.Y
)
end
end)
print("Zephyr Hub loaded successfully. Open with F9 console for scan results.")
![[KEYLESS] Moondiety Script | 17+ supported Games](https://scriptblox.com/images/sb/0-1753093706828.png)


Holy ai You can't just make a homemade by urself