Roblox executor detection (using an unknown method)!

Update!!

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.

Edit:

You can now check if your executor is detected.

9 Likes

No offense, but this is the most PATCHABLE method I’ve seen

1 Like

Well now its known and their gonna fix it :+1:

3 Likes

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

1 Like

Almost every executor detection method is patchable. Theres no 100% unpatchable detection method because the executor is like a god.

ok, i’m not trying to be rude… but, if this is a unknown method, why would u release this publicly then :skull:

1 Like

delete ts u gotta gatekeep as long as u can

There’s a much better way of doing this–Specifically using ContentProvider and PreloadAsync/GetAssetFetchStatus.

Also this isn’t unknown it’s used quite often… Just most people use ContentProvider instead of Sounds

1 Like

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.

Thats actually useful, i havent thought of that when i was making this anti cheat.

I said unknown because it wasnt used by anyone yet, But now its known.

1 Like

I published a game that detects if your executor is detected. (Delta and ronix)

Here is an example of the anti-cheat working. It can even run before the user’s executor can load.


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

1 Like