¿Existe un software que pueda indexar el contenido del registro para búsquedas rápidas? [cerrado]

16

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.

Benoit
fuente
posible duplicado de la herramienta de búsqueda y reemplazo
Mehper C. Palavuzlar
Eche un vistazo aquí: majorgeeks.com/downloads15.html
bubu
2
@Benoit: Esto me molesta mucho, voy a tratar de escribir esa aplicación hoy.
Tamara Wijsman
1
@TomWij: ¿Será comercial? ¿Fuente abierta? ¿Podría hacer una prueba beta por favor :-)? Este es un gran proyecto, y lo respaldo.
Benoit
1
@TomWij: No estoy seguro de lo que quisiste decir con "funciona bien", pero ten en cuenta que realmente has abierto la llave ControlSet001(o tal vez ControlSet002o alguna otra), no CurrentControlSet . CurrentControlSeten realidad es un enlace a esas teclas, y no es posible ver el enlace en usando las funciones regulares de .NET; necesita una función como NtOpenKeyabrir el enlace simbólico real en lugar del objetivo. Echa un vistazo aquí y aquí .
user541686

Respuestas:

11

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

ingrese la descripción de la imagen aquí

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%\RegistryIndexy 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_ROOTy HKEY_CURRENT_USERson 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.

  • Ícono y versión de la aplicación
  • Configuración
  • Resultados destacados
  • Paquete del instalador
  • Servicio de supervisión (realiza un seguimiento de los cambios del registro mediante un enlace y actualiza el índice)

Cambios

  • 21/03: ahora se almacena en %LOCALAPPDATA%, pide Administratorspermiso.

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.

Tamara Wijsman
fuente
2
Sería mejor si su aplicación utilizara% LOCALAPPDATA% no% APPDATA%.
edusysadmin
1
@edusysadmin: ajustado, ahora se guarda en% LOCALAPPDATA% y solicita permisos de administrador.
Tamara Wijsman
1
Gracias. He descargado el paquete, usando Win Vista en idioma francés, e incluso ejecuto RegistryIndex.exe ya que el administrador falla. (Sigue diciendo "por favor, ejecute como administrador"). ¿Tienes una idea de por qué esto podría fallar?
Benoit
@Benoit: estoy usando código del sitio de Microsoft para la parte de administrador, pero parece ser un código no internacional. El resto del código busca cosas internacionales. El problema es que busca el grupo "Administradores" para buscar los permisos, ya que este grupo se llama diferente en su computadora, por lo tanto, falla. Esto se ha resuelto ahora usando new System.Security.Principal.SecurityIdentifier(WellKnownSidType.BuiltinAdministratorsSid, null).Translate(typeof(System.Security.Principal.NTAccount)).ToString().Split('\\').Last()para obtener el nombre del grupo.
Tamara Wijsman
1
Hola, ¿el proyecto sigue vivo? Estoy haciendo mucha ingeniería inversa la última vez y eso podría ser muy útil. Cualquier nuevo enlace?
Dmitry Gusarov
3

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.

JRobert
fuente
Como ya se dijo en un comentario: es una buena herramienta, pero no indexará nada.
Benoit
Y como también dije. Pero su pregunta, en la primera oración, aborda la velocidad lenta de RegEdit, no su técnica, y como tal, RegScanner aborda eso bastante bien. Dejaré la sugerencia a quien pueda ayudar en el futuro.
JRobert
Muy buena herramienta! +1
Piotr Dobrogost
1

Puede exportar el registro a un archivo de texto .reg y usar su editor favorito para buscarlo.

Malvinoso
fuente
Esta es realmente una buena idea, pero probablemente no es óptima porque no hay indexación.
Benoit
Tenga en cuenta que, por supuesto, insertar todo el archivo de registro de alguna manera en SQLite con FTS3 o FTS4 habilitado es probablemente una forma de hacerlo.
Benoit
@Benoit: En realidad, comencé con enumerar todo el registro en un archivo de texto sin formato al principio y buscar con Notepad ++ en realidad es rápido por sí mismo. Estoy usando Lucene.Net para hacer la indexación, ya que está especialmente escrito para esa tarea y no requiere que cree una solución SQL, también admite funciones de resaltado (está destinado a motores de búsqueda, por cierto, SE usa Lucene.net para el motor de búsqueda aquí) que trataré de incluir, tal vez en una versión posterior. Supongo que la indexación / FTS da como resultado resultados de búsqueda mientras escribes , pero aún no lo he probado ...
Tamara Wijsman