La búsqueda en el registro de Windows puede ser muy variada.
¿Hay alguna herramienta disponible que pueda indexar el contenido de todo el registro, o el contenido de una sola colmena, de modo que las búsquedas rápidas estén disponibles? (por ejemplo, generar alguna base de datos SQLite con FTS3 o FTS4 habilitado para la búsqueda de texto completo)
Gracias.
PD. No quiero RegScanner o herramientas que realicen una nueva búsqueda lineal cada vez. Quiero un indexador , con el cual una búsqueda puede ser instantánea. Ver los comentarios de las preguntas.
windows
windows-registry
speed
Benoit
fuente
fuente
ControlSet001
(o tal vezControlSet002
o alguna otra), noCurrentControlSet
.CurrentControlSet
en realidad es un enlace a esas teclas, y no es posible ver el enlace en sí usando las funciones regulares de .NET; necesita una función comoNtOpenKey
abrir el enlace simbólico real en lugar del objetivo. Echa un vistazo aquí y aquí .Respuestas:
Introducción
He escrito una aplicación que indexa el registro y otra aplicación que busca en este índice.
Esto produce resultados casi instantáneos mientras escribe, esto le permite buscar rápidamente varias cosas.
Vea este video de demostración , muestra cuán rápidos son los resultados, tres búsquedas diferentes y dos saltos de registro.
El índice
Para fines de indexación, estoy usando Lucene.net , ¿no te suena familiar ?
Esto me permite indexar datos directamente desde el registro, sin usar una base de datos SQL para almacenar los datos. Además, Lucene.net tiene muchas opciones de indexación y funciones relacionadas con la búsqueda que son útiles.
Este índice se almacenará
%LOCALAPPDATA%\RegistryIndex
y tiene un tamaño de alrededor de 160 MB.Aplicación 1: RegistryIndex.exe
Esto volcar todo el Registro de la carpeta de índice antes mencionado,
nota por favor que
HKEY_CLASSES_ROOT
yHKEY_CURRENT_USER
son colmenas de acceso directo y por ello no indexada.Aunque funciona sin que desee configurarlo para que se ejecute automáticamente como administrador .
Una vez que la aplicación muestra que está lista, puede cerrar la ventana y así se ha realizado el índice.
Aplicación 2: RegistrySearch.exe
Este es simple, escriba algo para buscar en el cuadro de texto anterior y los resultados fluirán.
Escribir una sintaxis incorrecta dará como resultado un cuadro de texto amarillo y el error en la barra de estado en la parte inferior.
Se admiten funciones de búsqueda especiales como comodines y operaciones booleanas; consulte Sintaxis de consulta para obtener más información. Tenga en cuenta que la especificación de campos no funcionará en la configuración actual, el sistema busca en una concatenación de ruta y valor tokenizados. Entonces A \ B \ C con valor DEF se convierte en ABCDE F.
Ejemplo de búsqueda de una ruta exacta:
"HKEY_LOCAL_MACHINE SOFTWARE"
La búsqueda está limitada a 1000 resultados.
Haga doble clic en una entrada para saltar a ella en el registro, esto usa regjump.exe de SysInternals.
Debe ejecutar el programa de búsqueda como administrador para el salto al trabajo, aceptar EULA la primera vez.
Características futuras
Vea la versión actual como una Vista previa técnica, funciona pero podría usar refactorización y maquillaje.
Cambios
%LOCALAPPDATA%
, pideAdministrators
permiso.Descargar
Haga clic aquí para descargar , descomprimir todos los archivos en una ubicación preferida, crear accesos directos a RegistryIndex / Search.exe.
Fuente
No está ofuscado, por lo que para inspeccionar el IL puede usar Reflector si lo desea.
Podría liberar la fuente cuando se refactorice con un poco más de características, tal vez pueda ponerla en CodePlex.
fuente
new System.Security.Principal.SecurityIdentifier(WellKnownSidType.BuiltinAdministratorsSid, null).Translate(typeof(System.Security.Principal.NTAccount)).ToString().Split('\\').Last()
para obtener el nombre del grupo.Mira el RegScanner de NirSoft . No es un indexador, pero supera a RegEdit y abrirá RegEdit para usted en un hit seleccionado, entre otras características interesantes. Definitivamente, pruébelo antes de comenzar un proyecto de desarrollo (a menos que quiera hacerlo por el simple hecho de hacerlo); es posible que realmente no necesite más.
fuente
Puede exportar el registro a un archivo de texto .reg y usar su editor favorito para buscarlo.
fuente