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
or 64bit 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 all all Microsoft OSs from Windows 95
and NT4 up to the latest 32bit and 64bit OSs.
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.
Experienced madCodeHook 2.x users, who have just upgraded to madCodeHook 3.0,
might want to read the v3.0 information first,
including the linked pages.
To get new madCodeHook users 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.
If you're new to 64bit OSs, there's a little
introduction page explaining the most important
differences to 32bit OSs, and how they affect hooking. Also there's a page
talking about the injection driver used by
madCodeHook.
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.
You can find more information including an evaluation version download at
http://www.madCodeHook.com.