Reputation: 333
There are apps like "sbgamehacker" or "gamekiller", those apps running in the background and you can pause another app, go to those apps and enter a value that exist at the paused app and change it, for example, in my game, I have coins, my coins are used to buy thing, if I have 50 coins, I can go to the gamekiller or to the sbgamehacker and type 50, then it will be able to change it to 933939 coins, How can I prevent my app get cheated?
My coins are going up by jumping of 1, so if anyone have an idea to check if the coins went up by jumps of 1000 so it will quit the app and send a message, stop hacking.
Upvotes: 2
Views: 4490
Reputation: 104589
Do such game hacker apps also happen to work with my banking and brokerage account apps? Because that would be awesome if they could modify my bank balance.
Of course these apps can not increase the number of dollars in my account. Because every transaction is validated on the bank's server. At best they can change the value displayed on the screen, but not the amount actually tracked by the bank.
And that's really your answer. If the item in the game is important enough to protect from hackers, then everything about that value should be managed by a server.
If it's too complicated or the design prohibits having a server do validation, then at the very least make it difficult for hackers to discover the memory location of such values as the number of coins. Ideas include:
The variable containing the number of coins is stored encrypted or obfuscated (e.g. XOR with 0xAAAAAAAA).
Have a "crc", "hash" or some sort of digital signature on the coins variable. (e.g hmac-sha1) If the hash check doesn't match the value at the time in which that value is needed, then the app should simply crash. Preferably crash in a bizarre way so that it's not obvious that code is just asserting on a value.
Move values around in memory on each frame or turn of the game so hackers will have a hard time finding it to begin with.
Release updates to your game frequently that adjust the algorithms of 1-3.
Upvotes: 7