valyse autoexe is slower than replicatefirst that mean we can kick them before hooking metamethod
local namecall
xpcall(function() game:xd() end,function() namecall = debug.info(2,"f") end)
while task.wait(.1) do
local Success, Result = pcall(namecall, 0)
if Result:lower():find("valyse") then
-- detected
end
end
oh, btw this anti-cheat cant bypass until exploit developer fix
put this simple bypass in valyse autoexe
local old
old = hookfunction(getrawmetatable(game).__namecall, newcclosure(function(self,...)
if typeof(self) ~= "Instance" then return coroutine.yield() end
return old(self,...)
end))
still not work cuz valyse autoexe is very slow (slower than replicate first)
How does some code as simple as this prevent exploits from being used?
I’m genuinely asking out of curiosity because I always believed that anti-exploits in Roblox Lua are usually just bogus and “just secure your remotes and systems”.
Never thought it was possible to actually detect if an exploit program is used from within Lua.
How does this code work? What does debug.info() do?
i’m using debug.info to get namecall method function in metatable of instance
and first parameter of namecall is accept instance only, so technically u cant namecall number.
-- syntax error
(0):_()
local number = 0
number:hi() -- error attempt to index number with 'hi' because number does not contain any metamethod even number contain namecall metamethod this still won't work, cuz still not same function
please stop leaking detections like this. i had already found this and now it is going to be patched. i wouldnt be surprised if valyse developers are constantly looking for detections.
Because by not showing how to stop exploits, only a select few people would know about it.
If the method is public then everyone knows how to do it but chances also are that exploiters will find how to bypass it eventually.
It’s essentially a trade-off between almost no one knowing how + less likely to be patched OR all devs knowing how to stop it + more likely to be patched soon.