监视内核registry更改

请人们给我指点(没有双关语意图)的话题,我将需要研究,以便能够做到这一点? 我在Windows上并不是真正的专家,但是我很快就接触到了新的概念。

我看到了Mark Russinovich和Bryce Cogswell写的过程监控程序: http : //technet.microsoft.com/en-gb/sysinternals/bb896645

它可以在内核中以键盘方式查看所有发生的事情。 过去,我已经能够使用C#和用户级别的registry访问,但是我无法使用从codeproject获得的包装套件来访问内核。

可以请人帮忙,问我应该从哪里开始? 我想我在这个Windows / OS方面要求更多的帮助。

这样做的理由:(我比C ++程序员更像是一个Java,但是我想进入后者。学习的最好方法是做一些你感兴趣的事情,所以我对实时应用感兴趣,这是我能想到的最便宜的一个(无需支付数据)。)

Solutions Collecting From Web of "监视内核registry更改"

对于内核模式,看看CmRegisterCallback 。

我相信Process Monitor使用Windows的事件跟踪功能,但是; 例如, 参见EtwRegister 。

编写内核模式驱动程序来拦截注册表的读/写是非常困难的。 如果您只想看到用户和内核模式注册表访问,最好的方法是通过实时ETW跟踪监听器。 有了这个,你可以得到所有你想要的监视,而不用修改正在运行的内核。 马克不使用这个,因为当时它不存在,但是现在我确定他会推荐你这样做。 如果您熟悉Linux上的DTrace,ETW是Windows最接近的(与DTrace相同,但不像用户友好或脚本化)

查看http://blogs.msdn.com/b/matt_pietrek/archive/2005/03/23/401080.aspx ,了解ETW的介绍,以下是与实时ETW消费者相关的SO问题: 我如何注册为NT coreel Events的实时ETW消费者?