题
有没有办法跟踪变化Windows注册?我想看到什么改变注册是在安装的各种方案。
解决方案
可以监控特定程序所做的注册表更改。
http://www.nirsoft.net/utils/reg_file_from_application.html
更新:只需下载NirLauncher(包括NirSoft的所有应用程序)。它是Windows工具箱的最佳补充之一。 http://launcher.nirsoft.net/
其他提示
进程监视器允许您监视各种进程的文件和注册表活动。
关于WMI和注册表:
有三个WMI类事件有关的注册表中:
- RegistryTreeChangeEvent
- RegistryKeyChangeEvent
- RegistryValueChangeEvent
但你需要知道的这些限制:
与RegistryTreeChangeEvent和RegistryKeyChangeEvent有没有办法直接告诉其值或钥匙的实际改变。要做到这一点,你会需要保存的登记册状态的事件之前和进行比较后状态的事件。
你不能使用这些课程注册表或注册表荨麻疹。你可以克服这种通过创建系统类表示注册的关键监测:
并利用它与__InstanceOperationEvent衍生课程。
因此,使用WMI监测的登记是可能的,但不完善。优点是,它能够监测变化中的"实时".另一个优势可能是WMI永久性的事件订阅:
一种方法来监测登记册'在所有的时间',即。事件应用程序是否没有运行。
在没有额外工具的情况下执行此操作的简单方法是在安装之前将注册表导出到文本文件,然后将其导出到另一个文件。然后,比较两个文件。
话虽如此,Sysinternals工具对此非常有用。
Regshot 值得一提。它扫描并拍摄所有注册表设置的快照,然后稍后再次运行它以与原始快照进行比较,并显示已更改的所有键和值。
有一个名为sobek的python-hids( http://code.google.com/ p / sobek-hids / )能够监控SO的某些部分。它对我监视文件更改工作正常,虽然文档说它能够监视注册表更改但它对我不起作用。
可轻松播放基于python的hids的软件。
有几种不同的方式。如果你想在飞行中自己动手,WMI可能就是你要走的路。 RegistryKeyChangeEvent
及其亲属是要查看的。可能有一种方法可以通过 __ InstanceCreationEvent
, __ InstanceDeletionEvent
和 __ InstanceModificationEvent
类来监视它。
我同意Franci,所有的Sysinternals公用事业都值得一看(Autoruns也是必须的),而Process Monitor,它取代了旧的Filemon和Regmon是非常珍贵的。
除了您想要的用法之外,了解进程失败的原因(例如尝试访问不存在的文件或注册表项等)非常有用。
当使用一个虚拟机,我利用这些步骤,以检查改变注册表中:
- 用7-Zip,开vdi/虚拟/虚拟机磁盘文件,并提取的文件夹C:\Windows\System32\config
- 运行 OfflineRegistryView 把注册表明文
- 设置配置文件夹'的文件夹中提取的
- 设定的'基钥匙'
HKLM\SYSTEM
或HKLM\SOFTWARE
- 设定的'子项深入'到'无限'
- 按"开始"键
现在用你最喜欢的差异的程序的比较之前"和"之后的'快照。