关于驱动HOOK注册表操作函数保护注册表的问题

happy054 2010-10-18 09:28:56
各位朋友,我目前有一个项目中要保护注册表不被删除,我写了个修改SSDT表的HOOK驱动,HOOK掉了注册表操作的NtOpenKey
NtDeleteKey NtDeleteKeyValue NtEnumKey。。。等函数。安装驱动后,通过注册表编辑器,一般的注册表删除工具都不能删除,但是就是不能绕过360的注册表删除。我做了个实验,360的开启启动项管理里面可以删除我要保护的开机启动项注册表。后来我打印了Dbgprintf信息,发现用360的删除,根本就没有走到我的HOOK函数里面。而其他都会走到我的HOOK函数中去。
我在网上查找到资料,说是360的注册表保护驱动不是用的一般的SSDT表HOOK,而是通过挂载KiFastCallEntry 来达到效果的。谁有挂载了KiFastCallEntry的HOOK驱动例子,麻烦给我发一个研究研究,我的邮箱27202869@qq.com,谢谢大家了。然后谁知道360开机启动项删除是用的那个注册表函数,用的什么机制导致不进入我的HOOK函数的吗?(另外一点,360的开机启动项管理中,删除注册表时不会进入我的HOOK函数,但是在写入注册表时却能进入我的HOOK函数)郁闷中。希望各位帮忙。
...全文
198 1 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
happy054 2010-10-18
另外,各位朋友介绍一些这方面的书籍看看。谢谢了。
回复
happy054 2010-10-18
[Quote=引用 1 楼 asideu 的回复:]
在干净的机子上和别的hook没有例子代码区别。
[/Quote]
?不是很明白。在干净的机器上跑是肯定没有问题的,肯定可以过滤到注册表编辑器的删除注册表操作,也可以过滤其他软件的删除启动项注册表操作,就是360的启动项删除注册表无法实现。

回复
asideu 2010-10-18
在干净的机子上和别的hook没有例子代码区别。
回复
相关推荐
发帖
驱动开发/核心开发
创建于2007-09-28

2.1w+

社区成员

硬件/嵌入开发 驱动开发/核心开发
申请成为版主
帖子事件
创建了帖子
2010-10-18 09:28
社区公告
暂无公告