Die Suche in der Windows-Registrierung kann ve ------ ry ------ lo ---- ng sein.
Gibt es ein Tool, das den Inhalt der gesamten Registrierung oder den Inhalt einer einzelnen Struktur indizieren kann , sodass schnelle Suchvorgänge verfügbar sind? (Zum Beispiel SQLite-Datenbanken mit aktiviertem FTS3 oder FTS4 für die Volltextsuche generieren)
Vielen Dank.
PS. Ich möchte nicht, dass RegScanner oder Tools jedes Mal eine neue lineare Suche durchführen. Ich möchte einen Indexer , mit dem dann eine Suche sofort erfolgen kann. Siehe Fragenkommentare.
windows
windows-registry
speed
Benoit
quelle
quelle
ControlSet001
(oder vielleichtControlSet002
einen anderen), nichtCurrentControlSet
.CurrentControlSet
ist eigentlich ein Link zu diesen Schlüsseln, und es ist nicht möglich, den Link selbst mit den regulären .NET-Funktionen anzuzeigen . Sie benötigen eine FunktionNtOpenKey
, um den eigentlichen symbolischen Link anstelle des Ziels zu öffnen. Schauen Sie hier und hier vorbei .Antworten:
Einführung
Ich habe eine Anwendung geschrieben, die die Registrierung indiziert, und eine andere Anwendung, die diesen Index durchsucht.
Dies führt zu nahezu sofortigen Ergebnissen, während Sie tippen. Auf diese Weise können Sie schnell nach mehreren Dingen suchen.
Sehen Sie sich diese Videodemonstration an , die zeigt, wie schnell die Ergebnisse sind, drei verschiedene Suchvorgänge und zwei Registrierungssprünge.
Der Index
Zum Indizieren benutze ich Lucene.net , kommt mir das nicht bekannt vor ?
Auf diese Weise kann ich Daten direkt aus der Registrierung indizieren, ohne eine SQL-Datenbank zum Speichern der Daten zu verwenden. Darüber hinaus bietet Lucene.net zahlreiche Indizierungsoptionen und Suchfunktionen, die sich als nützlich erweisen.
Dieser Index wird in gespeichert
%LOCALAPPDATA%\RegistryIndex
und hat eine Größe von ca. 160 MB.Anwendung 1: RegistryIndex.exe
Dies wird die gesamte Registrierung zu den oben genannten Index Ordnern Dump,
bitte beachten Sie, dass
HKEY_CLASSES_ROOT
undHKEY_CURRENT_USER
Verknüpfung Nesselsucht ist und somit nicht indiziert.Obwohl es funktioniert, ohne dass Sie es möglicherweise so konfigurieren möchten, dass es automatisch als Administrator ausgeführt wird .
Sobald die Anwendung dies anzeigt, können Sie das Fenster schließen und der Index wurde erstellt.
Anwendung 2: RegistrySearch.exe
Diese ist einfach, geben Sie etwas zum Suchen in das Textfeld oben ein und die Ergebnisse fließen ein.
Die Eingabe einer falschen Syntax führt zu einem gelben Textfeld und dem Fehler in der Statusleiste unten.
Spezielle Suchfunktionen wie Platzhalter- und Boolesche Operationen werden unterstützt. Weitere Informationen finden Sie unter Abfragesyntax . Bitte beachten Sie, dass die Angabe von Feldern in der aktuellen Einstellung nicht funktioniert. Das System sucht in einer Verkettung von Pfad und Wert mit Token. Also wird A \ B \ C mit dem Wert DEF zu ABCDE F.
Beispiel für die Suche nach einem genauen Pfad:
"HKEY_LOCAL_MACHINE SOFTWARE"
Die Suche ist auf 1000 Treffer begrenzt.
Doppelklicken Sie auf einen Eintrag, um zu ihm in der Registrierung zu springen. Dies verwendet regjump.exe von SysInternals.
Sie müssen das Suchprogramm als Administrator ausführen, damit der Sprung funktioniert. Akzeptieren Sie EULA zum ersten Mal.
Zukünftige Funktionen
Sehen Sie sich die aktuelle Version als technische Vorschau an. Sie funktioniert, könnte aber überarbeitet und neu gestaltet werden.
Änderungen
%LOCALAPPDATA%
, bitte umAdministrators
Erlaubnis.Herunterladen
Klicken Sie hier zum Herunterladen , Entpacken aller Dateien an einen bevorzugten Speicherort und Erstellen von Verknüpfungen zu RegistryIndex / Search.exe.
Quelle
Es ist nicht verschleiert, so dass Sie zur Inspektion der IL Reflector verwenden können, wenn Sie möchten.
Ich kann den Quellcode veröffentlichen, wenn er mit etwas mehr Funktionen überarbeitet wurde. Vielleicht kann ich ihn auf CodePlex setzen.
quelle
new System.Security.Principal.SecurityIdentifier(WellKnownSidType.BuiltinAdministratorsSid, null).Translate(typeof(System.Security.Principal.NTAccount)).ToString().Split('\\').Last()
, um den Gruppennamen zu erhalten.Schauen Sie sich den RegScanner von NirSoft an . Kein Indexer, aber es führt dazu, dass RegEdit nicht durchsucht wird, und es öffnet RegEdit für Sie unter anderem für einen ausgewählten Treffer. Probieren Sie es auf jeden Fall aus, bevor Sie ein Entwicklungsprojekt starten (es sei denn, Sie möchten das Projekt zu diesem Zweck ausführen). Möglicherweise benötigen Sie nicht wirklich mehr.
quelle
Sie können die Registrierung in eine .reg-Textdatei exportieren und mit Ihrem bevorzugten Editor durchsuchen.
quelle