anti aimboting hacking concept
ive been playing a few fps and im by no means a codeing guru
but ive dabbled with it so
i had a idea on the way hack prevention is delt with
i wanted to run this idea by some of you guys
the ideas i have are two fold
1) prevention
2) identification
so the first idea
this came to me in the idea of a virus altering itself to survive
but in the sence of the program itself
ive noticed alot of these fps and games nowdays
do updates weekly or monthly and add or replace existing files
i had the thought that maybe we could treat the prevention part
as though screwing up the hackers app via a download
was more effortless then the actual act of making the hack
that way one person could rewrite a file easily and screw over
a team of hackers
placing critical parts to be hacked in a seperate small file
or dll whatever
that could be easily altered daily or weekly
that is done thru the update
the effect you would wish to have is to force the hackers to rewrite a hack daily
makeing it very difficult to keep up and distribute a working version
on a daily basis
2) this one is on identification
everytime a ban is done the server tracks the frequency but doenst make that
info availible to the players
if a person is getting called or booted out of rooms constantly
they will end up with a very high signature of being called out
mods can then browse this list and track the types of hacks being used
or
possibly test their code to see if their hack prevention schemes are working
this could even be used against hack users so mods can go into games with them
to see if they are really cheating or not without them knowing
alternatly these stats could be public
and let the community decide weather or not to trust the said person
the said stats would be
games played
# of accusations
# of games kicked from by vote
a new account would leave you a noob untrusted
so you would start off
the same as you would with alot of kicks and accusations
however
honorable players would not have this problem over time
and that would be the jem of that idea
anyways what do you guys think ???
Your point one is indeed a nice thought. But, how do you ensure it is downloaded? How do you ensure every player on the game has the latest files? What if they have no internet and want to do Singleplayer? Do all gamers then have to download new files daily? Make sure it's really just a few kilobytes then.
But say a hacker hack the game so it says to the server it has the latest version? Or would this be some encrypted key that is derived from the changed data part?
Prevention part sounds good though. But be aware some hacks are barely noticeable, like wall-hacks. A good hacker can disguise it well.
But say a hacker hack the game so it says to the server it has the latest version? Or would this be some encrypted key that is derived from the changed data part?
Prevention part sounds good though. But be aware some hacks are barely noticeable, like wall-hacks. A good hacker can disguise it well.
I don't know how easy it'd be to implement or how error-prone/slow it'd be, but one idea I had for protecting against wall hacking and somewhat against aimbots was to write the server in such a way that it doesn't send information about players if they're a certain distance away or obstructed.
e.g. The server knows (through some internal detection engine of some sort) that player X is behind a wall on which player Y is on the other side so it doesn't send X's coords to Y or Y's coords to X. With no coords to work with, an aimbot can't know where to aim... until they come from behind the wall and then it's game over. But this also works for wall hacks as if they can see through the walls... there's nothing there to see.
The idea is in its infancy, but might work with some tinkering.
e.g. The server knows (through some internal detection engine of some sort) that player X is behind a wall on which player Y is on the other side so it doesn't send X's coords to Y or Y's coords to X. With no coords to work with, an aimbot can't know where to aim... until they come from behind the wall and then it's game over. But this also works for wall hacks as if they can see through the walls... there's nothing there to see.
The idea is in its infancy, but might work with some tinkering.
Quote:Original post by Guinnie
I don't know how easy it'd be to implement or how error-prone/slow it'd be, but one idea I had for protecting against wall hacking and somewhat against aimbots was to write the server in such a way that it doesn't send information about players if they're a certain distance away or obstructed.
e.g. The server knows (through some internal detection engine of some sort) that player X is behind a wall on which player Y is on the other side so it doesn't send X's coords to Y or Y's coords to X. With no coords to work with, an aimbot can't know where to aim... until they come from behind the wall and then it's game over. But this also works for wall hacks as if they can see through the walls... there's nothing there to see.
The idea is in its infancy, but might work with some tinkering.
This is an idea which is certainly used in a lot of online games currently, although less frequently for action/shooter games.
Reading the source code for cheats is a great way to understand how cheaters are thinking (you'll find sources for many counter-strike cheats are open source). And unfortunately, many of them are pretty creative. Now, I'm far from an expert in the field, but at some point i got quite interested in how cheats work. And its rather difficult to use prevention.
About changing the exe/dll: Assuming you actually find a way to force the version of the exe/dll to be up-to-date (I don't think you can). While you can change where functions are located in a game exe/dll, cheats usually keep hardcoded offsets to these functions. Now, every time you change the code, those offsets in game might change, depending on how you change the code. This is a problem that i've seen happen between some versions of CS releases. To counter this, they added automatic offset updating. I believe they also managed to dynamically find the offsets of the functions. Conclusion: Using this method, it will be really hard to prevent much.
About the player data: In many fps-games (where wall hacks may have the biggest impact) you can shoot through walls. If just the tip of your weapon is visible, i guess most part of the player model is rendered, and therefore can be made visible even when its behind (and the position etc is sent over the network). Big enough advantage already. Even if you manage to render only the visible parts and not send player coordinates when not necessary, sounds are played in 3D and can be rendered in an overlay. You don't know who's behind the wall, but who cares? Conclusion: While making the life of a cheater harder, it certainly doesn't stop them from shooting you through a wall.
Finally, the stats/tracking idea: In my experience many player accuse others of cheating when they, in fact, only are good players. Even server admins get this wrong sometimes. And i don't really blame them. It's sometimes really hard to separate cheaters from skilled players. Unless, of course, if you play against a rage cheater (360 degrees aimbot, wall hack, speed hack, etc). Conclusion: "Regular" players don't necessarily provide good/proper stats.
Pretty much is already done to prevent cheating, but since the code is run on the client computer, there is only so much you can do.
-- Unleeb
About changing the exe/dll: Assuming you actually find a way to force the version of the exe/dll to be up-to-date (I don't think you can). While you can change where functions are located in a game exe/dll, cheats usually keep hardcoded offsets to these functions. Now, every time you change the code, those offsets in game might change, depending on how you change the code. This is a problem that i've seen happen between some versions of CS releases. To counter this, they added automatic offset updating. I believe they also managed to dynamically find the offsets of the functions. Conclusion: Using this method, it will be really hard to prevent much.
About the player data: In many fps-games (where wall hacks may have the biggest impact) you can shoot through walls. If just the tip of your weapon is visible, i guess most part of the player model is rendered, and therefore can be made visible even when its behind (and the position etc is sent over the network). Big enough advantage already. Even if you manage to render only the visible parts and not send player coordinates when not necessary, sounds are played in 3D and can be rendered in an overlay. You don't know who's behind the wall, but who cares? Conclusion: While making the life of a cheater harder, it certainly doesn't stop them from shooting you through a wall.
Finally, the stats/tracking idea: In my experience many player accuse others of cheating when they, in fact, only are good players. Even server admins get this wrong sometimes. And i don't really blame them. It's sometimes really hard to separate cheaters from skilled players. Unless, of course, if you play against a rage cheater (360 degrees aimbot, wall hack, speed hack, etc). Conclusion: "Regular" players don't necessarily provide good/proper stats.
Pretty much is already done to prevent cheating, but since the code is run on the client computer, there is only so much you can do.
-- Unleeb
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement