本人初学驱动,练习之用,没有什么技术含量,只是综合了大牛们大量优秀代码中的一小部分。

大牛们就不要看了,怕你们找我维权。
 
    技术实现是SSDT HOOK,这个在大牛看来已经过时的技术。连我毕业答辩的时候,答辩的评委老师都告诉我说

HOOK已经过时了,虽然我自己不认同。

    主要功能如下:

    1、SSDT HOOK NtSetValueKey 来监视注册表修改的操作。检测的键值主要是一些常用的注册表启动键值项。

主要功能就是用户态下将Regkeys.txt的内容读取内存,然后DeviceIoControl传到内核进行匹配。

    2、进行监控前,首先检查SSDT是否已经被HOOK,然后通过读取原始的SSDT表进行恢复。

    由于是从大牛们的代码综合修改而来,所以代码组织比较乱。可能有bug存在,所以不要见怪。

    不对的欢迎批评指正!

    源码和可执行文件如下:

上传的附件 RegMain.rar