-1
\$\begingroup\$

I am writing a hack shield that can protect my game from Cheat Engine and similar programs. The ideas are to:

  • build a hack shield that can hide the process name while the process is running.
  • build a hack shield can change the process name to prevent attaching to the process from cheat engines.

I already searched Google but I couldn't find out how to do this effectively. Can I create an effective hack prevention system this way?

\$\endgroup\$
  • 2
    \$\begingroup\$ I'm voting to close this question as off-topic because it is too broad and not specific to game development. \$\endgroup\$ – Vaillancourt Aug 15 '16 at 14:55
  • \$\begingroup\$ Hard to imagine swapping some process names would help much... Useful techniques is a hugely broad discussion. \$\endgroup\$ – Stormwind Aug 15 '16 at 15:25
7
\$\begingroup\$

Have a launcher application which creates a copy of the actual game executable with a random name and then starts that process. Make sure it deletes all the old copies on the next launch.

But what you are trying is futile. Any client-sided cheat prevention method can be circumvented. You can not protect a program from another program which runs with the same (or higher) privileges on the same system.

When the game is multiplayer, implement most game mechanics on the server where the client can't mess with it. When the game is singleplayer, just let them cheat. They are only ruining their own game experience.

\$\endgroup\$
  • 2
    \$\begingroup\$ Utterly futile as you say, because it's super hard to go "Hey I wonder what process is new, has a name I don't recognize or takes up 100% cpu" \$\endgroup\$ – Elva Aug 15 '16 at 15:05
0
\$\begingroup\$

You cannot. And even if you were able to they could use popular memory editors such as Cheat Engine or GameGuardian and use speedhacks to freeze one process after another until the game freezes.

I think you are better off encrypting or hiding your vital values through multiplication or actual encryption. Most casual game hackers wont figure it out.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.