- Sep 10, 2001
- 12,348
- 1
- 81
I haven't had time to play any computer games since... 2004/early 2005, but I used to play quite a bit of Quake 3 online, which was preceded by some LAN Counter-Strike when I first started college (fall 1999 when CS was in early beta). Not long after getting in to these games, I would run in to cheaters online. The most common ones were wall hacks, aimbots, anti-recoil scripts (CS only), and auto-fire bots.
My question is: if the game is not open-source, how does a programmer interface with the game? It seems like a wall hack would require someone to change the way the game is rendered, which would require access to the compiled functions within the game (I think?). An aimbot would probably also require some sort of interaction with the game code (or, at least, very fast image analysis, which I doubt could be done in real-time). I suppose an auto-fire bot could utilize higher-level functions or image analysis to take signals from the game and return a "shoot" command.
I was wondering if anyone could explain how this sort of thing works. Are functions compiled in DLLs accessible or "visible" to users who do not have access to the code? If not, how did all of these idiots figure out how to cheat?
If this is inappropriate because it could be used to actually write such a program, I'll withdraw the question. I just downloaded the Q3A source so I could read an example of what a real programmer's code might look like for such a program and it got me thinking about this. Anyway, just curious on what information was available based on having a DLL or how hackers got this information.
My question is: if the game is not open-source, how does a programmer interface with the game? It seems like a wall hack would require someone to change the way the game is rendered, which would require access to the compiled functions within the game (I think?). An aimbot would probably also require some sort of interaction with the game code (or, at least, very fast image analysis, which I doubt could be done in real-time). I suppose an auto-fire bot could utilize higher-level functions or image analysis to take signals from the game and return a "shoot" command.
I was wondering if anyone could explain how this sort of thing works. Are functions compiled in DLLs accessible or "visible" to users who do not have access to the code? If not, how did all of these idiots figure out how to cheat?
If this is inappropriate because it could be used to actually write such a program, I'll withdraw the question. I just downloaded the Q3A source so I could read an example of what a real programmer's code might look like for such a program and it got me thinking about this. Anyway, just curious on what information was available based on having a DLL or how hackers got this information.