关于驱动HOOK注册表操作函数保护注册表的问题
各位朋友,我目前有一个项目中要保护注册表不被删除,我写了个修改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函数)郁闷中。希望各位帮忙。