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
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
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
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”
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
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.
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)
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.
Had a giggle, thanks for the good laugh
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
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