A "Logical" Exploit Question

some exploits/guis uses external interfaces, one example is RcM (a global ESP/aimbot)

if they are programmed in C++, they are probably using ImGui (an opensource C++ gui library)

A script will keep checking the local script so there won’t be need for remotes

That logic is flawed, the server doesn’t have any access to the common places of localscripts (PlayerScripts and PlayerGui) and even if it did, the deletion of the script would not replicate to the server

2 Likes

Imma test and try to find another way if this doesn’t work. Get back to ya in several half hours.

Slight correction - the server does have access to these areas. The second point of your post is correct however, the deletion would not be replicated to the server at all. Only server-changes replicate across the boundary. Outside of the physics, etc.

1 Like

It’s not necessarily that it’s easier to use, it’s that developers can’t access CoreGui. By an exploiter putting their Guis in CoreGui, the developer is unable to remove them. In the off chance that a developer creates a client-sided anti-exploit that an exploiter is unable to stop, they can at least stop the removal of their Gui by putting it into a container which is access-locked for developers.

If I cannot access the CoreGui, why in the WORLD is the client able to access it? Hiding things that we developers cannot see but the client of all people can? Is there a reasoning to this, is this just stubbornness, or am I missing something?

Old thread but it has been bumped recently so I might as well contribute to an unasked question on the post.

Your ability to access certain things is based on the environments Context / Identity level. For example, the command bar can index game.CoreGui, however, a localscript can not. The exploits just have elevated contexts that allow them to index what a normal LocalScript can not. image

You can view the identity level of the current environment by calling the printidentity function.
Using this you can see console has an identity level of 4, whilst a LocalScript has a identity level of 2. image

A lot more (and probably more accurate) information can be found on this devforum post. A Current Explanation of Normal Identities and Security Tags

2 Likes

The CoreGui contains stuff like the topbar and the escape menu.
The main reasoning for not giving developers access to it is that bad actors could spoof/remove some important things, such as the report tab in the escape menu or the leave game button.

they should atleast allow us to index the descendants of coregui, while not editing them.
that’d basically eliminate any ui based exploits, that put their ui’s in the coregui.

this used to be possible, before they patched that. (cough tostringing robloxlocked instances)

That way was more of a hack, and it doesn’t really help either. For example when the new devconsole was added, games with CoreGui checks detected it as a foreign gui.

Also, some exploits are able to create a virtual CoreGui and parent guis there, while other can use ImGui to draw custom windows on top of roblox without interacting with the game’s “universe”, so there is no point for roblox to bother adding any way to list CoreGui children. Especially since those methods could be hooked and spoofed as well (just like tostring() was by exploits changing __tostring).

Really if you can access the core gui with this command
Screenshot_2
this is what hackers do to install in the core gui, what if you use this command to install an anti exploit in the core gui you could

That’s not accessing the CoreGui though, that’s just setting the parent of something to it. That’ll throw because developer code doesn’t have a sufficient enough security level to access it. Exploiters can do it because they have their code set to execute at the highest permission level.

You can’t accomplish this. Even if you could, not worth it. CoreGui is client-side and exploiters can modify anything client-side.

The truth is that you are right, since they use libraries that give them “administrator permissions” to say it in a way

I don’t think that’s necessarily the case, to be pedantic about it. It’s not big or mysterious or anything. They simply have the capability to pass code to the compiler and have it run the same way other local code runs. Just the executed code has a different security context level.