madCodeHook 

Content /...
www.madshi.net

The package "madCodeHook" offers everything you need to hook code (mostly APIs). Usually such hooks show effect only in the current process. But madCodeHook also can inject a specified DLL into any desired 32bit process or even "system wide" (that is into all currently running and into all in the future created processes). So by putting your hooking stuff into a little DLL and injecting it "system wide", you can realize effective and easy to use system wide API hooking. Of course everything works just as fine under both OS families (9x/NT).

Besides madCodeHook also offers IPC (inter process communication) functionality and lots of other tool functions. A full list of what is contained in madCodeHook can be found in the madCodeHook Reference.

Main Topics
API/Code Hooking Dll Injecting IPC Functionality Tool Functions

To get you started, I've written a little How To Use madCodeHook guide, which I recommend to read first before beginning to write your own hooking projects. Please also read the Hooking Rules to avoid destabilizing the OS with your hook projects.

In win9x madCodeHook offers an additional hooking mode: You can install a direct system wide hook on most system APIs without having to write a DLL. But that's quite difficult stuff, so you should do that only when you know *exactly* what you're doing. Otherwise you are in big danger to crash the whole operating system. You can read more about this on the System Wide API Hooking page.

If you're interested in basic informations about which API hooking methods are known in the programming world and which one of the those "madCodeHook" is using and why, please go over here.

Extended Topics
How To Use madCodeHook Hooking Rules System Wide API Hooking API Hooking Methods

madCodeHook is free for non-commercial usage (only).

You can find more information including the full download at http://www.madCodeHook.com.