Sign in to follow this  
Anddos

Developering an anticheat for a game

Recommended Posts

what would you guys do to combat dll injected hackers that detour directx functions
what is the best way to check a process for an injected dll and then use winsock to send off the results to the admin of the server etc Edited by Anddos

Share this post


Link to post
Share on other sites

well having written some hacks for multiplayer games like QuakeLive or Call of Duty 4, i think the best way is to check critical functions in the graphics API that could be hooked and used for hacks. obviously you should also check the functions in your own code.

punkbuster seems to only scan the first bytes of DrawIndexedPrimitive for example and you can easily circumvent that by doing a hook mid-function, so thats a mistake you dont want to make ;)

you might also set some breakpoints on read access to critical structures (for example player positions)
however i dont know if this would be possible in real time.


another way is to check all 3rd party modules for signaturs of known hacks (i think most anticheats rely a lot on this).

 

if you like a challenge, you can also try to write some kind of intelligent cheat detection code that detects if a piece of code accesses data it shouldnt access (your games internal data)

 

those are just ideas though, ive never done anything like this
 

Share this post


Link to post
Share on other sites

I'd say that you only have to make sure that information being sent is reasonable (Like Servant of the Lord said, they obviously can't move One-Thousand meters per second), and only give players access to information that they need (They don't know the position of other players, meaning that they can't have them outlined in red or use an aim-bot).

Share this post


Link to post
Share on other sites

Random thought: How about, since the server knows the enemy is not visible and behind a wall, instead of sending the real enemy location, send a fake one enemy location (behind a wall) to draw, to actually put wallhackers at a disadvantage instead of an advantage? Also, if an enemy is behind a wall and an ally is also behind a different wall, swap the enemy and ally indicators for those players.

Share this post


Link to post
Share on other sites

That depends. Lockstep deterministic games (like RTS) are inmune to many cheats (i.e. free ore, teleportation cheats, etc), but are very vulnerable to others because everybody must know everything (i.e. AI asisted commands, unveiling fog of war).

 

In non-deterministic games (ie. most FPS) many servers just send the information they know you need for sure, hence not sending data about enemies who are behind a wall. As for sending a fake location, that's meannnn

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this