detours库下载 detours pro 3.0专业版 v3.0.316 64位/32位 官方版 下载-
使用方法
detours是微软开发的一个函数库,专门用于捕获系统API。在使用之前,必须做以下相关准备工作:
1、下载本站提供的detours professional 3.0软件;
2、安装detours,一直NEXT
3、生成detours库,
在安装后的文件夹下找不到直接可以拿来用的LIB文件,但是却有SRC文件(在**\Microsoft Research\Detours Express 2.1\src下)。该文件夹下还有Makefile,可以直接用来生成库。将Detours路径下的SCR文件夹拷贝到**\Microsoft Visual Studio 9.0\VC路径下,注意是整个文件夹(其它版本VC自己照着复制)在system32目录找到cmd右键以管理员身份运行,切换至 c:\Program Files\Microsoft Visual Studio 9.0\VC\bin目录运行vcvars32.bat,切换到\Microsoft Visual Studio9.0\VC\SRC,然后输入..\bin\nmake指令,编译成功后在\Microsoft Visual Studio9.0\VC\Lib文件下就能找到detoured.lib与detours.lib文件了。
detours库可以拦截任意的API调用,拦截代码是在动态运行时加载的。detours替换目标API最前面的几条指令,使其无条件的跳转到用户提供的拦截函数。被替换的API函数的前几条指令被保存到trampoline 函数(就是内存中一个数据结构)中. trampoline保存了被替换的目标API的前几条指令和一个无条件转移,转移到目标API余下的指令。
当执行到目标API时,直接跳到用户提供的拦截函数中执行,这时拦截函数就可以执行自己的代码了。当然拦截函数可以直接返回,也可以调用trampoline函数,trampoline函数将调用被拦截的目标API,目标API调用结束后又会放回到拦截函数。
关键代码如下:
安装Hook:
DetourTransactionBegin();
DetourUpdateThread(GetCurrentThread());
DetourAttach( &(PVOID &)Real_Api, My_Api );
......
DetourTransactionCommit();
卸载Hook:
DetourTransactionBegin();
DetourUpdateThread( GetCurrentThread() );
DetourDetach( &(PVOID &)Real_Api, My_Api );
......
DetourTransactionCommit();
其中Real_Api,为原API在内存地址,My_Api为自定义函数。
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。
相关推荐
- WebSocket测试工具下载 WebSocket客户端测试工具 v4.20 中文安装免费版 下载-
- googlemapapiv3离线包下载 google map api离线地图包 v3.30.4 最新免费版 下载-
- INK编辑软件下载 Inky(INK编辑器) v0.11.0 免费安装版 32位/64位 下载-
- 文件校验软件下载 Hasher Lite(md5校验工具)V3.4 绿色便携免费版 下载-
- armageddon中文版下载 Armageddon中文版(编译工具) v2.2 免费中文版 下载-
- Armageddon中文版下载 Armageddon软件 v2.2 汉化绿色免费版 下载-
- 腾讯乐固加固平台下载 腾讯云乐固(APP加固/重签名/多渠道打包等功能) v2.07 官方绿色版 下载-
- lua编辑调试器下载 lua编辑调试者(lua脚本编辑工具) v1.3.2.1 中文绿色免费版 下载-
- vc++6.0下载 Visual C++ 6.0 完整绿色版(附MSDEV.EXE) 下载-
- .NET Reflector下载 .NET Reflector(.net反编译工具) v10.0.7.774 特别版(附破解步骤+注册机) 下载-