Pergunta

Existe uma maneira de acompanhar as mudanças no registro do Windows? Eu gostaria de ver o que muda no registro são feitas durante a instalação de vários programas.

Foi útil?

Solução

Pode monitorar Registro alterações feitas pelo programa específico.

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

UPDATE: download apenas NirLauncher (que inclui todas as aplicações de NirSoft). É uma das melhores adições à sua caixa de ferramentas do Windows. http://launcher.nirsoft.net/

Outras dicas

Process Monitor permite monitorar arquivos e actividade de registo de vários processos.

Em relação WMI e do registro:

Existem três classes de eventos WMI a respeito do registro:

  • RegistryTreeChangeEvent
  • RegistryKeyChangeEvent
  • RegistryValueChangeEvent

Classes Registro de Eventos

Mas você precisa estar ciente dessas limitações:

  • Com RegistryTreeChangeEvent e RegistryKeyChangeEvent não há nenhuma maneira de dizer diretamente que valores ou chaves realmente mudou. Para fazer isso, você precisaria para salvar o estado de registo antes do evento e compará-lo ao estado após o evento.

  • Você não pode usar essas classes com HKEY_CLASSES_ROOT ou HKEY_CURRENT_USER urticária. Você pode superar isso criando uma classe WMI para representar a chave de registro para o monitor:

definindo uma classe Registry Com Qualifiers

e usá-lo com __InstanceOperationEvent derivado classes.

Então, usando WMI para monitorar o registro é possível, mas menos do que perfeito. A vantagem é que é possível monitorar as mudanças em 'tempo real'. Outra vantagem pode ser WMI inscrição de evento permanente:

receber eventos em todos os momentos

um método para monitorar o Registro 'em todos os momentos', ou seja. evento se sua aplicação não está em execução.

Uma maneira simples de fazer isso sem ferramentas extras é exportar o registro para um arquivo de texto antes da instalação, em seguida, exportá-lo para outro arquivo depois. Em seguida, compare os dois arquivos.

Dito isto, as ferramentas Sysinternals são ótimos para isso.

Regshot merece uma menção aqui. Faz a varredura e leva um instantâneo de todas as configurações do registro, em seguida, executá-lo novamente em um momento posterior para comparar com o instantâneo original, e mostra-lhe todas as chaves e valores que foram alterados.

Há uma python-hids chamado sobek ( http://code.google.com/ p / sobek-hids / ) que é capaz de controlar algumas partes do SO. É bom trabalhar para o meu para monitorar as alterações no arquivo e, embora os sais doc que é capaz de monitorar registro muda ele não funciona para mim.

bom pedaço de software para facilmente deplay hids base um python.

Existem algumas maneiras diferentes. Se você quiser fazê-lo sozinho na mosca WMI é provavelmente o caminho a percorrer. RegistryKeyChangeEvent e seus parentes são os únicos a olhar. Pode haver uma maneira de controlá-lo através de aulas __InstanceCreationEvent, __InstanceDeletionEvent e __InstanceModificationEvent também.

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

Concordo com Franci, todos os utilitários Sysinternals valem a pena dar uma olhada (Autoruns é uma obrigação também), e Process Monitor, que substitui o bom e velho Filemon e Regmon é precioso.

Além do uso que você quer, ele é muito útil para ver por que um processo falha (como tentar acessar um arquivo ou uma chave do registro que não existe), etc.

PhiLho mencionou AutoRuns de passagem, mas eu acho que merece elaboração.

Não varrer todo o registro, apenas as partes que contêm referências a coisas que são carregados automaticamente (EXEs, DLLs, drivers etc.), que é provavelmente o que você está interessado. Ele não acompanhar as mudanças, mas pode exportar para um arquivo de texto, para que você possa executá-lo antes e depois da instalação e fazer um diff .

Ao usar uma VM, eu uso essas etapas para inspecionar alterações no registro:

  1. Usando o 7-Zip, abrir o arquivo / VDI VHD / VMDK e extrair a pasta C: \ Windows \ System32 \ config
  2. OfflineRegistryView para converter o registro para texto simples
    • Defina a 'Pasta Config' para a pasta você extraiu
    • Defina o 'Base Key' para HKLM\SYSTEM ou HKLM\SOFTWARE
    • Definir a 'profundidade Subkey' para 'Unlimited'
    • Pressione o botão 'Go'

Agora use o seu programa diff favorito para comparar o 'antes' e 'depois' instantâneos.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top