Detours express3.0在VS2013中编译生产库

来源:互联网 发布:linux驱动模块编译 编辑:程序博客网 时间:2024/05/22 14:53

detour库是微软提供的hook库,其实hook过程原理基本一样,只是微软做了封装和相关的冲突检查,所以这种api hook稳定些。

用detour库进行hook必须先部署Detour,

电脑环境:win7 32bit

1.从http://research.microsoft.com/sn/detours下载detour professional 3.0,现在好像只有Express版。

2.下载后直接解压;

3.生成detour.lib:安装detour后,目录中有src文件夹,把文件夹拷贝到\Microsoft Visual Studio 10.0\VC下

3.1打开cmd进入Microsoft Visual Studio 10.0\VC\bin目录输入命令vcvars32.bat,运行后可以设置好编译环境

3.2修改src下面的makefile文件,习惯内容如下:

a)解除makefile的可读属性

b)将CFLAGS=/W4 /WX /Zi /MT /Gy /Gm- /Zl /Od修改为:CFLAGS=/W3 /Zi /MT /Gy /Gm- /Zl /Od

c)删除OBJS = \后面的 $(OBJD)\disolx64.obj    \
    $(OBJD)\disolia64.obj   \
    $(OBJD)\disolarm.obj    \
    $(OBJD)\disolarm64.obj  \这几项;

3.3切换到\express\SRC,然后输入nmake指令(这里需要将压缩包下面的system.mak拷贝到src中

4.部署lib文件,编译生产detours.lib库,detours.h文件会自动复制到include文件夹中。在工程添加包含目录和库目录就可以了。

detour的使用:

自己写的源码中添加如下内容就可以使用detour了:

#include <detours .h> 

#pragma comment(lib, "detoured.lib")

附加上生产的完成库目录,下载地址如下:http://download.csdn.net/detail/wufen12334/9859183