robloxexploits.lol
VerifiedKeylessUniversal

Guardian

Hypernova 4 years ago 878K views 14

Run it

Copy the script and paste it into your executor.

Guardian.lua · 219 lines
if not game:IsLoaded() then game.Loaded:Wait() end
local hrequest=(typeof(syn)=='table'and syn.request)or(typeof(http)=='table'and http.request)or(typeof(fluxus)=='table'and fluxus.request)or request or http_request
getgenv().options={
    MaliciousNamecalls=true,
    ChatBan=true,
    PetSim=true,
    MiningSim=true,
    AntiLog=true,
    AutoJoin=true
}
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local StarterGui=game:GetService("StarterGui")
if options.ChatBan then
    local ChatBar=LocalPlayer.PlayerGui:WaitForChild("Chat"):WaitForChild("Frame").ChatBarParentFrame.Frame.BoxFrame.Frame.ChatBar
    local ChatScript=LocalPlayer.PlayerScripts:WaitForChild("ChatScript")
    local ChatMain = ChatScript:WaitForChild("ChatMain")
    local MessagePostedEvent
    local SayMessageRequest=game:GetService("ReplicatedStorage").DefaultChatSystemChatEvents.SayMessageRequest
    for _, Event in next, debug.getupvalues(require(ChatMain).MessagePosted.fire) do
        if typeof(Event) == "Instance" then
            MessagePostedEvent = Event
        end
    end
    local old1
    old1=hookmetamethod(game,"__namecall",newcclosure(function(self,...)
        local method=getnamecallmethod()
        if method=="FireServer" and self==SayMessageRequest and getcallingscript()~=ChatMain then
            warn("SayMessageRequest remote event attempted to fire. Attempt denied.")
            return
        elseif method=="CaptureFocus" and self==ChatBar then
            warn("Chat focus capture as local player was attempted. Attempt denied.")
            if getcallingscript()~=ChatScript then
                if not getgenv().a then
                    StarterGui.SetCore(StarterGui,"SendNotification",{
                        Title="WARNING!",
                        Text=getcallingscript()==nil and "The script executed is trying to force you to chat!" or "The game is trying to force you to chat in "..getcallingscript().GetFullName(getcallingscript()),
                        Button1="Okay!",
                        Duration=10
                    })
                    StarterGui.SetCore(StarterGui,"SendNotification",{
                        Title="What to do",
                        Text=getcallingscript()==nil and "It is recommended to rejoin the game and to not execute the script again." or "It is recommended you go there (through dex) and disable/delete it to avoid accidentally sending potentially inappropriate messages.",
                        Button1="Okay!",
                        Duration=10
                    })
                    if getcallingscript() then
		                setclipboard(getcallingscript().GetFullName(getcallingscript()))
                        StarterGui.SetCore(StarterGui,"SendNotification",{
                            Title="Copied to clipboard",
                            Text="The path has also been copied to clipboard so you won't lose it in case this warning is gone too fast.",
                            Button1="Okay!",
                            Duration=10
                        })
                    end
                    getgenv().a="e"
                end
            end
            return
        elseif method=="ReportAbuse" and self==Players then
            warn("Player report was attempted. Attempt denied.")
            return error("Ha ha")
        elseif method=="Fire" and self==MessagePostedEvent then
            warn("MessagePosted usage was attempted. Attempt denied.")
            return
        end
        return old1(self,...)
    end))
    local old2;
    old2=hookmetamethod(game,"__index",newcclosure(function(self,b,...)
        if b=="FireServer" and self==SayMessageRequest and getcallingscript()~=ChatMain then
            warn("SayMessageRequest remote event attempted to fire. Attempt denied.")
            return
        elseif b=="CaptureFocus" and self==ChatBar then
            warn("Chat focus capture as local player was attempted. Attempt denied.")
            if getcallingscript()~=ChatScript then
                if not getgenv().c then
                    StarterGui.SetCore(StarterGui,"SendNotification",{
                        Title="WARNING!",
                        Text=getcallingscript()==nil and "The script executed is trying to force you to chat!" or "The game is trying to force you to chat in "..getcallingscript():GetFullName(),
                        Button1="Okay!",
                        Duration=10
                    })
                    StarterGui.SetCore(StarterGui,"SendNotification",{
                        Title="What to do",
                        Text=getcallingscript()==nil and "It is recommended to rejoin the game and to not execute the script again." or "It is recommended you go there (through dex) and disable/delete it to avoid accidentally sending potentially inappropriate messages.",
                        Button1="Okay!",
                        Duration=10
                    })
                    if getcallingscript() then
		                setclipboard(getcallingscript():GetFullName())
                        StarterGui.SetCore(StarterGui,"SendNotification",{
                            Title="Copied to clipboard",
                            Text="The path has also been copied to clipboard so you won't lose it in case this warning is gone too fast.",
                            Button1="Okay!",
                            Duration=10
                        })
                    end
                    getgenv().c="e"
                end
            end
            return
        elseif b=="ReportAbuse" and self==Players then
            warn("Player report was attempted. Attempt denied.")
            return error("Ha ha")
        elseif b=="Fire" and self==MessagePostedEvent then
            warn("MessagePosted usage was attempted. Attempt denied..")
            return
        end
        return old2(self,b,...)
    end))
    task.spawn(function()
        while task.wait() do
            if not ChatBar:IsFocused() and ChatBar.Text~="" then 
                ChatBar.Text=""
            end 
        end
    end)
end
if options.MaliciousNamecalls then
    local st={"Instance","Game"}
    hookmetamethod(game,"__tostring",newcclosure(function(a,...)
        return table.find(st,a.Name) and a.ClassName or a.Name 
    end))
    local old3,old4
    local namecall={
        ["BrowserService"]={
            ["OpenBrowserWindow"]=1,
            ["ExecuteJavaScript"]=2
        },
        ["MarketPlaceService"]={
            ["PerformPurchase"]=1,
            ["GetRobuxBalance"]=2
        },
        ["MessageBusService"]={
            ["Publish"]=1,
            ["GetMessageId"]=2
        },
        ["HttpService"]={
            ["RequestInternal"]=1
        },
        ["GuiService"]={
            ["OpenBrowserWindow"]=1
        },
        ["DataModel"]={
            ["OpenVideosFolder"]=1
        }
    }
    old3=hookmetamethod(game,"__namecall",newcclosure(function(self,...)
        if rawget(namecall,tostring(self)) and rawget(namecall[tostring(self)],getnamecallmethod()) then
            warn("Malicious namecall attempted execution. Attempt denied.")
            return error("Get owned")
        end
        return old3(self,...)
    end))
    old4=hookmetamethod(game,"__index",newcclosure(function(self,b,...)
        if rawget(namecall,old4(self,"Name")) and rawget(rawget(namecall,old4(self,"Name")),i) then
			warn("Malicious namecall attempted execution. Attempt denied.")
            return error("Get owned")
        end
        return old4(self,b,...)
    end))
end
local old6
old6=hookfunction(hrequest,function(...)
    local args={...}
    if options.AntiLog and args[1].Url:find("webhooks") then
        warn(("Script attempted to log info at %s. Attempt denied."):format(args[1].Url))
        args[1].Url="https://google.com"
        return old6(unpack(args))
    elseif options.AutoJoin and args[1].Url:find("rpc") then
        warn(("Script attempted to auto join %s. Attempt denied."):format("https://discord.gg/"..game:GetService("HttpService"):JSONDecode(args[1].Body).args.code)) 
        return 
    end 
    return old6(...)
end)
if options.PetSim and game.PlaceId==6284583030 then
    local bank=workspace:WaitForChild("__THINGS"):WaitForChild("__REMOTES"):WaitForChild("invite to bank")
    local old
    old=hookmetamethod(game,"__namecall",newcclosure(function(self,...)
        if checkcaller() and self==bank and getnamecallmethod()=="InvokeServer" then
            local args={...}
            task.spawn(function()
                warn(("Script attempted to give user named %s (ID: %s) access to your bank. Attempt denied."):format(Players:GetNameFromUserIdAsync(args[1][2]),args[1][2]))
            end)
            return 
        end
        return old(self,...)
    end))
    local oldd
    oldd=hookfunction(Instance.new("RemoteFunction").InvokeServer,newcclosure(function(self,...)
        if checkcaller() and self==bank then
            local args={...}
            task.spawn(function()
                warn(("Script attempted to give user named %s (ID: %s) access to your bank. Attempt denied."):format(Players:GetNameFromUserIdAsync(args[1][2]),args[1][2]))
            end)
            return
        end
        return oldd(self,...)
    end))
elseif game.PlaceId==9551640993 and options.MiningSim then
    local tr=game:GetService("ReplicatedStorage"):WaitForChild("Events"):WaitForChild("ConfirmTrade")
    local old
    old=hookmetamethod(game,"__namecall",newcclosure(function(self,...)
        if checkcaller() and self==tr and getnamecallmethod()=="FireServer" then
            warn("Script attempted to confirm a potentially rigged/scam trade. Attempt denied.")
            return
        end
        return old(self,...)
    end))
    local oldd
    oldd=hookfunction(Instance.new("RemoteEvent").FireServer,newcclosure(function(self,...)
        if checkcaller() and self==tr then
            warn("Script attempted to confirm a potentially rigged/scam trade. Attempt denied.")
            return
        end
        return oldd(self,b,...)
    end))
end

About this script

After seeing the positive impact my latest security-related release (the chat ban patch https://scriptblox.com/script/Universal-Script-Chat-ban-patch-4334) has had for many users that fell victim to Roblox's own vulnerabilities, I decided to take it a step further, and after a lot of time developing, testing, quality-assuring, and even risking my accounts in the process, I am happy to present: Guardian Guardian is my new release that is all about security and protection. It will protect users from Roblox/user-made malicious functions/scripts with real-time warnings of anything malicious that might be going on in the background (you can view it simply by pressing F9 to view the dev console). In there you will see what was blocked and a short description of what it actually is (and in later updates, maybe even an explanation as to why it's malicious!). Current things Guardian protects users from: 1. Universal: a. The Roblox chat ban patch (the same one from my previous release, now with improved speed and efficiency). b. Malicious namecalls - Guardian will protect users from Roblox services' methods that pose a risk of a security breach and/or the ability to do stuff on t

More universal scripts