Cheat Engine Executor Prevention

name property of player instances are locked, you can rename services just fine, you can rename the service on server actually though

Oh, I didn’t see what instance has the name changed. And the error they would get is very simple to fix. This literally doesn’t do anything

this can get patched very easily, nice try tho

1 Like

to be fair theres another way to detect it

Cursing directed at someone is against the rules, using curses to intensify your sentences are allowed by what i know

2 Likes

I am sure its not. But whatever like I care, just making a point.

I doubt skids would patch it, It’s a level 2 anyway, literally 0 core Gui access, and No custom functions, and It only work with tools that have local scripts :skull:

Not to mention that there are alot of way to detect this cheat engine thing

Well, nice try but exploiter can easily do

for _,v in game:GetChildren() do 
    if v:IsA("Players") then 
        v.Name = "Players" 
    end 
end

OR

game:GetService("Players").Name = "Players"

And changing a service name does not consider as “executor detection”

5 Likes

Then, they would have to change the code of their init cheat engine, which most aren’t willing to do, specially when It crahes like 60% of the time or smth, this “executor” is pretty much a joke, and can easily get patched by not adding tools into the game or by making a custom backpack

1 Like

There’s no point in even trying to find a detection for the Cheat Engine thing, it’s literally a level 2 executor unlike if you look at other executors which levels are 7-8.
It basically can barely do anything, barely anything game breaking.

2 Likes

Here is my take on it. I think it works but someone should try!

local player = game.Players.LocalPlayer

local function checkForInjection()
  for i, v in pairs(getfenv()) do
    if type(v) == "function" and string.find(debug.getinfo(v).source, "rbxasset") == nil then
      player:Kick("Possible script injection found!")
      return
    end
  end
end

game:GetService("RunService").Stepped:Connect(function()
  checkForInjection()
end)
1 Like

Also some people have beeing hanving issues with debug.getinfo(v) because it isn’t used in the default lua library:

This function differs from debug.traceback() in that it guarantees the format of the data it returns. This is useful not only for general logging and filtering purposes, but also for sending the data to systems expecting structured input, such as crash aggregation.

This function is similar to debug.getinfo, an unavailable part of the standard Lua library which serves a similar purpose.

So if you want, you can change debug.getinfo(v) to debug.traceback(v). When I tried this out a few months ago, debug.getinfo(v) worked but it will probably not work now.

hookfunction() and getconnections() can easily bypass this.

Cheat engine executor is local script level, so what are you talking about, It doesn’t have any custom functions, also pretty sure the code wouldn’t work anyway

they use game.Players (instead of game:GetService(“Players”))

Alright, let’s break this down, my guy.
Cheat Engine already does not work with Hyperion. You simply cannot do anything with it.
It’s not an executor, nor a working exploit software with Roblox.

The methods I have provided are common methods that are being used in exploiting to easily bypass these foolish preventions. The OP clearly does not know anything on what they’re talking about. Exploiters have full control over their clients, everyone should develop according to that.

4 Likes

Had a giggle, thanks for the good laugh

5 Likes

What they are saying is that the cheat engine exploit that is currently out is a level 2 and does not have these custom methods to even bypass it…

why this still up lil bro

3 Likes

Something like this might work though, but I honestly don’t know:

local ProtectMethodString = function(SObject: string)
	return string.format("%s%s%e", SObject, string.rep("\000", math.random(1, 6)), os.clock() ^ 5 + 0.1)
end

local LogService = game.GetService(game,ProtectMethodString("LogService"))
local Players = game.GetService(game,ProtectMethodString("Players"))

local LocalPlayer = Players[ProtectMethodString("LocalPlayer")]
local Backpack = LocalPlayer[ProtectMethodString("Backpack")]

local Tools = {}
local Lookfor = {
	"IY";
	"dex";
	"CMDY";
}


local function LookForMessage(...)
	local Args = {...} :: string
	local Suspicious_Messages = {
		"we wait now";
		"got those";
        "sucessfully injected";
	}

	for _ ,v in Suspicious_Messages do
		local Lower = string.lower(Args[1])
		if Lower:find(v) then
			LocalPlayer:Kick(Args[1])
		end
	end
end

local function toolCheck(tool)
	if not table.find(Tools,tool.Name) then
		local function LookForAddedScripts(instance: Instance)
			if instance:IsA("Script") or instance:IsA("LocalScript") then
				LocalPlayer:Kick("You been trolled for having an illegal script")
			end	
		end
		if tool:IsA("Tool") then
			task.delay(0.01,function()
				for _,scripts in pairs(tool:GetChildren()) do
					if scripts:IsA("Script") or scripts:IsA("LocalScript") then
						scripts:GetPropertyChangedSignal("Name"):Connect(function()
							LocalPlayer:Kick("You been trolled for changing the name of a script inside a tool")
						end)
					end
				end
				tool.ChildAdded:Connect(LookForAddedScripts)
			end)
		end
		table.insert(Tools,tool.Name)
	end
end


for _, tool in Backpack:GetChildren() do
	toolCheck(tool)
end

Backpack.ChildAdded:Connect(function(tool)
	toolCheck(tool)
end)

LogService.MessageOut:Connect(LookForMessage)
Players.Name = Random.new():NextInteger(-9999,9999)
while true do
	for _, v in Lookfor do
		local sucess,errormessage = pcall(function()
			return _G[v]
		end)

		if not sucess or errormessage ~= nil then
			LocalPlayer:Kick("You been trolled for injecting with level 2 executor (cheat engine)")
		end
	end
	task.wait(5)
end

1 Like