How to stop script dumping?

You can’t stop it because it uses bytecode to get the script plus LUAU already makes it difficult to read the dumped scripts anyway.

Well if it uses bytecode why does the dump have symbols like v26 and u6

Because of LUAU it makes dumped scripts harder to read so there really isn’t any need to actually secure it since its pretty hard to read anyway. Also how did you stop Dex?

The compiler gets rid of names of variables upon script compilation or something like that. Also @112365595 OP was just checking memory to detect dex because dex loads in a lot of things, however that’s unreliable because gcinfo can be hooked

The exploiter can just get the value you stored and return it

1 Like

gcinfo can be hooked but I can use pcall and GetDescendants()

If LuaU just makes it harder whats the point in it?

You can’t completely stop script dumping, but you can try to minimise the effects of it. For example, if an exploiter figures out how to spam a certain action which gives them a competitive advantage, you can add a server-sided check to prevent them from spamming said action.

Instance:GetDescendants can be hooked as well.

Luau*, as mentioned above, strips local variable names and upvalue names, so they aren’t present in the bytecode. I guess exploiters still see some value in decompiling scripts even despite that.

Yes but if they hook it they cant use it in there silly GUI’s and if it is hooked I can just add an if statement to check what the value returns and if the value is not plausable then just kick them

They have functions to check if the hooked function is being called on a thread created by their executor, so they can use the non-hooked result and you would use the hooked one. And they can simply remove their GUI and its descendants from the table returned, so that when you get the length of this table, you wouldn’t notice.

β–‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–‘β–ˆβ–ˆβ•—β–‘β–‘β–‘β–‘β–‘β–ˆβ–ˆβ•—β–‘β–‘β–‘β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•—β–‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–‘β–ˆβ–ˆβ–ˆβ•—β–‘β–‘β–ˆβ–ˆβ•—
β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘β–‘β–‘β–‘β–‘β–‘β–ˆβ–ˆβ•‘β–‘β–‘β–‘β–ˆβ–ˆβ•‘β•šβ•β•β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ•—β–‘β–ˆβ–ˆβ•‘
β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–‘β–ˆβ–ˆβ•‘β–‘β–‘β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘β–‘β–‘β–‘β–‘β–‘β–ˆβ–ˆβ•‘β–‘β–‘β–‘β–ˆβ–ˆβ•‘β–‘β–‘β–‘β–ˆβ–ˆβ•‘β–‘β–‘β–‘β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘β–‘β–‘β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘
β–‘β•šβ•β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘β–‘β–‘β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘β–‘β–‘β–‘β–‘β–‘β–ˆβ–ˆβ•‘β–‘β–‘β–‘β–ˆβ–ˆβ•‘β–‘β–‘β–‘β–ˆβ–ˆβ•‘β–‘β–‘β–‘β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘β–‘β–‘β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ–ˆβ–ˆβ•‘
β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–‘β–‘β–‘β–ˆβ–ˆβ•‘β–‘β–‘β–‘β–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘β–‘β•šβ–ˆβ–ˆβ–ˆβ•‘
β•šβ•β•β•β•β•β•β–‘β–‘β•šβ•β•β•β•β•β–‘β•šβ•β•β•β•β•β•β•β–‘β•šβ•β•β•β•β•β•β–‘β–‘β–‘β–‘β•šβ•β•β–‘β–‘β–‘β•šβ•β•β–‘β•šβ•β•β•β•β•β–‘β•šβ•β•β–‘β–‘β•šβ•β•β•

After much debating we have finally come to a solution use gcinfo getdescendants and getchildren add if statements also use the sevice that shows errors and check if you can find a scripts name that is in the game from that error using string.find if you cannot then kick the player since errors that come from exploits have a hash code. This is the solution .

You could make the decompiler hang if you make the script really long, however, I think you should prioritize normal players’ experience over making a complex local anticheat. If you had good server-side checks you shouldn’t need to rely on hiding client-side code

2 Likes

I would only I have no clue what kind of game to make I tried making a AlexChassis like Badcc but I don’t know how to make a car. I got close but to far away. I do not know what to do.

Last time I checked Synapse X Decompiler has issues decompiling 6k+ line scripts but writing 6k lines and making it optimized would be a pain. Also you wouldn’t need to even design an anticheat for script dumping because if you make your game well they won’t really be able to do anything with the scripts and anyway people barely sell stolen assets or even use stolen assets.