This is not how exploiters change the contents of scripts.
@weeeeeeeeeel
@BuilderBob25620
A lot of exploits have the capability to run as a “Level 7” context (aka as a CoreScript). (Level 8 actually has less access than level 7)
The way that exploits modify scripts is not through the Source property though because in the player the Source property doesn’t actually do anything, its just blank and setting it will do nothing. That’s because scripts in the Roblox player are compiled scripts, they use a bunch of binary data.
Instead, most exploits actually just overwrite various functions and things in the engine. They can redirect the flow of your code, and, the effect is that they can modify your scripts, because, they can change absolutely any behaviour of the script, but, as far as I know they can’t easily directly modify the bytecode of the script. (Though I’m sure this is possible, its just not as easy for exploit programs to implement so its not necessary)
You cannot stop an exploit from doing anything, because, exploits have full control over how your code reacts to things, they can change how any aspect of the engine works no matter what. Any code you use to try and detect that can be stopped by an exploit, and, there is just no way around that. Your code is just some data in memory, and Roblox’s code is just some data in memory (despite being CPU instructions and stuff). All exploits are really doing is modifying a bunch of memory to achieve different results, and, that’s really all programs do too. Trying to detect them changing things relies on them using code which tells you that, like reusing the code in Roblox for setting properties which might fire changed events.
Exploits can modify and disconnect events, fire them, stop them from being fired, intercept anything going through them, and change how your callback will respond to a fire. Exploits can do this for RemoteFunctions & RemoteEvents to for data going to the client from the server and data going to the server from the client.
Exploits can change what code runs when you access a property, or call a function. They can change really anything, and, there is no way to safely detect an exploit in a LocalScript, because they can modify anything you can use to detect them.
@warycoolio
Most likely, yeah. As long as you set network ownership of their root part to nil
the client won’t have control over the physics of their character, and, giving them back control would mean setting their network ownership back to their Player instance.