Is it possible to prevent players from altering the client side graphics in a game?

Started by
32 comments, last by Bacterius 12 years ago
I'm going to comment based solely on the name of the post, without having actually read any of the content there-in:

Couldn't you take a snap-shot of a section of the information in a given model or image and hard code your project to look for it?

An example:

I have a bitmap called Bitmap or a model called Model. (Very original I know.) I take the first 100 bits of information as a key hard coded into my game so that when I load my assets I check them against my keys. If they don't match I know they've been altered.

?
Advertisement

I'm going to comment based solely on the name of the post, without having actually read any of the content there-in:

Couldn't you take a snap-shot of a section of the information in a given model or image and hard code your project to look for it?

An example:

I have a bitmap called Bitmap or a model called Model. (Very original I know.) I take the first 100 bits of information as a key hard coded into my game so that when I load my assets I check them against my keys. If they don't match I know they've been altered.

?


You can (as has been mentioned previously in the thread), it is essentially the same as comparing against checksums(Which alot of games do), The problem is that while it does stop joe random from playing with modified assets (or it can let joe random know that his game files have been corrupted) it doesn't stop a hacker, it is far too easy to modify the client to allow modified models and to even tell the server that it is using the original ones even if it isn't.

Thus any technical countermeasures you use that rely on the client behaving as you expect are doomed to fail at some point.
[size="1"]I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!
As already stated, relying on anything client-side is a lesson in futility.

Additionally, cheaters are not the primary annoyance for most online games. You also have to deal with glitchers, griefers, and stat-padders, which are things everyone has a right to do if they legitimately purchased the game, even if it makes the game less fun for others.

The solution, then, is to discourage this activity, instead of forbidding it. This can be done by flagging the top player as visible to all players, or reducing the rewards for defeating lower level players. Use your imagination.

Also, if implemented well, a voting system is a great way for the community to monitor their own experience. Obviously, you have to implement controls to keep it from being abused, but this is arguably the best way to ensure all players on a particular session are on the same page. On top of this, throw in a logging system to monitor who's been kicked the most. What you do with this information is up to you.

The bottom line is that hacking is more of a social problem than a technical one. Make it so people don't want to cheat on your game.

If you are still determined to punish hackers, though, I would suggest being subtle about it. Check all of the checksums and hooks, but instead of dropping them immediately, just introduce a few bugs or a memory leak. This will make it tougher for the hackers to find out if their hacks are actually working. Also, when they submit their crash report, you'll have proof that their checksums are out of whack and can advise them to reinstall without hacks.
Check all of the checksums and hooks, but instead of dropping them immediately, just introduce a few bugs or a memory leak. This will make it tougher for the hackers to find out if their hacks are actually working. Also, when they submit their crash report, you'll have proof that their checksums are out of whack and can advise them to reinstall without hacks.[/quote]
I like that. Note however that this may in fact be useless sometimes. For instance in an MMORPG cheaters will most likely *not* be using the provided client to do their stuff but often write their own (for automated grinding, farming, all that stuff). It would work for an FPS game though where rewriting the client doesn't make as much sense and is much more difficult. Remember that the client software can always be completely discarded by a determined enough hacker. A simple proof to this is that all the client knows, the hacker knows, too. And since when it comes to software, the only possible form of authentication is "you are what you know", the client and the hacker are essentially the same entity to the server. QED.

PS: the other two forms of authentication are "you are what you have" (physical token of authenticity) and "you are what you are/do" (fingerprint, DNA, that sort of stuff) which are not applicable to the virtual world.

“If I understand the standard right it is legal and safe to do this but the resulting value could be anything.”

This topic is closed to new replies.

Advertisement