Backdoor KNSHUB
Key RequiredUniversal

Backdoor KNSHUB

Universal ScriptLedanhLedanh 1.1K views 3.8K executesUpdated Aug 6, 2026
Unrated
00
Lua Script•405 lines (14369 chars)
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)

Features & Information

Backdoor
#Ken#Hub

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts