Skip to main content
2 of 3
added 89 characters in body
Philipp
  • 123.2k
  • 28
  • 264
  • 345

Yes, you forgot that it is possible to override the toString method of build-in objects. After the cheater changed Reflect.set to their own implementation, they just need to enter the following in the javascript console of their web browsers to break your cheat detection system:

Reflect.set.toString = function() { return "function set() { [native code] }" }

Alternatively, they could set a break-point before const myData and replace setTrap with a different function. Which might actually be really handy as an entry point for their own cheating functionality.

Sorry, but a browser-based anti cheat system is not going to work. The debugging tools of modern web browsers are just too powerful and the JavaScript language just allows too much runtime trickery.

Philipp
  • 123.2k
  • 28
  • 264
  • 345