2011-03-26 103 views
3

请问能给我指点(没有双关语意思)的话题我需要研究才能做到这一点?我并不是真正的Windows专家,但是我很快就接触到了新的概念。监视内核注册表变化

我看到了过程监控程序,它标记Russinovich和Bryce科格斯韦尔写道: http://technet.microsoft.com/en-gb/sysinternals/bb896645

能看到事物的内核中发生的注册表项明智的。过去我一直能够使用C#和用户级别的注册表访问来做这种事情,但是我无法使用从codeproject获得的包装套件来访问内核。

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

这样做的理由: (我比Java程序员更喜欢Java,但是我想进入后者,最好的学习方法是做一些有趣的事情,对实时应用感兴趣,这是我能想到的最廉价的一个(不需要为数据付费)。)

+0

这里有几个指针:0x3A28213A,0x6339392C,0x7363682E。抱歉。我忍不住了。 – fouronnes 2011-03-26 13:29:54

+0

Regmon来源:http://www.mediafire.com/?4sxu53d1r1dgg5s – Shelwien 2011-03-26 16:11:02

回答

0

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

检查出http://blogs.msdn.com/b/matt_pietrek/archive/2005/03/23/401080.aspx的ETW介绍,以下是一个问题与SO有关的实时ETW消费者:How do I register as a real-time ETW consumer for NT Kernel Events?

+0

也许它在Vista之前很难做到,但现在已经不复存在了。在CmRegisterCallbackEx的帮助下,只需几行代码即可。 ([链接](http://lordjeb.com/2014/01/14/registry-filter-drivers-part-1/)) – rustyx 2015-08-26 14:54:04