1.hook由来
通常情况下,应用程序只能处理来自进程内部的消息或是从其他程序发送过来的消息。如果要处理进程外
的消息,需要拦截消息,此时采用的就是钩子技术。
2.hook分类
3.几种常见的钩子类型
a)API钩子:方式有以下三种:修改程序的IAT表;修改api入口的机器码;创建远线程。
修改api入口的机器码已知的编程技术为detours,这是微软提供的一个库。可从以下地址下载源码:
http://research.microsoft.com/en-us/projects/detours/ 此方式官网称只支持专业版操作系统。
创建远线程:CreatRemoteThread。
b)SSDT:System Servics Descriptor Table:系统服务描述符表。把Ring3的win32 API和Ring0的内核Api
联系起来。具体详情可以参考此推荐博文: