Advertisement
PRSADSRXSIRAX

ANTICHEAT-CHECK

Mar 7th, 2025
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 18.38 KB | None | 0 0
  1. --[[
  2. WARNING: Heads up! This script has not been verified by ScriptBlox. Use at your own risk!
  3. ]]
  4.  
  5. local Players = game:GetService("Players")
  6. local UserInputService = game:GetService("UserInputService")
  7. local HttpService = game:GetService("HttpService")
  8. local StarterGui = game:GetService("StarterGui")
  9. local LocalPlayer = Players.LocalPlayer
  10. local RunService = game:GetService("RunService")
  11.  
  12. local discordWebhookUrl = ""
  13.  
  14. local toggleKey = Enum.KeyCode.F7
  15.  
  16. local suspiciousKeywords = {
  17. "kick", "ban", "cheat", "hack", "exploit", "injection",
  18. "bypass", "noclip", "infjump", "speedhack", "setreadonly",
  19. "getrawmetatable", "hookmetamethod", "debug", "anticheat",
  20. "detector", "obfuscate", "obfuscated", "malware", "virus",
  21. "stealer", "inject", "override", "hook", "godmode", "log", "monitor"
  22. }
  23.  
  24. local allScriptPaths = {}
  25. local allRemotePaths = {}
  26.  
  27. Players.LocalPlayer.Idled:Connect(function()
  28. local vu = game:GetService("VirtualUser")
  29. vu:CaptureController()
  30. vu:ClickButton2(Vector2.new(0,0))
  31. StarterGui:SetCore("SendNotification", {
  32. Title = "Anti-AFK",
  33. Text = "Anti-AFK aktiv!",
  34. Duration = 3
  35. })
  36. end)
  37.  
  38.  
  39. local function getSuspicionLevel(code)
  40. local lowerCode = code:lower()
  41. local count = 0
  42. for _, keyword in ipairs(suspiciousKeywords) do
  43. if lowerCode:find(keyword) then
  44. count = count + 1
  45. end
  46. end
  47. if count >= 2 then
  48. return "ANTICHEAT", count
  49. elseif count == 1 then
  50. return "ANTICHEAT", count
  51. else
  52. return "Unauffällig", count
  53. end
  54. end
  55.  
  56. local function tryDecompile(obj)
  57. if _G.dex and typeof(_G.dex.decompile) == "function" then
  58. local success, result = pcall(_G.dex.decompile, obj)
  59. if success then
  60. return result
  61. else
  62. return "Fehler beim Dex Decompilieren:\n" .. tostring(result)
  63. end
  64. elseif typeof(decompile) == "function" then
  65. local success, result = pcall(decompile, obj)
  66. if success then
  67. return result
  68. else
  69. return "Fehler beim Decompilieren:\n" .. tostring(result)
  70. end
  71. elseif _G.syn and typeof(_G.syn.decompile) == "function" then
  72. local success, result = pcall(_G.syn.decompile, obj)
  73. if success then
  74. return result
  75. else
  76. return "Fehler beim Decompilieren (syn):\n" .. tostring(result)
  77. end
  78. else
  79. return "Kein Decompiler verfügbar."
  80. end
  81. end
  82.  
  83. local ScreenGui = Instance.new("ScreenGui")
  84. ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui")
  85. ScreenGui.ResetOnSpawn = false
  86.  
  87. local MainFrame = Instance.new("Frame")
  88. MainFrame.Name = "MainFrame"
  89. MainFrame.Size = UDim2.new(0,600,0,450)
  90. MainFrame.Position = UDim2.new(0.5,-300,0.5,-225)
  91. MainFrame.BackgroundColor3 = Color3.fromRGB(30,30,30)
  92. MainFrame.Parent = ScreenGui
  93.  
  94. local MainCorner = Instance.new("UICorner")
  95. MainCorner.CornerRadius = UDim.new(0,10)
  96. MainCorner.Parent = MainFrame
  97.  
  98. local TitleLabel = Instance.new("TextLabel")
  99. TitleLabel.Size = UDim2.new(1,0,0,30)
  100. TitleLabel.Position = UDim2.new(0,0,0,0)
  101. TitleLabel.BackgroundTransparency = 1
  102. TitleLabel.Text = "Game Anticheat finder by cyberseall"
  103. TitleLabel.TextColor3 = Color3.new(1,1,1)
  104. TitleLabel.Font = Enum.Font.SourceSansBold
  105. TitleLabel.TextScaled = true
  106. TitleLabel.Parent = MainFrame
  107.  
  108. local dragging = false
  109. local dragStart, startPos
  110. MainFrame.InputBegan:Connect(function(input)
  111. if input.UserInputType == Enum.UserInputType.MouseButton1 then
  112. dragging = true
  113. dragStart = input.Position
  114. startPos = MainFrame.Position
  115. input.Changed:Connect(function()
  116. if input.UserInputState == Enum.UserInputState.End then dragging = false end
  117. end)
  118. end
  119. end)
  120. MainFrame.InputChanged:Connect(function(input)
  121. if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then
  122. local delta = input.Position - dragStart
  123. MainFrame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
  124. end
  125. end)
  126.  
  127. UserInputService.InputBegan:Connect(function(input, gameProcessed)
  128. if not gameProcessed and input.KeyCode == toggleKey then
  129. MainFrame.Visible = not MainFrame.Visible
  130. end
  131. end)
  132.  
  133. local TabBar = Instance.new("Frame")
  134. TabBar.Size = UDim2.new(1,0,0,35)
  135. TabBar.Position = UDim2.new(0,0,0,30)
  136. TabBar.BackgroundTransparency = 1
  137. TabBar.Parent = MainFrame
  138.  
  139. local ScriptsTabButton = Instance.new("TextButton")
  140. ScriptsTabButton.Size = UDim2.new(0.5, -5, 1, 0)
  141. ScriptsTabButton.Position = UDim2.new(0, 0, 0, 0)
  142. ScriptsTabButton.Text = "Scripts"
  143. ScriptsTabButton.BackgroundColor3 = Color3.fromRGB(50,50,50)
  144. ScriptsTabButton.TextColor3 = Color3.new(1,1,1)
  145. ScriptsTabButton.Parent = TabBar
  146.  
  147. local RemotesTabButton = Instance.new("TextButton")
  148. RemotesTabButton.Size = UDim2.new(0.5, -5, 1, 0)
  149. RemotesTabButton.Position = UDim2.new(0.5, 5, 0, 0)
  150. RemotesTabButton.Text = "Remotes"
  151. RemotesTabButton.BackgroundColor3 = Color3.fromRGB(70,70,70)
  152. RemotesTabButton.TextColor3 = Color3.new(1,1,1)
  153. RemotesTabButton.Parent = TabBar
  154.  
  155. local CopyAllScriptsButton = Instance.new("TextButton")
  156. CopyAllScriptsButton.Size = UDim2.new(0,80,0,25)
  157. CopyAllScriptsButton.Position = UDim2.new(1,-85,0,5)
  158. CopyAllScriptsButton.Text = "Copy All"
  159. CopyAllScriptsButton.BackgroundColor3 = Color3.fromRGB(80,80,80)
  160. CopyAllScriptsButton.TextColor3 = Color3.new(1,1,1)
  161. CopyAllScriptsButton.Parent = TabBar
  162.  
  163. local CopyAllRemotesButton = Instance.new("TextButton")
  164. CopyAllRemotesButton.Size = UDim2.new(0,80,0,25)
  165. CopyAllRemotesButton.Position = UDim2.new(1,-85,0,5)
  166. CopyAllRemotesButton.Text = "Copy All"
  167. CopyAllRemotesButton.BackgroundColor3 = Color3.fromRGB(80,80,80)
  168. CopyAllRemotesButton.TextColor3 = Color3.new(1,1,1)
  169. CopyAllRemotesButton.Visible = false
  170. CopyAllRemotesButton.Parent = TabBar
  171.  
  172.  
  173. local ContentFrame = Instance.new("Frame")
  174. ContentFrame.Size = UDim2.new(1,0,0,385)
  175. ContentFrame.Position = UDim2.new(0,0,0,65)
  176. ContentFrame.BackgroundTransparency = 1
  177. ContentFrame.Parent = MainFrame
  178.  
  179. local ScriptsFrame = Instance.new("ScrollingFrame")
  180. ScriptsFrame.Size = UDim2.new(1, -20, 1, -20)
  181. ScriptsFrame.Position = UDim2.new(0, 10, 0, 0)
  182. ScriptsFrame.BackgroundTransparency = 1
  183. ScriptsFrame.ScrollBarThickness = 4
  184. ScriptsFrame.Parent = ContentFrame
  185.  
  186. local ScriptsListLayout = Instance.new("UIListLayout")
  187. ScriptsListLayout.Parent = ScriptsFrame
  188. ScriptsListLayout.SortOrder = Enum.SortOrder.LayoutOrder
  189. ScriptsListLayout.Padding = UDim.new(0,5)
  190. ScriptsListLayout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function()
  191. ScriptsFrame.CanvasSize = UDim2.new(0,0,0,ScriptsListLayout.AbsoluteContentSize.Y)
  192. end)
  193.  
  194. local RemotesFrame = Instance.new("ScrollingFrame")
  195. RemotesFrame.Size = UDim2.new(1, -20, 1, -20)
  196. RemotesFrame.Position = UDim2.new(0, 10, 0, 0)
  197. RemotesFrame.BackgroundTransparency = 1
  198. RemotesFrame.ScrollBarThickness = 4
  199. RemotesFrame.Visible = false
  200. RemotesFrame.Parent = ContentFrame
  201.  
  202. local RemotesListLayout = Instance.new("UIListLayout")
  203. RemotesListLayout.Parent = RemotesFrame
  204. RemotesListLayout.SortOrder = Enum.SortOrder.LayoutOrder
  205. RemotesListLayout.Padding = UDim.new(0,5)
  206. RemotesListLayout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function()
  207. RemotesFrame.CanvasSize = UDim2.new(0,0,0,RemotesListLayout.AbsoluteContentSize.Y)
  208. end)
  209.  
  210. local ScanButton = Instance.new("TextButton")
  211. ScanButton.Size = UDim2.new(0,300,0,50)
  212. ScanButton.Position = UDim2.new(0.5, -100, 1, -55)
  213. ScanButton.BackgroundColor3 = Color3.fromRGB(0,170,85)
  214. ScanButton.Text = "Start Analysing Game"
  215. ScanButton.TextColor3 = Color3.new(1,1,1)
  216. ScanButton.Font = Enum.Font.SourceSansBold
  217. ScanButton.TextSize = 20
  218. ScanButton.Parent = MainFrame
  219.  
  220. local ScanCorner = Instance.new("UICorner")
  221. ScanCorner.CornerRadius = UDim.new(0,10)
  222. ScanCorner.Parent = ScanButton
  223.  
  224. local function showScriptsTab()
  225. ScriptsFrame.Visible = true
  226. RemotesFrame.Visible = false
  227. ScriptsTabButton.BackgroundColor3 = Color3.fromRGB(50,50,50)
  228. RemotesTabButton.BackgroundColor3 = Color3.fromRGB(70,70,70)
  229. CopyAllScriptsButton.Visible = true
  230. CopyAllRemotesButton.Visible = false
  231. end
  232.  
  233. local function showRemotesTab()
  234. ScriptsFrame.Visible = false
  235. RemotesFrame.Visible = true
  236. ScriptsTabButton.BackgroundColor3 = Color3.fromRGB(70,70,70)
  237. RemotesTabButton.BackgroundColor3 = Color3.fromRGB(50,50,50)
  238. CopyAllScriptsButton.Visible = false
  239. CopyAllRemotesButton.Visible = true
  240. end
  241.  
  242. ScriptsTabButton.MouseButton1Click:Connect(showScriptsTab)
  243. RemotesTabButton.MouseButton1Click:Connect(showRemotesTab)
  244.  
  245. CopyAllScriptsButton.MouseButton1Click:Connect(function()
  246. local allText = table.concat(allScriptPaths, "\n")
  247. if setclipboard then
  248. setclipboard(allText)
  249. StarterGui:SetCore("SendNotification", { Title = "Copy All", Text = "Alle Skriptpfade kopiert!", Duration = 3 })
  250. end
  251. end)
  252.  
  253. CopyAllRemotesButton.MouseButton1Click:Connect(function()
  254. local allText = table.concat(allRemotePaths, "\n")
  255. if setclipboard then
  256. setclipboard(allText)
  257. StarterGui:SetCore("SendNotification", { Title = "Copy All", Text = "Alle Remote-Pfade kopiert!", Duration = 3 })
  258. end
  259. end)
  260.  
  261. local function createResultItem(category, title, details)
  262. local targetFrame = (category == "Remote") and RemotesFrame or ScriptsFrame
  263.  
  264. local container = Instance.new("Frame")
  265. container.Size = UDim2.new(1,0,0,30)
  266. container.BackgroundTransparency = 1
  267. container.Parent = targetFrame
  268.  
  269. local textColor = Color3.new(1,1,1)
  270. if title:find("ANTICHEAT") then
  271. textColor = Color3.new(1,0,0)
  272. elseif title:find("ANTICHEAT") then
  273. textColor = Color3.new(1,1,0)
  274. end
  275.  
  276. local resultLabel = Instance.new("TextLabel")
  277. resultLabel.Size = UDim2.new(1,-110,1,0)
  278. resultLabel.BackgroundTransparency = 1
  279. resultLabel.Text = title
  280. resultLabel.TextColor3 = textColor
  281. resultLabel.TextXAlignment = Enum.TextXAlignment.Left
  282. resultLabel.Parent = container
  283.  
  284. local viewButton = Instance.new("TextButton")
  285. viewButton.Size = UDim2.new(0,50,1,0)
  286. viewButton.Position = UDim2.new(1,-110,0,0)
  287. viewButton.Text = "View"
  288. viewButton.BackgroundColor3 = Color3.fromRGB(70,70,70)
  289. viewButton.TextColor3 = Color3.fromRGB(255,255,255)
  290. viewButton.Parent = container
  291.  
  292. local copyButton = Instance.new("TextButton")
  293. copyButton.Size = UDim2.new(0,50,1,0)
  294. copyButton.Position = UDim2.new(1,-60,0,0)
  295. copyButton.Text = "Copy"
  296. copyButton.BackgroundColor3 = Color3.fromRGB(70,70,70)
  297. copyButton.TextColor3 = Color3.fromRGB(255,255,255)
  298. copyButton.Parent = container
  299.  
  300. local detailFrame = Instance.new("Frame")
  301. detailFrame.Size = UDim2.new(1,-10,0,180)
  302. detailFrame.Position = UDim2.new(0,10,0,30)
  303. detailFrame.BackgroundColor3 = Color3.fromRGB(40,40,40)
  304. detailFrame.Visible = false
  305. detailFrame.Parent = container
  306.  
  307. local detailTextBox = Instance.new("TextBox")
  308. detailTextBox.Size = UDim2.new(1,-10,1,-10)
  309. detailTextBox.Position = UDim2.new(0,5,0,5)
  310. detailTextBox.BackgroundColor3 = Color3.fromRGB(50,50,50)
  311. detailTextBox.TextColor3 = Color3.fromRGB(255,255,255)
  312. detailTextBox.Text = details
  313. detailTextBox.TextWrapped = false
  314. detailTextBox.TextXAlignment = Enum.TextXAlignment.Left
  315. detailTextBox.TextYAlignment = Enum.TextYAlignment.Top
  316. detailTextBox.ClearTextOnFocus = false
  317. detailTextBox.MultiLine = true
  318. detailTextBox.Font = Enum.Font.Code
  319. detailTextBox.TextSize = 14
  320. detailTextBox.Parent = detailFrame
  321.  
  322. local corner = Instance.new("UICorner")
  323. corner.CornerRadius = UDim.new(0,5)
  324. corner.Parent = detailFrame
  325.  
  326. local isOpen = false
  327. viewButton.MouseButton1Click:Connect(function()
  328. isOpen = not isOpen
  329. detailFrame.Visible = isOpen
  330. if isOpen then
  331. container.Size = UDim2.new(1,0,0,210)
  332. viewButton.Text = "Hide"
  333. else
  334. container.Size = UDim2.new(1,0,0,30)
  335. viewButton.Text = "View"
  336. end
  337. end)
  338.  
  339. copyButton.MouseButton1Click:Connect(function()
  340. if setclipboard then
  341. setclipboard(detailTextBox.Text)
  342. StarterGui:SetCore("SendNotification", { Title = "Copy", Text = "Code copied to clipboard!", Duration = 3 })
  343. else
  344. StarterGui:SetCore("SendNotification", { Title = "Copy", Text = "setclipboard() not available.", Duration = 3 })
  345. end
  346. end)
  347.  
  348. if title:find("Unauffällig") then
  349. delay(1, function()
  350. if container and container.Parent then
  351. container:Destroy()
  352. end
  353. end)
  354. end
  355. end
  356.  
  357. local function addFinding(title, details)
  358. local category = "Script"
  359. if title:find("^Remote:") or title:find("^Event:") then
  360. category = "Remote"
  361. elseif title:find("^Funktion") then
  362. category = "Script"
  363. end
  364.  
  365. if category == "Script" then
  366. local path = title:match("Script:%s*(.-)%s*%[")
  367. if path and #path > 0 then
  368. table.insert(allScriptPaths, path)
  369. end
  370. elseif category == "Remote" then
  371. local path = title:match("Remote:%s*(.-)%s*%[")
  372. if path and #path > 0 then
  373. table.insert(allRemotePaths, path)
  374. end
  375. end
  376.  
  377. if category == "Script" then
  378. createResultItem("Script", title, details)
  379. else
  380. createResultItem("Remote", title, details)
  381. end
  382. end
  383.  
  384. local function detectExploitHooks()
  385. local hookFunctions = {
  386. "hookfunction", "hookmetamethod", "checkcaller", "newcclosure",
  387. "setreadonly", "getrawmetatable", "setrawmetatable", "debug.getupvalue",
  388. "debug.getupvalues", "debug.setupvalue", "debug.getinfo", "getfenv", "setfenv",
  389. "getgenv", "syn.get_thread_identity", "syn.set_thread_identity", "syn.queue_on_teleport",
  390. "override", "rawmetatable", "getmetatable", "setmetatable"
  391. }
  392. local found = {}
  393. local env = getfenv() or _G
  394. for _, name in ipairs(hookFunctions) do
  395. if env[name] ~= nil then
  396. table.insert(found, name)
  397. elseif _G[name] ~= nil then
  398. table.insert(found, name)
  399. end
  400. end
  401. if #found > 0 then
  402. local details = "Gefundene Exploit-/Hook-Funktionen:\n" .. table.concat(found, "\n")
  403. addFinding("Exploit Hooks Found", details)
  404. else
  405. addFinding("Exploit Hooks", "Keine bekannten Hook-/Exploit-Funktionen gefunden.")
  406. end
  407. end
  408.  
  409. local function scanForAnticheatsAdvanced()
  410. for _, child in ipairs(ScriptsFrame:GetChildren()) do
  411. if not child:IsA("UIListLayout") then child:Destroy() end
  412. end
  413. for _, child in ipairs(RemotesFrame:GetChildren()) do
  414. if not child:IsA("UIListLayout") then child:Destroy() end
  415. end
  416. allScriptPaths = {}
  417. allRemotePaths = {}
  418.  
  419. local reportText = "🔍 Erweiterte Analyse Ergebnisse:\n"
  420. local findingsCount = 0
  421.  
  422. for _, obj in ipairs(game:GetDescendants()) do
  423. if obj:IsA("LocalScript") or obj:IsA("ModuleScript") or obj:IsA("Script") then
  424. local success, err = pcall(function()
  425. local scriptPath = obj:GetFullName()
  426. local code = tryDecompile(obj)
  427. local status, count = getSuspicionLevel(code)
  428. local details = "Pfad: " .. scriptPath .. "\nStatus: " .. status .. " (" .. count .. " Treffer)"
  429. .. "\n\n--- Code ---\n" .. code
  430. addFinding("Script: " .. scriptPath .. " [" .. status .. "]", details)
  431. findingsCount = findingsCount + 1
  432. end)
  433. if not success then
  434. addFinding("Script: " .. obj:GetFullName() .. " [Fehler]", "Scan-Fehler: " .. tostring(err))
  435. end
  436. end
  437. end
  438.  
  439. local allGC = getgc(true)
  440. for _, func in ipairs(allGC) do
  441. if type(func) == "function" and islclosure(func) then
  442. local success, err = pcall(function()
  443. local code = tryDecompile(func)
  444. local status, count = getSuspicionLevel(code)
  445. local details = "--- Dekompilierte Funktion ---\n" .. code
  446. addFinding("Funktion (getgc) [" .. status .. "]", details)
  447. findingsCount = findingsCount + 1
  448. end)
  449. if not success then
  450. addFinding("Funktion (getgc) [Fehler]", "Scan-Fehler: " .. tostring(err))
  451. end
  452. end
  453. end
  454.  
  455. for _, obj in ipairs(game:GetDescendants()) do
  456. if obj:IsA("RemoteEvent") or obj:IsA("RemoteFunction") or
  457. obj:IsA("BindableEvent") or obj:IsA("BindableFunction") then
  458. local success, err = pcall(function()
  459. local remotePath = obj:GetFullName()
  460. local lowerName = obj.Name:lower()
  461. local remoteSuspicious = false
  462. for _, keyword in ipairs(suspiciousKeywords) do
  463. if lowerName:find(keyword) then
  464. remoteSuspicious = true
  465. break
  466. end
  467. end
  468. local status = remoteSuspicious and "VERDÄCHTIG" or "Unauffällig"
  469. local details = "Pfad: " .. remotePath .. "\nTyp: " .. obj.ClassName .. "\nStatus: " .. status
  470. addFinding("Remote: " .. remotePath .. " [" .. status .. "]", details)
  471. findingsCount = findingsCount + 1
  472. end)
  473. if not success then
  474. addFinding("Remote: " .. obj:GetFullName() .. " [Fehler]", "Scan-Fehler: " .. tostring(err))
  475. end
  476. end
  477. end
  478.  
  479. if hookmetamethod then
  480. addFinding("Metamethod Hooks gefunden", "hookmetamethod ist verfügbar. Mögliche Hooks vorhanden.")
  481. end
  482. if debug and debug.getupvalues then
  483. addFinding("Debug Funktionen", "debug.getupvalues ist verfügbar.")
  484. else
  485. addFinding("Debug Funktionen", "Keine oder eingeschränkte Debug-Funktionen.")
  486. end
  487.  
  488. detectExploitHooks()
  489.  
  490. if findingsCount == 0 then
  491. addFinding("Analyse abgeschlossen", "Keine verdächtigen Pfade gefunden.")
  492. end
  493.  
  494. if discordWebhookUrl ~= "" then
  495. local data = { content = reportText }
  496. local jsonData = HttpService:JSONEncode(data)
  497. pcall(function() HttpService:PostAsync(discordWebhookUrl, jsonData) end)
  498. end
  499. end
  500.  
  501. ScanButton.MouseButton1Click:Connect(scanForAnticheatsAdvanced)
  502.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement