找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 1297|回复: 6

《WIN64驱动教程》补充[18]:内核IAT HOOK的实现

[复制链接]

857

主题

2632

回帖

2

精华

管理员

此生无悔入华夏,  长居日耳曼尼亚。  

积分
36130
发表于 2014-8-26 22:48:49 | 显示全部楼层 |阅读模式
作者:Tesla.Angela

内核IAT HOOK的差别,跟RING3的IAT HOOK差别有点大。在教程的RING3 IAT HOOK代码里,我修改的是『导入表』。但是在内核IAT HOOK里,我修改的是『导入函数地址表』。虽然只差了两个字,但却是完全不同的东西。『导入表』有很复杂的结构,但『导入函数地址表』却只是一个有限长度的SIZE_T数组。也就是说,要实现HOOK的话,不需要计算偏移地址,直接找到记录原始地址的地方,然后直接填写代理函数的地址即可,类似于WIN32的SSDT HOOK。为什为我在RING0要修改『导入函数地址表』呢?因为这个导入表很有可能在驱动加载后就被抛弃了。但是『导入函数地址表』是一直存在的。至于IAT HOOK有什么用,我只能说用处不太大,只见过360在WIN7X64上HOOK WIN32K.SYS导入表的ntoskrnl!KeUserModeCallback实现主动防御。在WIN8X64以及之后的系统,PATCHGUARD保护了包括WIN32K.SYS在内的驱动,PATCH WIN32K.SYS也会导致蓝屏。所以360就没有在WIN8X64上这么做了。
游客,如果您要查看本帖隐藏内容请回复

0

主题

37

回帖

0

精华

铜牌会员

积分
61
发表于 2024-1-2 20:01:30 | 显示全部楼层
学习了

0

主题

47

回帖

0

精华

贵宾会员

积分
89
发表于 2024-1-26 22:37:35 | 显示全部楼层
2024补充学习

0

主题

21

回帖

0

精华

铜牌会员

积分
53
发表于 2024-2-6 16:11:20 | 显示全部楼层
很有参考意义,感谢分享

0

主题

45

回帖

0

精华

铜牌会员

积分
53
发表于 2024-3-19 08:32:57 | 显示全部楼层
学习一下

1

主题

118

回帖

0

精华

金牌会员

积分
856
发表于 2024-3-29 10:14:09 | 显示全部楼层
主要想看看隐藏内容。

0

主题

92

回帖

0

精华

铜牌会员

积分
111
发表于 2025-1-26 09:54:33 | 显示全部楼层
好好学习一下
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

快速回复 返回顶部 返回列表