THIS INFORMATION IS PROVIDED BY ``AS IS'' AND ANY EXPRESS ORIMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIEDWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULARPURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR ORCONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ORSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESSINTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OFLIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUTOF THE USE OF THIS INFORMATION, EVEN IF ADVISED OF THEPOSSIBILITY OF SUCH DAMAGE.
About this guide
There are tones of information available regarding windows hooking. As such, thisguide will not go into details of what is Windows Hooking or what it can do for you.This guide will instead directly jump into the many ways of Windows Hooking andfor each method; a working source codes example with a step by step guide is given.While the author will paint a picture on where and how a particular method could beused, it is entirely up to the reader to assess and make his or her own judgment onhow a particular method presented here could best be used with regard to the actualneeds.
Familiar with Ms Visual C++ 6.0 tools
Intercepting API calls
Method I – Proxy DLL
This is an easy method where the proxy DLL will directly replace an existing DLLthat contains the function or functions you want to be intercepted.Assuming you want to intercept an API in a DLL called MyDLL.To demonstrate, follow the steps described below.