EasyHook库系列使用教程之四钩子的启动与停止
2018-03-23 14:16
239 查看
此文的产生花费了大量时间对EasyHook进行深入了解同一时候參考了大量文档
先来简单比較一下EasyHook与Detour钩取后程序流程
Detours:钩取API函数后。产生两个地址,一个地址相应真Hook函数地址。一个相应真实API地址
EasyHook:钩取API函数后,所有API指向同一地址。通过ACL控制是否跳转到真实API地址
Detour:仅仅要钩取之后,相关于一个API变成两个函数
EasyHook:钩取之后,相关于还是一个API,通过控制ACL来推断是否跳转到真实API
EasyHook使用中的一种特殊情况:
须要实现这样一个功能,截获打开文件(CreateFile)和获取文件大小(GetFileSize)函数,且在打开文件时须要获取文件的大小,即在HookCreateFile中同一时候使用CreateFile和GetFileSize。
此时问题来了。
CreateFile此时调用的是真实的API,而GetFileSize将会调用HookGetFileSize。
假设存在很多其它的函数,必将导致问题。
EasyHook的启动与停止
EasyHook两种ACL表。一种是包括方式(LhSetExclusiveACL),一种是排除方式(LhSetExclusiveACL),包括方式。对于增加到ACL中的线珵。所有Hook。排除方式。对于增加到ACL中的线程,所有取消Hook。
通过动态调整开关状态就可以实现Hook的启动与停止
先来简单比較一下EasyHook与Detour钩取后程序流程
Detours:钩取API函数后。产生两个地址,一个地址相应真Hook函数地址。一个相应真实API地址
EasyHook:钩取API函数后,所有API指向同一地址。通过ACL控制是否跳转到真实API地址
Detour:仅仅要钩取之后,相关于一个API变成两个函数
EasyHook:钩取之后,相关于还是一个API,通过控制ACL来推断是否跳转到真实API
EasyHook使用中的一种特殊情况:
须要实现这样一个功能,截获打开文件(CreateFile)和获取文件大小(GetFileSize)函数,且在打开文件时须要获取文件的大小,即在HookCreateFile中同一时候使用CreateFile和GetFileSize。
此时问题来了。
CreateFile此时调用的是真实的API,而GetFileSize将会调用HookGetFileSize。
假设存在很多其它的函数,必将导致问题。
EasyHook的启动与停止
EasyHook两种ACL表。一种是包括方式(LhSetExclusiveACL),一种是排除方式(LhSetExclusiveACL),包括方式。对于增加到ACL中的线珵。所有Hook。排除方式。对于增加到ACL中的线程,所有取消Hook。
通过动态调整开关状态就可以实现Hook的启动与停止
相关文章推荐
- EasyHook库系列使用教程之四钩子的启动与停止
- EasyHook库系列使用教程之三插入钩子示例
- EasyHook库系列使用教程之二插入钩子接口
- Java EE 7 教程 第一部分 简介 第2章 使用教程示例 第2.4节 启动和停止Java DB服务器
- EasyHook库系列使用教程之一写在之前
- Java EE 7 教程 第一部分 简介 第2章 使用教程示例 第2.2节 启动和停止GlassFish服务器
- Selenium-webdriver系列教程(15)————使用已存在的profile启动firefox
- eclipse使用教程系列五:调优,启动参数设置,字体,背景颜色,编码格式等常用设置大全
- Selenium-webdriver系列教程(13)————使用已存在的profile启动firefox
- EasyHook库系列使用教程之五全局ACL和本地ACL
- Redis教程3(Redis服务启动停止,命令客户端的使用)
- [转]使用批处理设置、启动和停止服务
- 轻松掌握Ajax.net系列教程六:使用PopupControlExtender
- 轻松掌握Ajax.net系列教程五:使用TextBoxWatermarkExtender
- 轻松掌握Ajax.net系列教程十:使用CollapsiblePanelExtender
- 轻松掌握Ajax.net系列教程十二:使用TabContainer&TabPanel
- 轻松掌握Ajax.net系列教程十一:使用DynamicPopulateExtender
- 轻松掌握Ajax.net系列教程七:使用ModalPopupExtender
- 轻松掌握Ajax.net系列教程十三:使用HoverMenuExtender
- QQ游戏启动加速程序使用说明图文教程