Detours Hook
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,Detours Hook Detours是微软开发的一个函数库,主要用于动态Hook运行中的程序,其具体介绍参见http://research.microsoft.com/en-us/projects
千家信息网最后更新 2026年10月31日Detours HookDetours Hook Detours是微软开发的一个函数库,主要用于动态Hook运行中的程序,其具体介绍参见http://research.microsoft.com/en-us/projects/detours/。 在游戏或外挂分析中,可以利用Detours库提供的接口来动态Hook任意地址,截获函数调用并输出打印信息。 Detours Hook的3个关键概念 要理解Detours Hook,必须先理解Detours中的3个关键概念。 ØTarget函数:即要Hook的目标函数或目标地址。 ØTrampoline函数:即跳板函数,主要负责保存原始Target函数头的若条指令,并加上一个跳转指令以保持对原始Target函数调用的语义完整性。 ØDetour函数:即截获Target函数的调用之后,所要执行的自定义函数。 在Detours Hook中,生成Trampoline函数与Target函数之间的关系如图6-10所示。 图6-10 Trampoline函数与Target函数的关系 从图6-10中可以看出,Trampoline函数是由Target函数头加jmp指令组成的。 Target函数、Detour函数以及Trampoline函数之间的关系如图6-11所示。 图6-11 Target函数、Detour函数和Trampoline函数间关系 从图6-11中可知,一旦Target函数被执行,程序将按照1→2→3,即Traget→Detour→Trampoline的顺序执行,最后再回到Target函数的执行过程。 Detours Hook引擎 Detours Hook引擎采用上面介绍的Detours Hook机制,经过精心的设计,使这个Hook引擎支持动态Hook几乎任意地址,以方便管理,而不用为了Hook一个地址去增加代码以及重新编译代码(注意:这里的"任意地址"在可以被修改的地址区域内)。 首先还是让我们看看如图6-12所示的这个引擎的概要设计,然后再详细介绍一下每一块的具体内容。 图6-12 Detours Hook引擎概要设计 如图6-12所示的Detours Hook引擎,从涉及的内存结构上看,主要由4个块组成,分别是JMP块、HOOK_INFO块、Trampoline块和HKC块,而从处理函数上看,主要由DispatchHook和ProcessHook组成。 具体细节见<<游戏外挂***艺术>>6.4节。 电子工业出版社出版
函数
地址
引擎
如图
动态
指令
设计
原始
之间
代码
关键
概念
概要
目标
程序
出版
不用
信息
内存
内容
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
华服互联网科技怎么样
科技互联网政务服务
互联网中国科技
科技类互联网
没上市的科技互联网公司
金融科技 互联网金融
互联网科技上市公司
长亮科技互联网金融
蓝色互联网科技
北京三清互联网科技
随着互联网科技发展
昭通互联网科技选哪家
互联网方面的科技前沿
黑科技 体验场景 互联网大会
广州有谷有贝互联网科技有限公司
济南小医互联网科技有限公司招聘
福建互联网展示科技馆设计
互联网科技手机排行榜
万物互联网智能科技
唐山双旺合互联网科技产业园
科技互联网龙头
互联网 视角下的科技创新
火传媒上海互联网科技
上海卓越科技 互联网
华脉科技工业互联网产品
移动互联网科技股
互联网科技教育视频
昊天互联网科技有限公司
兰石爱特工业互联网科技分公司
科技发展第三阶段互联网时代