I’m revisiting my unfinished binary hook engine that I started back in 2007 to hopefully complete it and use it in some current projects.
For people new to such things. It’s a programming mechanism that allows you to inject/load a DLL (usually) into a target process at the same time, or after it’s loaded to allow you to modify, and, or, hijack parts of it’s code. See: Hooking at wikipedia
What game and otherwise hackers might use to make “hacks”, bots, etc. But that’s not all. It’s along the same lines as “plug-ins”, “ad-dons”, etc. For instance there are systems that use a hook system to add TeamSpeak to games so you can graphically see who is speaking. Firewalls and security software like real time anti-virus programs might use a hook system too.
When you read about hooking systems you will mostly see API hooking. But as the Wikipedia article covers to some degree is that the whole “hooking” concept is actually pretty broad topic. Often maligned do to it’s notorious uses in malware like rootkits. But there are as many of not more positive, helpful, and useful reasons to use hooking mechanisms.