Detours Hook
发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,Detours Hook Detours是微软开发的一个函数库,主要用于动态Hook运行中的程序,其具体介绍参见http://research.microsoft.com/en-us/projects
千家信息网最后更新 2025年01月20日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安全错误
数据库的锁怎样保障安全
软件开发工程师的招聘途径
数据库登录报错12514
为什么服务器硬盘强调安全
游戏服务器是怎么分配的
高级网络安全服务器
2021年中国网络安全
联合作战网络安全研究
网络安全讲稿
西安直播医疗健康软件开发
小学学校网络安全防范措施
鲨鱼服务器
中控消费系统 数据库
网络安全内涵ppt
五舟服务器管理口地址
网络 服务器
数据库的体系结构包括
崩坏三三个服务器的区别
2020国家网络安全周郑州
爱有网络技术小米
远江盛邦网络安全公司成都怎么样
瘦瘦服务器
加强网络安全防范图片
半高刀片服务器
网络安全内涵ppt
公安机关网络安全技术培训
淘宝手机数据库怎么改
百斯特软件开发有限公司
数据库的设计实例
广州应用软件开发价格表
铁道车辆网络技术