本博文由优快云博主zuishikonghuan所作,版权归zuishikonghuan所有,转载请注明出处:
http://blog.youkuaiyun.com/zuishikonghuan/article/details/50717936
说驱动开发这么长时间了,也玩玩内核钩子,钩子(Hook)技术是一种截获对某一对象访问的技术,不仅在Windows平台,Linux平台上也有Hook技术。Hook技术种类繁多,实现细节也不同,还可以灵活使用。
我之前写过两篇Ring3下的API Inline Hook的博文,这两篇博文通过Inline Hook OpenProcess 实现对指定进程的保护,从而保护进程不能被其他进程打开、结束、写内存等等。可以先去看看:
我们先来看看都有那些常见的Hook技术:
首先是Ring3层下的Hook技术,Ring3层下的Hook包括消息钩子和API Hook,消息钩子又分为全局消息钩子和进程内消息钩子,API Hook又分为IAT Hook和API Inline Hook,这两种钩子的区别和原理,看我上面的那两篇博文。
内核下Hook就比较多了,比如Object Hook,SSDT Hook,SSDT Shadow Hook,Inline Hook,IDT Hook,SysEnter Hook等等。
我就来说说SSDT Hook,当年SSD