Ok, so given the fact that there are files on the client side which can be modified to create hacks, we need a way to prevent this from happening. As it stands, we can assume that as people are being reported they are being banned. However, this in itself doesn't prevent hacks from being used.
So, I would propose the use of some form of hashing to prevent hacks from being used.
As an example:
As you can see, when hashing a file with a slight difference you get a completely different result. So how is this relevant?Code:MD5 for "random text" = ff0c03a2a4cfca86a61f364a2263a32d MD5 for "random txt" = 69d7bee360e82e9c7c7cf0b375ec0b3b
Well, I suggest the developers implement a slight change to the game's login process. The first step would be to enable some form of hashing against files known to be changed when using a hack. So, when a user logs into the game, you have the code hash these files, and send the hash to the server for server-side comparison.
If a player is using a file with a different hash, they are disconnected from the game.
Now, while that's all well and good, it won't cover all the bases. In order to prevent people from joining the game, then replacing files after the game is running you would need periodic checks during play as well.
What about when the game is updated? Not an issue. Since the developers have the most recent files saved on their end, it would be too easy to keep an updated hash for comparison. A patch gets pushed out, the hash is updated, and there are no issues.
But wouldn't this be a big patch? Not at all. At most we're talking about around 30 lines of code if you use openssl. If you don't it will take more code, but shouldn't take very long to implement at all.
Wouldn't players be penalized for faulty downloads or the corruption of files? Only if you ban them. If your files don't match, you really shouldn't be playing the game with those files. If your file is corrupted, you could potentially see a lot of issues in the game - i.e. bugs etc. Since it would be impossible to tell which is the case by simply hashing, rechecking all the game files, and redownload of any changed/incomplete files would both fix issues with hacks, and faulty files.


Reply With Quote
