Est-il possible de suivre les modifications dans le registre Windows? J'aimerais voir quels changements sont apportés au registre lors de l'installation de divers programmes.
Peut surveiller les modifications de registre effectuées par un programme spécifique.
http://www.nirsoft.net/utils/reg_file_from_application.html
MISE À JOUR: Il suffit de télécharger NirLauncher (qui inclut toutes les applications de NirSoft). C’est l’un des meilleurs ajouts à votre boîte à outils Windows . http://launcher.nirsoft.net/
Process Monitor vous permet de surveiller l’activité des fichiers et du registre de divers processus.
En ce qui concerne WMI et le registre:
Il existe trois classes d'événements WMI concernant le registre:
Classes d'événements du registre
Mais vous devez être conscient de ces limitations:
Avec RegistryTreeChangeEvent et RegistryKeyChangeEvent, il n’existe aucun moyen de déterminer directement les valeurs ou les clés réellement modifiées. Pour ce faire, vous devez enregistrer l'état du registre avant l'événement et le comparer à l'état suivant l'événement.
Vous ne pouvez pas utiliser ces classes avec les ruches HKEY_CLASSES_ROOT ou HKEY_CURRENT_USER. Vous pouvez résoudre ce problème en créant une classe WMI représentant la clé de registre à surveiller:
Définition d'une classe de registre avec des qualificateurs
et l'utiliser avec les classes dérivées __InstanceOperationEvent.
Donc, utiliser WMI pour surveiller le registre est possible, mais moins que parfait. L'avantage est qu'il est possible de surveiller les changements en «temps réel». Un autre avantage pourrait être l’abonnement permanent aux événements WMI:
Réception des événements à tout moment
une méthode pour surveiller le registre «à tout moment», c.-à-d. événement si votre application n'est pas en cours d'exécution.
Un moyen simple de le faire sans outils supplémentaires est d'exporter le registre dans un fichier texte avant l'installation, puis de l'exporter dans un autre fichier. Ensuite, comparez les deux fichiers.
Cela dit, les outils Sysinternals sont parfaits pour cela.
Il existe un python-hids appelé sobek ( http://code.google.com/p/sobek-hids/ ) capable de surveiller certaines parties du responsable de la sécurité. Cela fonctionne bien pour mon suivi des modifications de fichiers, et bien que le doc dit qu'il est capable de surveiller les changements de registre, il ne fonctionne pas pour moi.
Bon logiciel pour jouer facilement un cache basé sur Python.
Regshot mérite une mention ici. Il analyse et prend un instantané de tous les paramètres de registre, puis vous l'exécutez à nouveau ultérieurement pour le comparer à l'instantané d'origine. Il vous montre toutes les clés et valeurs qui ont été modifiées.
Il y a plusieurs façons. Si vous voulez le faire vous-même à la volée, WMI est probablement la voie à suivre. RegistryKeyChangeEvent
et ses proches sont ceux à regarder. Il existe peut-être un moyen de le contrôler également via les classes __InstanceCreationEvent
, __InstanceDeletionEvent
et __InstanceModificationEvent
.
http://msdn.Microsoft.com/en-us/library/aa393040(VS.85).aspx
Je suis d’accord avec Franci, tous les utilitaires Sysinternals valent la peine d’être examinés (Autoruns est également indispensable) et Process Monitor, qui remplace le bon vieux Filemon et Regmon, est précieux.
En plus de l'utilisation que vous souhaitez, il est très utile de voir pourquoi un processus échoue (comme tenter d'accéder à un fichier ou à une clé de registre inexistante), etc.
PhiLho a mentionné AutoRuns en passant, mais je pense que cela mérite d’être précisé.
Il n’analyse pas l’ensemble du registre, mais uniquement les parties contenant des références à des éléments à charger automatiquement (fichiers EXE, DLL, pilotes, etc.), ce qui est probablement ce qui vous intéresse. fichier, vous pouvez donc l’exécuter avant et après l’installation et faire un diff .