Detour3.0 win7 64bit下的安装

最近在做API hook相关的东西,用了inline hook后感觉不错,但是查找资料发现inline hook并不稳定

inline hook 的原理是在系统访问一个函数的时候先替换原函数入口处的内容跳转到自己设计的hook函数中,然后在自己函数中进行hook工作。可是在并行系统中,很可能有个线程就在这个时候调用了被自己改掉的系统函数,出现我们无法预期的结果。

所以打算学习一下inline hook升级版:detour库hook,其实hook过程原理基本一样,只是微软做了封装和相关的冲突检查,所以这种api hook稳定些。

(当然其他apihook方式还有modifying the Import Address Table (link provided later),using proxy DLLs and manifest files

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

电脑环境:win7 64bit

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切换到\Microsoft Visual Studio10.0\VC\SRC,然后输入nmake指令(这里可能会有错误 未找到文件“..\system.mak”,解决方法在下面)

4.部署lib文件,上一步\Microsoft Visual Studio10.0\VC\lib中会生成lib文件,将\Microsoft Visual Studio10.0\VC\src中的detours.h复制到..\include目录下(如果include中没有该头文件)

整个部署完成了

detour的使用:

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

#include <detours .h> //*IMPORTANT: Look at path if compiler error

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

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

未找到文件“..\system.mak”解决方法:
将detours安装目录中的system.makMakefile复制到Microsoft Visual Studio 10.0\VC目录就解决了

技术相关更多文章猛击:哇啦天堂论坛技术区
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值