微软开源的Detours库是一个用于拦截Windows API调用的库,可以用于各种目的,比如监视和修改系统调用、创建钩子等。Detours是一个用于在ARM、ARM64、X86、X64和IA64机器上拦截二进制函数的库。在Visual Studio编译环境下使用Detours库的方法如下:
下载Detours库: 首先,你需要从微软的官方GitHub仓库下载Detours库的源代码。地址是:https://github.com/microsoft/Detours。
编译Detours库:运行 Native Tools Command Prompt for VS 2022(根据编译x32或者x64选择对应的版本)。运行后切换到Detours解压后的目录,并且进入到src文件中。让后执行nmake命令,开始编译。

3.配置项目以使用Detours库:在项目属性中,将Detours库的头文件目录添加到包含目录(VC++目录->包含目录),填入目录为解压的后的include文件夹。

并将Detours库的.lib文件添加到链接器的附加依赖项(VC++目录->库目录 和 链接器->输入->附加依赖项) ,填入目录为编译后的lib文件夹(根据编译x32或者x64选择对应的版本)。

4.编写注入代码:下面定义一个简单的类来调用Detours实现HOOK


