跟踪 Windows 注册表中的更改

问题描述 投票:0回答:8

有没有办法跟踪 Windows 注册表的更改?我想看看在安装各种程序期间注册表发生了哪些变化。

windows registry
8个回答
46
投票

进程监视器允许您监视各种进程的文件和注册表活动。


41
投票

可以监控特定程序对注册表所做的更改。

https://www.nirsoft.net/utils/reg_file_from_application.html

更新:只需下载 NirLauncher(其中包括 NirSoft 的所有应用程序)。它是 Windows 工具箱中最好的补充之一。 https://launcher.nirsoft.net/


13
投票

关于 WMI 和注册表:

与注册表有关的 WMI 事件类有 3 个:

  • RegistryTreeChangeEvent
  • RegistryKeyChangeEvent
  • RegistryValueChangeEvent

注册表事件类

但是您需要注意这些限制:

  • 使用

    RegistryTreeChangeEvent
    RegistryKeyChangeEvent
    无法直接判断哪些值或键实际发生了变化。为此,您需要保存事件之前的注册表状态并将其与事件之后的状态进行比较。

  • 您不能将这些类与

    HKEY_CLASSES_ROOT
    HKEY_CURRENT_USER
    蜂巢一起使用。您可以通过创建 WMI 类来表示要监视的注册表项来克服此问题:

使用限定符定义注册表类

并将其与

__InstanceOperationEvent
派生类一起使用。

因此,使用WMI来监控注册表是可能的,但并不完美。优点是可以“实时”监控变化。另一个优点可能是 WMI 永久事件订阅:

随时接收事件

“随时”监视注册表的方法,即您的应用程序未运行时的事件。


9
投票

无需额外工具即可完成此操作的一种直接方法是在安装之前将注册表导出到文本文件,然后在安装后将其导出到另一个文件。然后,比较这两个文件。

话虽如此,Sysinternals 工具对此非常有用。


5
投票

Regshot 值得一提。 它会扫描所有注册表设置并拍摄快照,然后您稍后再次运行它以与原始快照进行比较,它会显示所有已更改的键和值。


2
投票

有一个名为 sobek 的 python-hids ( http://code.google.com/p/sobek-hids/ ),它能够监控 SO 的某些部分。它对我来说工作正常,可以监视文件更改,尽管文档说它能够监视注册表更改,但它对我不起作用。

很好的软件,可以轻松演示基于 python 的 hid。


1
投票

有几种不同的方法。如果您想自己即时执行此操作,WMI 可能是最佳选择。

RegistryKeyChangeEvent
及其亲戚是值得关注的。可能还有一种方法可以通过
__InstanceCreationEvent
__InstanceDeletionEvent
__InstanceModificationEvent
类来监控它。

http://msdn.microsoft.com/en-us/library/aa393040(VS.85).aspx


1
投票

使用虚拟机时,我使用以下步骤来检查注册表更改:

  1. 使用 7-Zip 打开 vdi/vhd/vmdk 文件并解压文件夹 C:\Windows\System3
© www.soinside.com 2019 - 2024. All rights reserved.