Windowsレジストリの変更を追跡する方法はありますか?さまざまなプログラムのインストール中にレジストリにどのような変更が加えられるかを確認したいと思います。
特定のプログラムによって行われたレジストリの変更を監視できます。
http://www.nirsoft.net/utils/reg_file_from_application.html
更新:NirLauncher(NirSoftのすべてのアプリケーションを含む)をダウンロードするだけです。これは、Windowsツールボックスへの最高の追加機能の1つです。 http://launcher.nirsoft.net/
プロセスモニター を使用すると、さまざまなプロセスのファイルおよびレジストリアクティビティを監視できます。
WMIとレジストリについて:
レジストリに関する3つのWMIイベントクラスがあります。
ただし、次の制限に注意する必要があります。
RegistryTreeChangeEventおよびRegistryKeyChangeEventを使用すると、どの値またはキーが実際に変更されたかを直接知る方法はありません。これを行うには、イベント前のレジストリ状態を保存し、イベント後の状態と比較する必要があります。
これらのクラスをHKEY_CLASSES_ROOTまたはHKEY_CURRENT_USERハイブと共に使用することはできません。これを克服するには、監視するレジストリキーを表すWMIクラスを作成します。
__InstanceOperationEvent派生クラスで使用します。
したがって、WMIを使用してレジストリを監視することは可能ですが、完璧ではありません。利点は、「リアルタイム」で変更を監視できることです。もう1つの利点は、WMIの永続的なイベントサブスクリプションです。
「常時」レジストリを監視する方法。アプリケーションが実行されていない場合のイベント。
追加のツールなしでこれを行う簡単な方法は、インストール前にレジストリをテキストファイルにエクスポートし、その後別のファイルにエクスポートすることです。次に、2つのファイルを比較します。
そうは言っても、Sysinternalsのツールはこれに最適です。
Regshot ここで言及するに値します。すべてのレジストリ設定のスナップショットをスキャンして取得し、後で再度実行して元のスナップショットと比較し、変更されたすべてのキーと値を表示します。
SOの一部を監視できるsobek( http://code.google.com/p/sobek-hids/ )というpython-hidsがあります。私はファイルの変更を監視するためにうまく機能していますが、ドキュメントによると、レジストリの変更を監視できると言っていますが、私にとっては機能しません。
pythonベースの非表示。
VMを使用する場合、以下の手順を使用してレジストリの変更を検査します。
HKLM\SYSTEM
またはHKLM\SOFTWARE
に設定します次に、お気に入りの差分プログラムを使用して、「前」と「後」のスナップショットを比較します。
いくつかの異なる方法があります。その場で自分でやりたい場合は、WMIを使用することをお勧めします。 RegistryKeyChangeEvent
とその親類が注目すべきものです。 __InstanceCreationEvent
、__InstanceDeletionEvent
、および__InstanceModificationEvent
クラスを介して監視する方法もあります。
http://msdn.Microsoft.com/en-us/library/aa393040(VS.85).aspx
私はFranciに同意します。すべてのSysinternalsユーティリティは一見の価値があり(オートランも必須です)、古き良きFilemonとRegmonを置き換えるProcess Monitorは貴重です。
必要な使用方法のほかに、プロセスが失敗する理由(存在しないファイルやレジストリキーにアクセスしようとするなど)を確認することは非常に便利です。