Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- client = game:GetService('Players').LocalPlayer
- service = {
- MarketPlace = game:service("MarketplaceService");
- GamepassService = game:service("GamePassService");
- ChatService = game:service("Chat");
- Lighting = game:service("Lighting");
- Player = game:service("Players").LocalPlayer;
- PlayerGui = game:service("Players").LocalPlayer.PlayerGui;
- Delete = function(obj,num) game:service("Debris"):AddItem(obj,(num or 0)) end;
- FindMatch = function(obj, str) for ind,thing in pairs(obj:GetChildren()) do if thing.Name:find(str) then return thing end end end;
- New = function(class,data)
- local new = Instance.new(class)
- if data then
- if type(data) == "table" then
- for val,prop in pairs(data) do
- new[val] = prop
- end
- elseif type(data) == "userdata" then
- new.Parent = data
- end
- end
- return new
- end}
- function logError(plr,err) warn("CLIENT ERROR: "..tostring(err)) client.Remote.Send("LogError",err) end
- cPcall = function(func,...) local function cour(...) coroutine.resume(coroutine.create(func),...) end local ran,error=ypcall(cour,...) if error then print(error) logError(error) warn('ERROR :: '..error) end end
- Routine = function(func,...) coroutine.resume(coroutine.create(func),...) end
- LastChanges = {
- Lighting = {};
- };
- Detectors = {
- Speed = function(data)
- service.StartLoop("AntiSpeed",1,function()
- if service.CheckMethod("GetRealPhysicsFPS") then
- if workspace:GetRealPhysicsFPS() > tonumber(data.Speed) then
- client.Anti.Detected('kill','Speed exploiting')
- end
- else
- client.Anti.Detected('kick','Method change detected')
- end
- end)
- end;
- LockLighting = function(data)
- local settings = {
- Ambient = service.Lighting.Ambient;
- Brightness = service.Lighting.Brightness;
- ColorShift_Bottom = service.Lighting.ColorShift_Bottom;
- ColorShift_Top = service.Lighting.ColorShift_Top;
- GlobalShadows = service.Lighting.GlobalShadows;
- OutdoorAmbient = service.Lighting.OutdoorAmbient;
- Outlines = service.Lighting.Outlines;
- ShadowColor = service.Lighting.ShadowColor;
- GeographicLatitude = service.Lighting.GeographicLatitude;
- Name = service.Lighting.Name;
- TimeOfDay = service.Lighting.TimeOfDay;
- FogColor = service.Lighting.FogColor;
- FogEnd = service.Lighting.FogEnd;
- FogStart = service.Lighting.FogStart;
- }
- local checking = false
- Routine(function()
- while true do
- if not checking then
- for i,v in pairs(settings) do
- if service.Lighting[i] ~= nil then
- settings[i] = service.Lighting[i]
- end
- end
- end
- wait(1)
- end
- end)
- client.Variables.LightingChanged = false
- local tempIgnore = false
- local function check(c)
- if client.Variables.LightingChanged then return true end
- local temp = service.Lighting[c]
- if service.Lighting[c] ~= nil and settings[c] ~= nil then
- tempIgnore = true
- service.Lighting[c] = settings[c]
- tempIgnore = false
- wait(0.01)
- if c == client.Anti.LastChanges.Lighting then
- tempIgnore = true
- service.Lighting[c] = temp
- tempIgnore = false
- return true
- else
- return false
- end
- end
- end
- service.Lighting.Changed:connect(function(c)
- checking = true
- if not tempIgnore then
- if check(c) then
- print("SERVER CHANGED IT")
- else
- print("CLIENT CHANGED IT")
- end
- end
- checking = false
- end)
- end;
- ReplicationLogs = function()
- local filtering = workspace.FilteringEnabled
- local function checkParent(obj,class)
- local tester; pcall(function() tester = obj:GetFullName() end)
- if tester then
- local full = obj:GetFullName()
- local prev = game
- local blackParents = {
- service.InsertService;
- service.TweenService;
- service.GamepadService;
- service.Workspace.CurrentCamera;
- service.LocalContainer();
- service.Player;
- service.Player.Character;
- }
- local blackClasses = {
- "TouchTransmitter";
- }
- local players = service.Players:GetPlayers()
- for ind,b in pairs(blackParents) do
- if b and (obj==b or obj:IsDescendantOf(b)) then
- return true
- end
- end
- for ind,b in pairs(blackClasses) do
- if obj:IsA(b) then
- return true
- end
- end
- for ind,p in pairs(players) do
- if p and (obj:IsDescendantOf(p) or (p.Character and obj:IsDescendantOf(p.Character)))then
- return true
- end
- end
- local new = obj
- for i=1,50 do
- if new then
- if (class and new:IsA(class)) and not (new.Name:find("ADONIS") and new:IsA("LocalScript")) then
- return true
- else
- prev = new
- end
- else
- return false
- end
- new = obj.Parent
- end
- return false
- else
- --warn(client.Anti.GetClassName(obj))
- return true
- end
- end
- game.DescendantAdded:connect(function(c)
- if not filtering and not checkParent(c) then
- local data = {}
- data.obj = c
- data.name = c.Name
- data.class = c.ClassName
- data.parent = c.Parent
- data.path = c:GetFullName()
- client.Remote.Fire("AddReplication","Created",c,data)
- end
- end)
- game.DescendantRemoving:connect(function(c)
- if not filtering and not checkParent(c) then
- local data = {}
- data.obj = c
- data.name = c.Name
- data.class = c.ClassName
- data.parent = c.Parent
- data.path = c:GetFullName()
- if c and c.Parent then
- local event;
- event = c.Parent.ChildRemoved:connect(function(n)
- if c==n then
- client.Remote.Fire("AddReplication","Destroyed",c,data)
- event:disconnect()
- end
- end)
- wait(5)
- if event then
- event:disconnect()
- end
- else
- client.Remote.Fire("AddReplication","Destroyed",c,data)
- end
- end
- end)
- end;
- NameId = function(data)
- local realId = data.RealID
- local realName = data.RealName
- service.StartLoop("NameIDCheck",10,function()
- if service.Player.Name~=realName or service.Player.userId~=realId then
- client.Anti.Detected('kick','Local name/userID does not match real name/userID')
- end
- end)
- end;
- AntiGui = function(data)
- Routine(function()
- for i,g in pairs(service.PlayerGui:children()) do
- if g:IsA("PlayerGui") and not g.Name:find(client.CodeName) then
- local good=false
- for i,v in pairs(client.AllowedGuiList) do
- if g.Name==v then
- good=true
- end
- end
- if not good then g:Destroy() client.Anti.Detected("log","GUI detected") end
- end
- end
- end)
- service.PlayerGui.ChildAdded:connect(function(g)
- cPcall(function()
- if g:IsA("PlayerGui") and not g.Name:find(client.CodeName) then
- local good=false
- for i,v in pairs(client.AllowedGuiList) do
- if g.Name==v then
- good=true
- end
- end
- if not good then g:Destroy() client.Anti.Detected("log","Building tools detected") end
- end
- end)
- end)
- end;
- HumanoidState = function(data)
- wait(1)
- local humanoid = service.Player.Character:WaitForChild("Humanoid")
- local event
- local doing = true
- event = humanoid.StateChanged:connect(function(old,new)
- if not doing then event:disconnect() end
- if new==Enum.HumanoidStateType.StrafingNoPhysics and doing then
- client.Anti.Detected("kill","Noclipping.")
- doing=false
- event:disconnect()
- end
- end)
- while humanoid and humanoid.Parent and humanoid.Parent.Parent and doing and wait(0.1) do
- if humanoid:GetState()==Enum.HumanoidStateType.StrafingNoPhysics and doing then
- client.Anti.Detected("kill","Noclipping.")
- doing=false
- end
- end
- end;
- Paranoid = function(data)
- wait(1)
- local char = service.Player.Character
- local torso = char:WaitForChild("Torso")
- local humPart = char:WaitForChild("HumanoidRootPart")
- local hum = char:WaitForChild("Humanoid")
- while torso and humPart and torso.Parent==char and humPart.Parent==char and char.Parent~=nil and hum.Health>0 and hum and hum.Parent and wait(1) do
- if (humPart.Position-torso.Position).magnitude>10 and hum and hum.Health>0 then
- client.Anti.Detected("kill","Paranoid detected")
- end
- end
- end;
- MainDetection = function(data)
- local lastUpdate = tick()
- local doingCrash = false
- local lookFor = {
- 'stigma';
- 'sevenscript';
- "a".."ssh".."ax";
- 'elysian';
- 'current identity is 0';
- 'gui made by kujo';
- }
- local files = {
- ["C:\RC7\rc7.dat"] = true;
- ["C:\RC7\RC7_THEMES"] = true;
- ["C:\RC7\RC8_THEMES"] = true;
- }
- local function check(Message)
- for i,v in pairs(lookFor) do
- if Message:lower():find(v:lower()) and not Message:lower():find("failed to load") then
- return true
- end
- end
- end
- local function findLog(msg)
- for i,v in pairs(service.LogService:GetLogHistory()) do
- if v.message:lower():find(msg:lower()) then
- return true
- end
- end
- end
- local function findFiles()
- local image = service.New("Decal",service.Workspace)
- for i,v in pairs(files) do
- image.Texture = i;
- wait(0.5)
- if findLog(i) then
- else
- warn("RC7 DETECTION WORKED?")
- client.Anti.Detected('crash','RC7 detected.')
- end
- end
- end
- local function chkObj(item)
- if client.Anti.ObjRLocked(item) then
- local cont = true
- local ran,failz = ypcall(function()
- local checks = {
- service.Workspace;
- service.Players;
- service.ReplicatedStorage;
- service.ReplicatedFirst;
- service.Lighting;
- service.SoundService;
- service.StarterPack;
- service.StarterPlayer;
- service.Teams;
- service.HttpService;
- }
- for i,v in pairs(checks) do
- if item:IsDescendantOf(v) then cont = false end
- end
- end)
- if cont then
- local cont = false
- local class = client.Anti.GetClassName(item)
- if class then
- local checks={
- "Script";
- "LocalScript";
- "CoreScript";
- "ScreenGui";
- "Frame";
- "TextLabel";
- "TextButton";
- "ImageLabel";
- "TextBox";
- "ImageButton";
- "GuiMain"}
- for i,v in pairs(checks) do
- if class==v then
- cont = true
- end
- end
- end
- if cont then
- local testName = tostring(math.random()..math.random())
- local ye,err = ypcall(function()
- game:GetService("GuiService"):AddSelectionParent(testName, item)
- game:GetService("GuiService"):RemoveSelectionGroup(testName)
- end)
- if err and err:find(testName) and err:find("GuiService:") then return true end
- wait(0.5)
- for i,v in pairs(service.LogService:GetLogHistory()) do
- if v.message:find(testName) and v.message:find("GuiService:") then
- return true
- end
- end
- end
- end
- end
- end
- service.ReplicatedFirst.ChildAdded:connect(function(child)
- if client.Anti.GetClassName(child) == "LocalScript" then
- client.Anti.Detected("kick","RC7/Other")
- end
- end)
- service.LogService.MessageOut:connect(function(Message, Type)
- if check(Message) then
- client.Anti.Detected('crash','Exploit detected; '..Message)
- end
- end)
- service.ScriptContext.Error:connect(function(Message, Trace, Script)
- if (not Script or ((not Trace or Trace==""))) then
- local tab = service.LogService:GetLogHistory()
- local continue = false
- if Script then
- for i,v in pairs(tab) do
- if v.message==Message and tab[i+1] and tab[i+1].message==Trace then
- continue = true
- end
- end
- else
- continue=true
- end
- if continue then
- if tostring(Trace):find("CoreGui") or tostring(Trace):find("PlayerScripts") or tostring(Trace):find("Animation_Scripts") or tostring(Trace):match("^(%S*)%.(%S*)") then
- return
- else
- client.Anti.Detected("log","Traceless/Scriptless error")
- end
- end
- end
- end)
- service.NetworkClient.ChildRemoved:connect(function(child)
- wait(30)
- client.Functions.KillClient()
- end)
- game.DescendantAdded:connect(function(c)
- if chkObj(c) and type(c)=="userdata" and not doingCrash then
- doingCrash = true
- client.Anti.Detected("crash","New CoreGui Object")
- end
- end)
- service.StartLoop("EventChecker","Heartbeat",function()
- lastUpdate = tick()
- end)
- service.Player:WaitForChild("Backpack").ChildAdded:connect(function(t)
- if t:IsA("HopperBin") then
- if t.BinType==Enum.BinType.Grab then
- client.Anti.Detected("log","Grab tool detected")
- elseif t.BinType==Enum.BinType.Clone then
- client.Anti.Detected("log","Clone tool detected")
- elseif t.BinType==Enum.BinType.Hammer then
- client.Anti.Detected("log","Hammer tool detected")
- elseif t.BinType==Enum.BinType.GameTool then
- client.Anti.Detected("log","BinType.GameTool detected")
- end
- end
- end)
- service.StartLoop("Detection",10,function()
- if tick()-lastUpdate > 20 then
- client.Anti.Detected("crash","Events stopped")
- end
- for i,v in pairs(service.LogService:GetLogHistory()) do
- if check(v.message) then
- client.Anti.Detected('crash','Exploit detected')
- end
- end
- local ran,err = ypcall(function()
- local func,err = loadstring("print('LOADSTRING TEST')")
- end)
- if ran then
- client.Anti.Detected('crash','Exploit detected; Loadstring usable')
- end
- local ran,err = ypcall(function()
- local test = Instance.new("StringValue")
- test.RobloxLocked = true
- end)
- if ran then
- client.Anti.Detected('crash','RobloxLocked usable')
- end
- end)
- end;
- Launch = function(mode,data)
- if client.Anti.Detectors[mode] then
- client.Anti.Detectors[mode](data)
- end
- end;
- Detected = function(action,info)
- pcall(client.Remote.Send,"Detected",action,info)
- wait(1)
- if action == "kick" then
- client.Disconnect()
- elseif action == "crash" then
- client.Kill()
- end
- end;
- GetClassName = function(obj)
- local testName = tostring(math.random()..math.random())
- local ran,err = ypcall(function()
- local test = obj[testName]
- end)
- if err then
- local class = err:match(testName.." is not a valid member of (.*)")
- if class then
- return class
- end
- end
- end;
- RLocked = function(obj)
- local ran,err=ypcall(function() local bob=service.New("StringValue",obj) bob:Destroy() end)
- if ran then
- return false
- else
- return true
- end
- end;
- ObjRLocked = function(obj)
- local ran,err=ypcall(function() obj.Parent=obj.Parent end)
- if ran then
- return false
- else
- return true
- end
- end;
- CoreRLocked = function(obj)
- local testName=tostring(math.random()..math.random())
- local ye,err=ypcall(function()
- game:GetService("GuiService"):AddSelectionParent(testName, obj)
- game:GetService("GuiService"):RemoveSelectionGroup(testName)
- end)
- if err and err:find(testName) and err:find("GuiService:") then
- return true
- else
- wait(0.5)
- for i,v in pairs(service.LogService:GetLogHistory()) do
- if v.message:find(testName) and v.message:find("GuiService:") then
- return true
- end
- end
- end
- end}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement