关于驱动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函数)郁闷中。希望各位帮忙。
...全文
322 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
happy054 2010-10-18
  • 打赏
  • 举报
回复
另外,各位朋友介绍一些这方面的书籍看看。谢谢了。
happy054 2010-10-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 asideu 的回复:]
在干净的机子上和别的hook没有例子代码区别。
[/Quote]
?不是很明白。在干净的机器上跑是肯定没有问题的,肯定可以过滤到注册表编辑器的删除注册表操作,也可以过滤其他软件的删除启动项注册表操作,就是360的启动项删除注册表无法实现。

asideu 2010-10-18
  • 打赏
  • 举报
回复
在干净的机子上和别的hook没有例子代码区别。

21,616

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧