Detours是微软开发的一个函数库,可用于捕获系统API。在用其进行程序开发之前,得做一些准备工作:
一.下载Detours
在http://research.microsoft.com/sn/detours 可免费下载Detours,当前的最新版本是
- Detours Express 2.1 is available for immediate download under a no-fee, click-through license for research, non-commercial, and non-production use on 32-bit code.
- Detours Professional 2.1 includes a license for use in production environments and the right to distribute detour functions in products. In addition to support for 32-bit x86 code, Detours Professional 2.1 includes support for 64-bit code on x64 and IA64 processors. For information on licensing Detours Professional 2.1 visit Microsoft's IP Licensing Group at www.microsoft.com/iplicensing and search under Detours.
由于我只是用于研究学习,所以下载的是第一个版本。
二.安装Detours
从网上下载的是DetoursExpress.msi,安装该文件
三.生成Detours库
在安装后的文件夹下找不到直接可以拿来用的LIB文件,但是却有SRC文件(在**/Microsoft Research/Detours Express 2.1/src下)。该文件夹下还有Makefile,可以直接用来生成库。
安装后的文件夹目录
具体生成库的做法是:
1.将Detours路径下的SCR文件夹拷贝到**/Microsoft Visual Studio/VC98路径下,注意是整个文件夹
2.运行**/Microsoft Visual Studio/VC98/Bin下VCVARS32.BAT文件.
在开始->运行里面输入CMD命令,在出来的命令行窗口里,将路径换至**/Microsoft Visual Studio/VC98/Bin,再将VCVARS32.BAT文件拖进命令行窗口里就行
3.运行NMAKE命令
在命令行窗口里将路径换到**/Microsoft Visual Studio/VC98/SRC,然后输入../bin/nmake指令,回车
4.待此命令运行完后,在**/Microsoft Visual Studio/VC98/Lib文件下就能找到detoured.lib与detours.lib文件.
注:如果你下载的是Detours Express 3.0,则只生成的文件如下:
即不会生成Detoured.lib,所以你的工程如果使用的是3.0的Deours,则只需包括detours.lib库文件就行了