web-dev-qa-db-ja.com

レジストリの内容にインデックスを付けてすばやく検索できるソフトウェアはありますか?

Windowsレジストリでの検索は、ve ------ ry ------ lo ---- ngである可能性があります。

レジストリ全体のコンテンツ、または単一のハイブのコンテンツをインデックスして、高速ルックアップを利用できるツールはありますか? (たとえば、全文検索が有効になっているFTS3またはFTS4を使用してSQLiteデータベースを生成する)

ありがとうございました。

PS。毎回新しい線形検索を実行するRegScannerやツールは必要ありません。 インデクサーが必要です。これを使用すると、検索を瞬時に行うことができます。質問のコメントを参照してください。

16
Benoit

前書き

レジストリにインデックスを付けるアプリケーションと、このインデックスを検索する別のアプリケーションを作成しました。

これにより、入力中にほぼ瞬時の結果になります。これにより、いくつかのものをすばやく検索できます。

このビデオデモを参照 は、結果の速さ、3つの異なる検索、2つのレジストリジャンプを示しています。

インデックス

enter image description here

インデックス作成の目的で、私は Lucene.net を使用していますが、それは おなじみの音 ですか?

これにより、SQLデータベースを使用せずに、レジストリから直接データにインデックスを付けることができます。さらに、Lucene.netには、便利なインデックスオプションと検索関連機能が多数あります。

このインデックスは%LOCALAPPDATA%\RegistryIndexに保存され、サイズは約160MBです。

アプリケーション1:RegistryIndex.exe

これにより、レジストリ全体が上記のインデックスフォルダにダンプされます。
HKEY_CLASSES_ROOTHKEY_CURRENT_USERはショートカットハイブであるため、インデックスが作成されないことに注意してください。

それがなくても機能しますが、自動的に管理者として実行するように構成することもできます

アプリケーションが完了を示したら、ウィンドウを閉じることができ、インデックスが作成されます。

アプリケーション2:RegistrySearch.exe

これは単純です。上のテキストボックスに検索するものを入力すると、結果が表示されます。

構文が正しくないとと入力すると、黄色のテキストボックスが表示され、下部のステータスバーにエラーが表示されます。

ワイルドカードやブール演算などの特別な検索機能がサポートされています。詳細については、 クエリ構文 を参照してください。現在の設定ではフィールドの指定は機能しないことに注意してください。システムはトークン化されたパスと値の連結で検索します。したがって、値D EFのA\B\CはAB C D EFになります。

正確なパスを検索する例:"HKEY_LOCAL_MACHINE SOFTWARE"

検索は1000件に制限されています。

エントリをダブルクリックしてレジストリ内のエントリにジャンプします。これには、SysInternalsのregjump.exeが使用されます。
ジャンプを機能させるには、管理者として検索プログラムを実行する必要があります。初めてEULAに同意します。

将来の機能

現在のバージョンをテクニカルプレビューとして参照してください。機能しますが、リファクタリングとメイクアップを使用できます。

  • アプリケーションのアイコンとバージョン
  • 構成
  • 結果の強調表示
  • インストーラーパッケージ
  • サービスの監視(フックを使用してレジストリの変更を追跡し、インデックスを更新します)

変更点

  • 21/03:%LOCALAPPDATA%に保存し、Administrators権限を要求します。

ダウンロード

ダウンロードするにはここをクリック 、すべてのファイルを希望の場所に解凍し、RegistryIndex /Search.exeへのショートカットを作成します。

ソース

難読化されていないため、ILを検査するには、必要に応じてReflectorを使用できます。

もう少し多くの機能でリファクタリングされたときにソースをリリースするかもしれません。おそらくCodePlexに置くことができます。

11
Tamara Wijsman

NirSoftのRegScanner を見てください。インデクサーではありませんが、RegEditを検索し、他の優れた機能の中でも特に、選択したヒットに対してRegEditを開きます。開発プロジェクトを開始する前に必ず試してください(プロジェクトを実行するためにプロジェクトを実行したい場合を除く)。実際にはそれ以上は必要ない場合があります。

3
JRobert

レジストリを.regテキストファイルにエクスポートし、お気に入りのエディタを使用して検索できます。

1
Malvineous