クイックルックアップのためにレジストリのコンテンツにインデックスを付けることができるソフトウェアはありますか?[閉まっている]


16

Windowsレジストリでの検索は、ve ------ ry ------ lo ---- ngです。

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

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

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




2
@Benoit:これは非常に面倒です。今日はそのようなアプリケーションを作成しようとしています。
タマラWijsman

1
@TomWij:商業化されますか?オープンソース?ベータテストをお願いします:-) これは素晴らしいプロジェクトであり、私はそれを支持します。
ブノワ

1
@TomWij:私はあなたが「それが正常に動作します」、しかし、あなたがしたことの通知で何を意味するのかわからないんだけど、実際にキー開かれたControlSet001(または多分ControlSet002またはいくつかの他のもの)を、ではありません CurrentControlSetCurrentControlSet実際にあるリンクこれらのキーには、それがリンクを表示することはできません自体は、通常の.NETの機能を使用して、NtOpenKeyターゲットの代わりに実際のシンボリックリンクを開くような関数が必要です。ここここをください
-Mehrdad

回答:


11

前書き

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

これにより、入力中にほぼ瞬時に結果が得られるため、いくつかの項目をすばやく検索できます。

このビデオデモを参照して、結果の速さ、3つの異なる検索、2つのレジストリジャンプをご覧ください

インデックス

ここに画像の説明を入力してください

目的のインデックスを作成するために、私が使用していますLucene.netを、そのしないお馴染みの音が

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

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

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

これは、上記のインデックスフォルダにレジストリ全体、ダンプする
ことにしてくださいには注意をHKEY_CLASSES_ROOTしてHKEY_CURRENT_USERショートカットじんましんであり、したがって、索引付けされません。

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

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

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

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

間違った構文を入力すると、黄色のテキストボックスが表示され、下部のステータスバーにエラーが表示されます。

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

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

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

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

今後の機能

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

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

変更点

  • 21/03:に格納され%LOCALAPPDATA%Administrators許可を求められます。

ダウンロード

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

ソース

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

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


2
アプリが%APPDATA%ではなく%LOCALAPPDATA%を使用している場合は改善されるでしょう。
-edusysadmin

1
@edusysadmin:調整済み。%LOCALAPPDATA%に保存し、管理者の許可を求めます。
タマラWijsman

1
ありがとうございました。フランス語版のWin Vistaを使用してパッケージをダウンロードし、管理者としてRegistryIndex.exeを実行しても失敗します。(「管理者として実行してください」と言い続けます)。これが失敗する理由をご存知ですか?
ブノワ

@Benoit:Microsoftサイトのコードを管理者の部分に使用していますが、それは非国際的なコードのようです。他のすべてのコードは、国際的に調べます。問題は、「Administrators」グループを検索してアクセス許可を探すことです。このグループはコンピューター上で異なると呼ばれるため、失敗します。これはnew System.Security.Principal.SecurityIdentifier(WellKnownSidType.BuiltinAdministratorsSid, null).Translate(typeof(System.Security.Principal.NTAccount)).ToString().Split('\\').Last()、グループ名を取得するために使用されるようになりました。
タマラWijsman

1
こんにちは、プロジェクトはまだ生きていますか?前回は多くのリバースエンジニアリングを行っていますが、これは非常に便利です。新しいリンクはありますか?
ドミトリーグサロフ

3

見てくださいNirSoftのRegScanner。インデクサーではありませんが、RegEditをアウトサーチすると、選択されたヒットに対してRegEditが開かれます。開発プロジェクトを開始する前に(プロジェクトを実行するためにプロジェクトを実行したい場合を除いて)間違いなく試してください-本当にそれ以上必要ないかもしれません。


コメントで既に述べたように、これは優れたツールですが、インデックスを作成しません。
ブノワ

そして私も言ったように。しかし、あなたの質問は、最初の文で、テクニックではなくRegEditの遅い速度を扱っているので、RegScannerはむしろそれをよく扱っています。将来役に立つ人には提案を任せます。
-Jロバート

とてもいいツールです!+1
ピョートルドブロゴスト

1

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


これは実際には良いアイデアですが、インデックス付けがないため、おそらく次善の策です。
ブノワ

もちろん、FTS3またはFTS4が有効になっているSQLiteに何らかの方法ですべてのregファイルを挿入することが、おそらくそれを行う方法であることに注意してください。
ブノワ

@Benoit:実際には、最初はレジストリ全体をプレーンテキストファイルに列挙することから始めましたが、Notepad ++での検索は実際には高速です。Lucene.Netを使用してインデックスを作成します。これは、そのタスク用に特別に記述されており、SQLソリューションの作成を必要とせず、強調表示機能もサポートしています(検索エンジン、btw、SEはLucene.netを使用しますここの検索エンジン用)、おそらく後のバージョンに含めようとします。私は、検索結果でそのインデックス/ FTS結果を推測し、あなたが入力している間 ...、まだ試していません
タマラWijsman
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.