How to make you game unhackible(ish)

Thought I would just post a tutorial on preventing or at least postponing hacks because an idea has been bubbling in my mind for a week or two and I have some spare time :slight_smile: .

The things most likely to be hacked are score, money, speed, etc. This is really easy to do, for anyone with a computer. For example they can download a program called cheat engine or for mac they can download ihaxgames.

Alright, I just told everyone how to hack a game, how is this preventing it? Well, I just wanted to point those fun to use programs because of all the games I failed :frowning: . Anywho, how a program like cheatengine works is it searches for all hex codes with the same value of your score, so it is relatively easy to hack. So what do you do to prevent it?

Well, I was thinking of it a few weeks ago when I couldn’t sleep and figured out that a good way, is to make the score that is displayed different from the actual score variable. Now this is step one, with this all that happens is two variables are the same as score so the hacker changes both which doesn’t help at all. So now you use some simple math to fault the hacker. ex make the displayed score variable equal the actual score and then times the displayed variable by 72(for example).

The hacker will try searching for 144 and change that variable to 243233. But on the next update of the displayed score, it will go back to the actual score variable. So here is an example: I change the displayed value of 648 to 3000. Yay my score changed, in a few seconds when the update comes it is back at 648. This will stop most hackers in there tracks because it is annoying.

Now then, what about the hackers who have no life and try for hours? Why not make another display score variable and make it equal to the first display score variable / 3? This will make them take a lot longer to hack your game.

That is it, if someone has a better way of preventing hacks or at least a different way, I would love to hear it.

I hope this helps people to prevent hacking, because we all know how annoying hacks can be.

PS: Make sure to use different values for all your variables, ex maybe times the value by 72 for score but for money times it by 4.

Games you make or games?

If its games you make, then you could just put them in a sparseimage and put a password on it if you have mac. Not sure with windows.

What if your display score was just your variable +10?

Then have a separate variable that equals your display variable.

When that separate variable is altered, it triggers your score be set to zero.

No offense but your manual wont work. Good hacking programs have method for finding increased or decreased value. If you want make bullet proof hack you must use random factor. If im correct its called RAM, somewhere on memory is value that game read but this value is created on random patterns and code just use pointer to her. Next random factor is time. Use your imagination, modulo and you have nice memory encryption - problem is that you can directly acces memory (except unsafe block on C#) but you can still experiment. So just dividing or multipling some number is for experienced hacker question of few seconds

Well… Since no one came up with a solution to this, I had to build it myself:
http://u3d.as/content/bruno-xavier/secure-client/33Y
This class solves the CheatEngine issue with ease. No need for fancy maths (it doesn’t work anyways).
The SC class I built for Unity has a clever way to hide values from memory and you can try anything in CheatEngine, it won’t find anything in a game using SC, even using CheatEngine’s most advanced features :slight_smile: