大家应该都知道,全局消息钩子要依赖于一个DLL才能够正常工作。于是呢,我也就理所当在地认为全局钩子都要依赖于一个DLL才能正常工作的,我想大部分人肯定和我一样也这么认为的。

但实际上不是这样的。有某些全局钩子可以不依赖于任何DLL而正常工作的。这些钩子包括,WH_JOURNALPLAYBACK,WH_JOURNALRECORD,WH_KEYBOARD_LL,WH_MOUSE_LL。为什么这些钩子可以不依赖于DLL而正常工作呢?我们可以从MSDN中得到答案,MSDN中对于这四种钩子都这样的描述“This hook is called in the context of the thread that installed it.”,翻译成中文意思是钩子函数的调用是在安装钩子的线程上下文中进行的,说得更明白些,意思就是这些钩子是在哪个线程当中安装的,其钩子函数就在哪个线程中执行。所以使用这四种钩子是达不到代码注入的效果的,当然也就可以不依赖于任何DLL了。MSDN中只对个别钩子指出了必须还是没有必要使用DLL。

有某些全局钩子可以不依赖于任何DLL而正常工作的。这些钩子包括,WH_JOURNALPLAYBACK,WH_JOURNALRECORD,WH_KEYBOARD_LL,WH_MOUSE_LL。为什么这些钩子可以不依赖于DLL而正常工作呢?我们可以从MSDN中得到答案,MSDN中对于这四种钩子都这样的描述“This hook is called in the context of the thread that installed it.”,翻译成中文意思是钩子函数的调用是在安装钩子的线程上下文中进行的,说得更明白些,意思就是这些钩子是在哪个线程当中安装的,其钩子函数就在哪个线程中执行。所以使用这四种钩子是达不到代码注入的效果的,当然也就可以不依赖于任何DLL了。

最新文章

  1. python学习笔记-(十四)I/O多路复用 阻塞、非阻塞、同步、异步
  2. Linux学习方法
  3. MongoEngine简易教程(转)
  4. ios 用户相册
  5. SQL Server里PIVOT运算符的”红颜祸水“
  6. 【POJ 2096】Collecting Bugs 概率期望dp
  7. GROUPING SETS、CUBE、ROLLUP
  8. Android -- 获取汉字的首字母
  9. javascript中alert()与console.log()的区别
  10. Windows Azure功能更新:SQL Server AlwaysOn和Notification Hub 正式商用
  11. 【转】网络视频监控P2P解决方案
  12. C#手机充值
  13. v$lock 视图访问慢解决方法
  14. XML 从基础到精通
  15. poj_2528Mayor's posters(线段树)
  16. FPGA学习笔记(四)——Verilog基本语法
  17. 呕心沥血之作,最多坑mysql5.7安装教程
  18. spring05-Spring事务管理
  19. python之 MySQLdb 实践 爬一爬号码
  20. javascript 和 下拉列表

热门文章

  1. 【LeetCode】Add Two Numbers(两数相加)
  2. 2017 ACM/ICPC Asia Regional Shenyang Online
  3. TOJ 4244: Sum
  4. MySQL容量规划之tcpcopy应用之道
  5. 关于流媒体(m3u8)的播放与下载
  6. spring经典配置
  7. Bichrome Tree
  8. 如何查看项目的Laravel框架的版本
  9. POJ2752 NEXT[J]特性应用利用。
  10. 接口自动化测试之HTTP协议详解