Anti-Hack , Cheat , Crack

Hello , i want to know how can i block other software to read the process and debug my game.

so people will not be abble to modify it using software like Ollydbg or Cheat Engine.

3 Answers

3

There really isn’t that much you are able to do. A good hacker can modify most code to do whatever they want. This forum page goes into extensive detail about possible solutions but its not an easy task.

You pretty much can’t stop someone who really wants to from hacking a single player standalone. But, that’s their own mistake and they are wasting their own time by breaking the game. Now online play is different and this is where the authoritative server matters. Basically, don’t trust the client. Let the server make all the important decisions.

Yea i know and this is exactly how im gonna do , like for stats and HP
they are taked from server , if they change the value the “Hacker” will think they successfully changed from 100 HP to 1000 but on server side this not changed and if other player do 100 dmg on them they will die for real.

but i wanted to block thing like Speed hack, because if the hacker shoot 500 bullet sec and reload in 0.1sec , this is gonna spam alot my server , and will not be cool for other player

The trick to an authoritative server is that everything from the player is a request. They ask you to fire a bullet, when ready, and ask to reload. Asking 200 times a second isn't going to make the shotDelay on the server go any faster. In theory, you could occasionally check how many shot requests you've recently gotten from a client. If it's way over the legal rate, flag as a hacker (but a laggy connection could also do that, and who's going to run a non-working hack anyway?)

If you’re talking about preventing hacking in a multiplayer game in a client/server environment make sure your server is authoritative. So let the server decide what the speed/location is of moving objects and players, and send only the player input to the server, let the server do the calculations, then send the correct transforms back to the player and the player proxies.

A good authoritative multiplayer solution for Unity is uLink. We are currently implementing it in our latest game and the documentation, API and features for multiplayer are far superior over the Unity default multiplayer solution.

Check here for more information…
http://developer.unitypark3d.com/ulink/manual/authoritative-server-details.html