How can i prevent Cheat engine for my single player flash games?
-
21-06-2021 - |
Question
I have some small flash games in facebook. How can i prevent cheating with cheat engine? My swf file sends the score to my database by php. I just dont want people to hack highscores in my flash games by using cheat engine. What is the best way to avoid these issues?
Thanks in advance..
Solution
OTHER TIPS
2 methods I use are as follows
SpeedHack Watch Dog
http://www.bjoernacker.de/flash/detecting-the-cheat-engines-speedhack-in-as3/
Use this class to determine if the user is using CheatEngine to lower the frame rate
another method would to create a vault class for storing variables ina proxy, this vault will store variables within a different namespace (one that cheat engine cannot alter);
http://troyworks.com/blog/2007/08/05/introspection-in-as3-use-of-namespace/
Short answer; you can't.
Long answer; It's a lot of work. One option is to make a server-side port of your game, make sure everything is deterministic, and send over all player actions and validate them on the server-side port (and discard any failing validations).
It depends on game , because some of them You can verify on server , checking user steps , but You can also record game and save it with scores , than replay highscores to check if games are valid .
I just add some random number to the scores ( let's say 100 ) and then substract it when I show it somewhere. After this I obfusticate the SWF file. So I would have something like : myScores = 100;. If he have 15 scores, the memory will have that 115 number and he will be looking for 15, not 115. Then I substract 100 from 115 and get the real points to be displayed. It is important to protect your swf from decompiling ( there is plenty soft that will obfusticate it ). I also run my own encrypt/decrypt function when sending to the PHP ;)