Wyszukiwanie w rejestrze systemu Windows może być ve ------ ry ------ lo ---- ng.
Czy jest dostępne jakieś narzędzie, które może indeksować zawartość całego rejestru lub zawartości pojedynczego gałęzi, dzięki czemu dostępne są szybkie wyszukiwania? (na przykład generowanie bazy danych SQLite z włączonym FTS3 lub FTS4 do wyszukiwania pełnotekstowego)
Dziękuję Ci.
PS. Nie chcę RegScanner ani narzędzi, które za każdym razem wykonują nowe, liniowe wyszukiwanie. Chcę indeksatora , dzięki któremu wyszukiwanie może być natychmiastowe. Zobacz komentarze do pytania.
windows
windows-registry
speed
Benoit
źródło
źródło
ControlSet001
(a możeControlSet002
lub inny), nieCurrentControlSet
.CurrentControlSet
jest rzeczywiście związek z tymi kluczami, a to nie jest możliwe, aby zobaczyć link samo przy użyciu zwykłych funkcji .NET; potrzebujesz funkcji takiej jakNtOpenKey
otwarcie rzeczywistego dowiązania symbolicznego zamiast celu. Spójrz tutaj i tutaj .Odpowiedzi:
Wprowadzenie
Napisałem aplikację, która indeksuje rejestr oraz inną aplikację, która przeszukuje ten indeks.
Daje to prawie natychmiastowe wyniki podczas pisania, pozwala to na szybkie wyszukiwanie kilku rzeczy.
Zobacz prezentację wideo , pokazuje, jak szybkie są wyniki, trzy różne wyszukiwania i dwa skoki rejestru.
Indeks
Do celów indeksowania używam Lucene.net , czy to nie brzmi znajomo ?
Pozwala mi to na indeksowanie danych bezpośrednio z rejestru, bez użycia bazy danych SQL do przechowywania danych. Ponadto, Lucene.net ma wiele opcji indeksowania i funkcji wyszukiwania, które są przydatne!
Ten indeks będzie przechowywany w
%LOCALAPPDATA%\RegistryIndex
rozmiarze około 160 MB.Aplikacja 1: RegistryIndex.exe
Będzie to zrzucić cały rejestru do folderu indeksu wspomniano powyżej,
należy pamiętać, że
HKEY_CLASSES_ROOT
iHKEY_CURRENT_USER
są ule skrótów, a tym samym nie indeksowane.Chociaż działa bez ciebie, możesz chcieć skonfigurować go tak, aby automatycznie działał jako administrator .
Gdy aplikacja pokaże, że jest to zrobione, możesz zamknąć okno i w ten sposób utworzono indeks.
Aplikacja 2: RegistrySearch.exe
Ten jest prosty, wpisz coś do wyszukiwania w polu tekstowym powyżej, a wyniki pojawią się.
Wpisanie niepoprawnej składni spowoduje żółte pole tekstowe i błąd na pasku stanu na dole.
Obsługiwane są specjalne funkcje wyszukiwania, takie jak operacje na znakach wieloznacznych i operacje logiczne, zobacz Składnia zapytania, aby uzyskać więcej informacji. Należy pamiętać, że określenie pól nie będzie działać w bieżącym ustawieniu, system wyszuka konkatenację tokenizowanej ścieżki i wartości. Zatem A \ B \ C o wartości DEF staje się ABCDE F.
Przykład wyszukiwania dokładnej ścieżki:
"HKEY_LOCAL_MACHINE SOFTWARE"
Wyszukiwanie jest ograniczone do 1000 wyników.
Kliknij dwukrotnie wpis, aby przejść do niego w rejestrze, używa to regjump.exe z SysInternals .
Aby przejść do pracy, musisz uruchomić program wyszukiwania jako administrator , po raz pierwszy zaakceptuj umowę EULA.
Przyszłe funkcje
Zobacz bieżącą wersję jako podgląd techniczny, działa, ale może wymagać refaktoryzacji i makijażu.
Zmiany
%LOCALAPPDATA%
, prosi oAdministrators
pozwolenie.Pobieranie
Kliknij tutaj, aby pobrać , rozpakuj wszystkie pliki do preferowanej lokalizacji, utwórz skróty do RegistryIndex / Search.exe.
Źródło
Nie jest zaciemniony, więc aby sprawdzić IL, możesz użyć Odbłyśnika, jeśli chcesz.
Mogę zwolnić źródło, gdy zostanie zrefaktoryzowane z nieco większą liczbą funkcji, być może uda mi się umieścić go w CodePlex.
źródło
new System.Security.Principal.SecurityIdentifier(WellKnownSidType.BuiltinAdministratorsSid, null).Translate(typeof(System.Security.Principal.NTAccount)).ToString().Split('\\').Last()
aby uzyskać nazwę grupy.Spójrz na RegScanner NirSoft . Nie jest to indeksator, ale znacznie wyprzedza RegEdit i otworzy RegEdit dla wybranego hitu, między innymi fajnymi funkcjami. Zdecydowanie wypróbuj go przed rozpoczęciem projektu programistycznego (chyba że chcesz go wykonać w celu jego wykonania) - może się okazać, że tak naprawdę nie potrzebujesz więcej.
źródło
Możesz wyeksportować rejestr do pliku tekstowego .reg i przeszukać go za pomocą swojego ulubionego edytora.
źródło