Pregunta

¿Hay alguna forma de hacer un seguimiento de los cambios en el registro de Windows? Me gustaría ver qué cambios en el registro se realizan durante la instalación de varios programas.

¿Fue útil?

Solución

Puede supervisar los cambios de registro realizados por un programa específico.

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

ACTUALIZACIÓN: Simplemente descargue NirLauncher (que incluye todas las aplicaciones de NirSoft). Es una de las mejores adiciones a su caja de herramientas de Windows. http://launcher.nirsoft.net/

Otros consejos

Process Monitor le permite monitorear la actividad de archivos y registro de varios procesos.

Con respecto a WMI y el Registro:

Hay tres clases de eventos de WMI relacionadas con el registro:

  • RegistryTreeChangeEvent
  • RegistryKeyChangeEvent
  • RegistryValueChangeEvent

Clases de eventos de registro

Pero debe tener en cuenta estas limitaciones:

  • Con RegistryTreeChangeEvent y RegistryKeyChangeEvent no hay forma de decir directamente qué valores o claves realmente se cambiaron. Para hacer esto, deberá guardar el estado del registro antes del evento y compararlo con el estado después del evento.

  • No puedes usar estas clases con HKEY_CLASSES_ROOT o HKEY_CURRENT_USER hives. Puede superar esto creando una clase de WMI para representar la clave de registro para monitorear:

Definición de una clase de registro con calificadores

y úselo con __InstanceOperationEvent clases derivadas.

Por lo tanto, usar WMI para monitorear el Registro es posible, pero menos que perfecto. La ventaja es que es posible monitorear los cambios en 'tiempo real'. Otra ventaja podría ser la suscripción a eventos permanentes de WMI:

Recibiendo eventos en todo momento

un método para monitorear el Registro 'en todo momento', es decir. evento si su aplicación no se está ejecutando.

Una forma sencilla de hacer esto sin herramientas adicionales es exportar el registro a un archivo de texto antes de la instalación y luego exportarlo a otro archivo. Luego, compara los dos archivos.

Habiendo dicho eso, las herramientas de Sysinternals son excelentes para esto.

Regshot merece una mención aquí. Escanea y toma una instantánea de todas las configuraciones del registro, luego la ejecuta nuevamente en un momento posterior para compararla con la instantánea original, y le muestra todas las claves y valores que han cambiado.

Hay un python-hids llamado sobek ( http://code.google.com/ p / sobek-hids / ) que puede monitorear algunas partes del SO. Funciona bien para mi para monitorear los cambios en los archivos, y aunque el documento dice que es capaz de monitorear los cambios en el registro, no me funciona.

Buena pieza de software para reproducir fácilmente un hids basado en python.

Hay algunas maneras diferentes. Si quieres hacerlo tú mismo sobre la marcha, WMI es probablemente el camino a seguir. RegistryKeyChangeEvent y sus parientes son los que hay que mirar. Puede haber una manera de monitorearlo a través de las clases __InstanceCreationEvent , __InstanceDeletionEvent y __InstanceModificationEvent también.

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

Coincido con Franci, vale la pena echar un vistazo a todas las utilidades de Sysinternals (Autoruns también es obligatorio), y Process Monitor, que reemplaza a los viejos y buenos Filemon, y Regmon es precioso.

Además del uso que desea, es muy útil ver por qué falla un proceso (como intentar acceder a un archivo o una clave de registro que no existe), etc.

PhiLho ha mencionado AutoRuns de pasada, pero creo que merece elaboración.

No escanea todo el registro, solo las partes que contienen referencias a cosas que se cargan automáticamente (EXEs, DLL, controladores, etc.) que es probablemente lo que le interesa. No rastrea los cambios pero puede exportar a un archivo de texto, para que pueda ejecutarlo antes y después de la instalación y hacer un diff .

Al usar una máquina virtual, uso estos pasos para inspeccionar los cambios en el registro:

  1. Utilizando 7-Zip, abra el archivo vdi / vhd / vmdk y extraiga la carpeta C: \ Windows \ System32 \ config
  2. Ejecute OfflineRegistryView para convertir el registro a texto simple
    • Establezca la 'Carpeta de configuración' en la carpeta que extrajo
    • Establezca la 'Clave base' en HKLM \ SYSTEM o HKLM\SOFTWARE
    • Establezca 'Subkey Depth' en 'Unlimited'
    • Presiona el botón 'Ir'

Ahora usa tu programa de diferencias favorito para comparar las instantáneas 'antes' y 'después'.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top