The executors know this detection method and they will patch it soon. (why do exec devs/exploiters even go on devforum…)
This detection methods detects roblox executors like delta and the new ronix executor!
It works by checking if a folder exists using rbxassets, then kicking the player if it exists.
local logService = game:GetService("LogService")
logService.MessageOut:Connect(
function(message)
if
message == "Failed to load sound rbxasset://RonixExploit/: error code 31" or
message == "Failed to load sound rbxasset://custom_gloop/: error code 31"
then
game:GetService("Players").LocalPlayer:Kick("Nice leaking files exec!")
end
end
)
local sound = Instance.new("Sound", game:GetService("SoundService")) -- needs to be a sound and in soundservice.
-- dont spam because it will flood up the logs and make the player lag, 1 second is enough
while task.wait(1) do
pcall(
function()
sound.SoundId = "rbxasset://custom_gloop/"
end
)
-- detects the famous delta executor!
pcall(
function()
sound.SoundId = "rbxasset://RonixExploit/"
end
)
-- detects the new ronix executor
logService:ClearOutput()
end
This is a new method, so it might take long for it to be patched.
I haven’t actually tested this, and not to be mean, but if you’re posting an “unknown method”, it’ll now be known and it’ll eventually get patched
Which I guess is understandable, everything comes to light eventually but, yeah it’s now public
I dont really have games to use this anti cheat on, so i just decided to publish it. Anyways i just find vulnerabilities on executors and publish them.
Instead of filling up the console with asset logs, you can just use ContentProvider:PreloadAsync like this:
local DeltaIcon = "rbxasset://custom_gloop/new_logo.png"
local ContentProvider = game:GetService("ContentProvider")
local Players = game:GetService("Players")
local function Detected()
Players.LocalPlayer:Kick("Delta")
end
while task.wait(1) do
ContentProvider:PreloadAsync( { DeltaIcon }, function(ID, Status)
if Status == Enum.AssetFetchStatus.Success then
Detected()
end
end)
DeltaIcon ..= "\0"
local SecondsElapsed = select(2, DeltaIcon:gsub("%z", ""))
if SecondsElapsed > 30 then
-- stop after 30 seconds
break
end
end
The 30 iteration limit is arbitrary; you can run this forever if needed, it works by adding null terminators every iteration because roblox caches the result
Found this back in November so I wouldn’t really call it an “unknown method”.
Edit: Overlooked that @GetStyled already mentioned this