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 2000
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.
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.
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 at
http://www.madcodehook.com/madCodeHookDescription.htm.