Anti-Exploit that detects injection

  1. What do you want to achieve? Hello, there is some games that kicks you when you inject an exploit or execute a script and i wanted to know how they did it

  2. What is the issue? I can’t manage to do it.

  3. What solutions have you tried so far? I looked on forum and i tried myself.

1 Like

You most likely have to make one yourself… If developers start giving away their functional anti-injectors, injector developers will start patching them all. It’s more than logical they keep them for themselves or for a strict circle of people.

7 Likes

This could help you, or at least give you a base idea.
And this (could be better than the first one, it’s more relevant.)

1 Like

Hello, @Neplioz There is no real way to detect injection of exploit.

Some games kick you based on your client’s memory, Which is a good parameter to check if you are using another program such an exploit.

But it’s still not 100% sure because in big game it could kick you many times without you actually having anything, It also depends a lot on the person’s PC (A pc with good components will use less memory)

So detecting the injection is totally useless.
If in your game you protect the events connected to the server and create anti exploits that check the player charter in the client it is enough to have no exploits in your game.

I hope I have helped you!

3 Likes

It’s better just to make your game harder to exploit. Creating a solid anti cheat should be good enough.

1 Like

Agreed. There wouldn’t be any use of detecting injection because there is no 100% secure way. I suggest you focus on other general anti exploits that your game actually needs preventing from.

2 Likes

Im pretty sure the way injectors work is that they plant scripts directly into the Roblox Client, not an actual directory in your game (so not in starterplayerscripts, replicatedstorage etc), so there is no possible way to detect them through scripts.

Same thing goes with executing scripts through executors too.

If detecting injections and executions was that easy, many games would already have good anti-cheat systems.

  1. Nobody is going to just give away anti-injection scripts
  2. If you want to try make your own then I suggest searching around on the devforum for previous detections that used to work (memory detections give alot of false positives)
    3.not sure if this still exists but some free executors like KRNL apparently have something called WRD in them which sends a notification to roblox, you should be able to detect that

1. Insert a local script into ‘StarterPlayerScripts’ which can be found under StarterPlayer.
2. Enter this script:

local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
repeat wait() until LocalPlayer.Character
 
while true do
    wait()
    if LocalPlayer.Character.Humanoid.WalkSpeed ~= 16 then
        LocalPlayer:Kick("Exploiting")
        wait(10)
    end
end

This will kick the player when it’s speed changes, simple.

3. Add another local script to ‘StarterPlayerScripts’ and paste this:

local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
repeat wait() until LocalPlayer.Character
 
while true do
    wait()
    if LocalPlayer.Character.Humanoid.MaxHealth ~= 100 then
        LocalPlayer:Kick("Exploiting")
        wait(10)
    end
end

This will kick the user for changing their health, now let’s do jump power.
4. Same as above, paste this into the next script:

local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
repeat wait() until LocalPlayer.Character
 
while true do
    wait()
    if LocalPlayer.Character.Humanoid.JumpPower ~= 50 then
        LocalPlayer:Kick("Exploiting")
        wait(10)
    end
end

This will kick people using jump power exploits, now go test it out as I did! or run admin!

Never, but never rely on the client. An exploiter would be able to easily bypass this.

Good part is that most exploiters are skids who only seek for ways to ruin others experiences.

Never, but never rely on the client. An exploiter would be able to easily bypass this.

Good part is that most exploiters are skids who only seek for ways to ruin others experiences.

Here is a really good and trustworthy guy who shows how to make a good anti cheat( server side):

1 Like

you look exploiter injection kick where?

Exploiters can just hook the :Kick() function and make it return nil also the best place for an anti-cheat on the client is ReplicatedFirst

2 Likes

To secure your game today against this horrible exploit’s userbase, insert the following code inside a LocalScript that you should ideally parent to ReplicatedFirst:

local mbus = game:GetService("MessageBusService")
while true do
    local _,e = pcall(function()
        mbus:Publish()
    end)

    if e:find("Publish") then
        -- this can be changed
        game:GetService("Players").LocalPlayer:Kick("Injected")
    end

    task.wait()
end
1 Like

Patched already lol (char limit)

Hello injection kick you not Working? or Working?

There is no really good way to detect dll injection or a process that modify memory inside the roblox client, as most of them can also cause problems to players who have done nothing wrong. Your best option would be to create a server-side anti-cheat and additionally a client-side anti-cheat for extra security. However, note that the client side can be easily disabled. For this, I would probably set up a custom RemoteEvent with a complicated process to prevent the script from being deleted easily to at least make the exploiter’s life more difficult, but this would be time consuming and will still be bypassable with enough time on their part.

What do I mean by a complicated system?
I’ve had this idea for a long time, but I’ve never had thinked about it alot so it’s not very developed, the base of the idea is that the remoteEvent periodically sends a special message to the server, a bit like a ping, and if something goes wrong a few times the user is prompted with a kick reason like “Failed security check too many times”. Of course , the idea has many flaws because it would be possible to just simulate the requests, and that’s why I say that making a system like this is complex if we want to make this harder and can always be bypassed by the exploiter.

Exploiters can just make a while loop to send a message to that remote whenever you do it and then either infinitely yield the script or destroy it

1 Like

Exactly, that’s why this system have many flaws and making that harder would be complex and time cosuming

This is very easy to bypass. Also with WalkSpeed there are some inconsistencies with getting flung, getting out of a seat, etc, that will trigger the anti-cheat even if you aren’t cheating.