Поиск в реестре Windows может быть ve ------ ry ------ lo ---- ng.
Существует ли какой-либо инструмент, который может индексировать содержимое всего реестра или содержимое одного улья, чтобы обеспечить быстрый поиск? (например, создание базы данных SQLite с включенным FTS3 или FTS4 для полнотекстового поиска)
Спасибо.
PS. Мне не нужны RegScanner или инструменты, которые каждый раз выполняют новый линейный поиск. Я хочу индексатор , с помощью которого тогда поиск может быть мгновенным. Смотрите комментарии к вопросу.
windows
windows-registry
speed
Benoit
источник
источник
ControlSet001
(или, может быть,ControlSet002
или какой-то другой), нетCurrentControlSet
.CurrentControlSet
на самом деле это ссылка на эти ключи, и невозможно просмотреть саму ссылку с помощью обычных функций .NET; вам нужна функция, например,NtOpenKey
чтобы открыть фактическую символическую ссылку вместо цели. Посмотрите здесь и здесь .Ответы:
Вступление
Я написал приложение, которое индексирует реестр, и другое приложение, которое ищет этот индекс.
Это приводит к почти мгновенным результатам во время ввода, это позволяет вам быстро искать несколько вещей.
Посмотрите эту демонстрацию видео , показывающую, насколько быстры результаты, три разных поиска и два перехода в реестр.
Индекс
Для целей индексации я использую Lucene.net , разве это не знакомо ?
Это позволяет мне индексировать данные прямо из реестра, не используя базу данных SQL для хранения данных. Кроме того, Lucene.net имеет множество опций индексирования и связанных с поиском функций, которые пригодятся!
Этот индекс будет храниться в
%LOCALAPPDATA%\RegistryIndex
и имеет размер около 160 МБ.Приложение 1: RegistryIndex.exe
Это позволит сбросить весь реестр указанной выше папку индекса,
пожалуйста , обратите внимание , что
HKEY_CLASSES_ROOT
иHKEY_CURRENT_USER
в сокращенных ульев и , следовательно , не индексируются.Хотя он работает без вас, вы можете настроить его на автоматический запуск от имени администратора .
Как только приложение покажет, что это сделано, вы можете закрыть окно и, таким образом, индекс был создан.
Приложение 2: RegistrySearch.exe
Этот простой, введите что-то для поиска в текстовое поле выше, и результаты будут поступать.
Ввод неправильного синтаксиса приведет к появлению желтого текстового поля и появлению ошибки в строке состояния внизу.
Поддерживаются специальные функции поиска, такие как подстановочные знаки и логические операции, см. Синтаксис запроса для получения дополнительной информации. Обратите внимание, что указанные поля не будут работать в текущей настройке, система выполняет поиск в конкатенации токенизированного пути и значения. Таким образом, A \ B \ C со значением DEF становится ABCDE F.
Пример поиска точного пути:
"HKEY_LOCAL_MACHINE SOFTWARE"
Поиск ограничен 1000 результатов.
Дважды щелкните запись, чтобы перейти к ней в реестре, для этого используется regjump.exe из SysInternals.
Вам нужно запустить программу поиска в качестве администратора, чтобы перейти к работе, примите EULA в первый раз.
Будущие особенности
Смотрите текущую версию в качестве Технического предварительного просмотра, она работает, но может использовать рефакторинг и верстку.
изменения
%LOCALAPPDATA%
, проситAdministrators
разрешения.Скачать
Нажмите здесь, чтобы скачать , разархивировать все файлы в нужное место, создать ярлыки для RegistryIndex / Search.exe.
Источник
Он не запутан, поэтому для проверки IL вы можете использовать Reflector, если хотите.
Я мог бы выпустить исходный код, когда он подвергнут рефакторингу с немного большим количеством функций, возможно, я смогу поместить его в CodePlex.
источник
new System.Security.Principal.SecurityIdentifier(WellKnownSidType.BuiltinAdministratorsSid, null).Translate(typeof(System.Security.Principal.NTAccount)).ToString().Split('\\').Last()
чтобы получить имя группы.Посмотрите на RegScanner от NirSoft . Не индексатор, а выход из режима поиска RegEdit, и он откроет RegEdit для вас для выбранного удара, среди других интересных функций. Обязательно попробуйте это, прежде чем начать проект разработки (если вы не хотите делать проект ради этого) - вы можете обнаружить, что вам больше не нужно.
источник
Вы можете экспортировать реестр в текстовый файл .reg и использовать ваш любимый редактор для его поиска.
источник