Domanda

Esiste un modo per tenere traccia delle modifiche nel registro di Windows? Mi piacerebbe vedere quali modifiche vengono apportate al registro durante l'installazione di vari programmi.

È stato utile?

Soluzione

Può monitorare le modifiche al registro effettuate da un programma specifico.

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

AGGIORNAMENTO: basta scaricare NirLauncher (che include tutte le applicazioni da NirSoft). È una delle migliori aggiunte alla tua cassetta degli attrezzi di Windows. http://launcher.nirsoft.net/

Altri suggerimenti

Process Monitor consente di monitorare l'attività dei file e del registro di vari processi.

Per quanto riguarda WMI e registro:

Esistono tre classi di eventi WMI relative al registro:

  • RegistryTreeChangeEvent
  • RegistryKeyChangeEvent
  • RegistryValueChangeEvent

Classi di eventi del registro

Ma devi essere consapevole di queste limitazioni:

  • Con RegistryTreeChangeEvent e RegistryKeyChangeEvent non c'è modo di dire direttamente quali valori o chiavi sono stati effettivamente modificati. Per fare ciò, è necessario salvare lo stato del registro prima dell'evento e confrontarlo con lo stato dopo l'evento.

  • Non puoi usare queste classi con hive HKEY_CLASSES_ROOT o HKEY_CURRENT_USER. È possibile superare ciò creando una classe WMI per rappresentare la chiave di registro da monitorare:

Definizione di una classe di registro con qualificatori

e utilizzalo con le classi derivate __InstanceOperationEvent.

Quindi è possibile utilizzare WMI per monitorare il registro, ma meno che perfetto. Il vantaggio è che è possibile monitorare le modifiche in "tempo reale". Un altro vantaggio potrebbe essere l'abbonamento permanente agli eventi WMI:

Ricezione di eventi in qualsiasi momento

un metodo per monitorare il Registro "in ogni momento", vale a dire. evento se l'applicazione non è in esecuzione.

Un modo semplice per farlo senza strumenti extra è esportare il registro in un file di testo prima dell'installazione, quindi esportarlo in un altro file dopo. Quindi, confronta i due file.

Detto questo, gli strumenti Sysinternals sono fantastici per questo.

Regshot merita di essere menzionato qui. Esegue la scansione e acquisisce un'istantanea di tutte le impostazioni del registro, quindi la esegui nuovamente in un secondo momento per confrontarla con l'istantanea originale e ti mostra tutte le chiavi e i valori che sono stati modificati.

Esiste un hids in pitone chiamato sobek ( http://code.google.com/ p / sobek-hids / ) in grado di monitorare alcune parti della SO. Funziona bene per il mio per il monitoraggio delle modifiche ai file, e sebbene il documento dica che è in grado di monitorare le modifiche del registro, non funziona per me.

Un buon software per distribuire facilmente un nascondiglio basato su Python.

Esistono diversi modi. Se vuoi farlo da solo al volo WMI è probabilmente la strada da percorrere. RegistryKeyChangeEvent e i suoi parenti sono quelli da guardare. Potrebbe esserci un modo per monitorarlo anche attraverso le classi __InstanceCreationEvent , __InstanceDeletionEvent e __InstanceModificationEvent .

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

Concordo con Franci, vale la pena dare un'occhiata a tutte le utility Sysinternals (anche gli Autoruns sono un must) e Process Monitor, che sostituisce il buon vecchio Filemon e Regmon è prezioso.

Oltre all'uso desiderato, è molto utile capire perché un processo non riesce (come tentare di accedere a un file o una chiave di registro che non esiste), ecc.

PhiLho ha menzionato AutoRuns di passaggio, ma penso che merita elaborazione.

Non esegue la scansione dell'intero registro, ma solo le parti che contengono riferimenti a cose che vengono caricate automaticamente (EXE, DLL, driver ecc.) che è probabilmente ciò che ti interessa. Non tiene traccia delle modifiche ma può esportare su un file di testo, in modo da poterlo eseguire prima e dopo l'installazione e fare un diff .

Quando utilizzo una VM, utilizzo questi passaggi per ispezionare le modifiche al registro:

  1. Utilizzando 7-Zip, aprire il file vdi / vhd / vmdk ed estrarre la cartella C: \ Windows \ System32 \ config
  2. Esegui OfflineRegistryView per convertire il registro in testo semplice
    • Imposta la 'Cartella di configurazione' sulla cartella che hai estratto
    • Imposta la 'Chiave di base' su HKLM \ SYSTEM o HKLM\SOFTWARE
    • Imposta 'Profondità sottochiave' su 'Illimitato'
    • Premi il pulsante 'Vai'

Ora usa il tuo programma diff preferito per confrontare le istantanee 'prima' e 'dopo'.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top