I don’t think it requires a lot of knowledge so much as a competent degree of specialized knowledge – and a lot of dedication. I’ve run Cheat Engine on a Game For Windows Live game before*, GFWL has its own protection that causes the game to freeze if it detects memory editing.
One important thing to note is that at the execution level everything is just numbers (well, binary switches that are on and off, but splitting hairs), so any program that can change numbers at any address of a program can change the way it runs. So when a program is running, you can inspect the part of the code that runs the memory monitor, and alter a few instructions to render it harmless. This is what you do with GFWL, I think you overwrite five instructions in the memory monitor and make it harmlessly escape, instead of actually checking if anything is wrong.
Of course, this is all a bit of an arms race – you can run the monitor in another process or thread; you can make the inspection program require bizarre idiosyncratic passcodes/checksums/whatever be found or it will freak out, etc etc. It can never be perfect, but it can become more and more of a pain to circumvent it.
I’m afraid I don’t know the specifics of wallhacks, but I think they usually exploit cooperation between the server and the client. Since it would be too slow for the server to process an action request for every player, calculate the actions and compute physics for everythings, and then tell each player where it is every frame – it has each client do some of its own calculations, and then propagates the changes after the client tells it what’s changed. So (at a very basic level), after you circumvent the protection, you essentially just break the physics engine on your machine and tell the server “no, really, I’m at this location – you’re imagining things, there’s no wall here” and the server goes “well… I can’t really spare the power to check, so I believe you!” This is also how things like teleport hacks work. I’m not clear on how Aimbots work, but I think it fundamentally relies on reading the game’s hitbox data and causing the player’s targeting reticle to automatically be set to point at the correct location.
Note that this is a very high level overview, there are entire computer security papers about guarding against these, and detailing ways of attacking them, and so on and so forth. I’ve never written any hacks myself, though I have known a couple of professors in computer security that have done research of ways to prevent them.
I would say that any interested competent programmer could probably make one of these if they did enough research first (to prevent getting banned over and over while they bug test it), but you have to be prepared for a lot of boring poking around in executables and figuring out what random collection of hexadecimal characters correspond to the physics engine code and what’s safe to change to give the desired effect without breaking the program and so on.
The real annoyance is that even if the same techniques work between game to game, even different games in the same engine and protection likely require a good deal of work just to find the correct parts to attack. Meaning that even if you know what you’re doing it can be tedious to do it for another game.
- Dark Souls: Prepare to Die edition for PC – I never PVP’d on that character, I’d already beaten it on PS3 and just wanted to dick around and see what I could find out about the game.