Existe um software que pode indexar o conteúdo do registro para pesquisas rápidas? [fechadas]


16

A pesquisa no registro do Windows pode ser feita ------ ry ------ lo ---- ng.

Existe alguma ferramenta disponível que pode indexar o conteúdo de todo o registro ou o conteúdo de uma única seção, de modo que pesquisas rápidas estejam disponíveis? (por exemplo, gerar algum banco de dados SQLite com o FTS3 ou FTS4 ativado para pesquisa de texto completo)

Obrigado.

PS. Não quero o RegScanner ou ferramentas que executam uma nova pesquisa linear todas as vezes. Eu quero um indexador , com o qual uma pesquisa pode ser instantânea. Veja os comentários da pergunta.




2
@Benoit: Isso me incomoda muito, vou tentar escrever essa aplicação hoje.
Tamara Wijsman

11
@ TomWij: Será comercial? Código aberto? Eu poderia testar beta por favor :-)? Este é um ótimo projeto, e eu o apoio.
Benoit

11
@ TomWij: Não sei ao certo o que você quis dizer com "funciona bem", mas observe que você realmente abriu a chave ControlSet001(ou talvez ControlSet002ou alguma outra), não CurrentControlSet . CurrentControlSeté realmente um link para essas chaves e não é possível visualizar o próprio link usando as funções regulares do .NET; você precisa de uma função como NtOpenKeyabrir o link simbólico real em vez do destino. Dê uma olhada aqui e aqui .
Mehrdad 21/03

Respostas:


11

Introdução

Eu escrevi um aplicativo que indexa o registro e outro aplicativo que pesquisa esse índice.

Isso resulta em resultados quase instantâneos enquanto você digita, permitindo pesquisar rapidamente várias coisas.

Veja esta demonstração em vídeo , mostra a rapidez com que os resultados são, três pesquisas diferentes e dois saltos no registro.

O índice

insira a descrição da imagem aqui

Para fins de indexação, estou usando o Lucene.net , isso não soa familiar ?

Isso me permite indexar dados diretamente do registro, sem usar um banco de dados SQL para armazenar os dados. Além disso, o Lucene.net tem muitas opções de indexação e recursos relacionados à pesquisa que são úteis!

Este índice será armazenado %LOCALAPPDATA%\RegistryIndexe tem um tamanho de cerca de 160 MB.

Aplicativo 1: RegistryIndex.exe

Isso irá despejar todo o Registro para a pasta índice acima mencionado,
por favor note que HKEY_CLASSES_ROOTe HKEY_CURRENT_USERsão urticária atalho e, portanto, não indexados.

Embora funcione sem você, você pode querer configurá-lo para executar automaticamente como administrador .

Depois que o aplicativo mostra que está pronto, você pode fechar a janela e, assim, o índice foi criado.

Aplicativo 2: RegistrySearch.exe

Este é simples, digite algo para pesquisar na caixa de texto acima e os resultados aparecerão.

Digitar sintaxe incorreta resultará em uma caixa de texto amarela e no erro na barra de status na parte inferior.

Recursos especiais de pesquisa, como operações curinga e booleanas, são suportados; consulte Sintaxe de consulta para obter mais informações. Observe que especificar campos não funcionará na configuração atual; o sistema procura uma concatenação de caminho e valor tokenizados. Então A \ B \ C com o valor DEF se torna ABCDE F.

Exemplo de pesquisa de um caminho exato: "HKEY_LOCAL_MACHINE SOFTWARE"

A pesquisa é limitada a 1000 resultados.

Clique duas vezes em uma entrada para ir para ela no registro, usando o regjump.exe da SysInternals.
Você precisa executar o programa de pesquisa como administrador para que o salto funcione, aceite o EULA pela primeira vez.

Recursos futuros

Veja a versão atual como uma Visualização técnica, ela funciona, mas pode usar refatoração e maquiagem.

  • Ícone e versão do aplicativo
  • Configuração
  • Resultados destacados
  • Pacote instalador
  • Monitorar o serviço (rastreia as alterações do registro usando um gancho e atualiza o índice)

Alterar

  • 21/03: Agora armazena %LOCALAPPDATA%, pede Administratorspermissão.

Baixar

Clique aqui para baixar , descompacte todos os arquivos em um local preferido, crie atalhos para o RegistryIndex / Search.exe.

Fonte

Não é ofuscado, portanto, para inspecionar a IL, você pode usar o Reflector, se desejar.

Posso liberar a fonte quando ela é refatorada com um pouco mais de recursos, talvez eu possa colocá-la no CodePlex.


2
Seria melhor se seu aplicativo usasse% LOCALAPPDATA% e não% APPDATA%.
21711 Edusysadmin

11
@edusysadmin: ajustado, agora salva em% LOCALAPPDATA% e solicita permissões de administrador.
Tamara Wijsman 21/03

11
Obrigado. Fiz o download do pacote, usando o Windows Vista no idioma francês e até executando o RegistryIndex.exe porque o administrador falha. (Continua dizendo "por favor, corra como administrador"). Você tem uma idéia de por que isso pode falhar?
Benoit

@ Benoit: estou usando o código do site da Microsoft para a parte do administrador, mas parece ser um código não internacional. Todos os outros códigos pesquisam coisas internacionalmente. O problema é que ele procura o grupo "Administradores" para procurar as permissões, pois esse grupo é chamado diferente no seu computador e, portanto, falha. Isso foi resolvido agora usando new System.Security.Principal.SecurityIdentifier(WellKnownSidType.BuiltinAdministratorsSid, null).Translate(typeof(System.Security.Principal.NTAccount)).ToString().Split('\\').Last()para obter o nome do grupo.
Tamara Wijsman 21/03

11
Olá, o projeto ainda está vivo? Estou fazendo muita engenharia reversa da última vez e isso pode ser muito útil. Algum novo link?
Dmitry Gusarov 06/06/19

3

Veja o RegScanner da NirSoft . Não é um indexador, mas procura o RegEdit e ele abre o RegEdit para um hit selecionado, entre outros recursos interessantes. Definitivamente, tente antes de iniciar um projeto de desenvolvimento (a menos que você queira fazer o projeto apenas para fazê-lo) - você pode achar que realmente não precisa de mais.


Como já foi dito em um comentário: é uma boa ferramenta, mas não indexa nada.
Benoit

E como eu também disse. Mas sua pergunta, na primeira frase, aborda a velocidade lenta do RegEdit, não sua técnica, e, como tal, o RegScanner trata isso muito bem. Deixarei a sugestão para quem possa ajudar no futuro.
precisa saber é o seguinte

Ferramenta muito boa! +1
Piotr Dobrogost 01/09/11

1

Você pode exportar o registro para um arquivo de texto .reg e usar seu editor favorito para pesquisá-lo.


Esta é realmente uma boa idéia, mas provavelmente abaixo do ideal, porque não há indexação.
Benoit

Observe que, é claro, inserir todos os arquivos reg de alguma forma no SQLite com o FTS3 ou o FTS4 ativado provavelmente é uma maneira de fazê-lo.
Benoit

@ Benoit: Na verdade, comecei apenas enumerando todo o registro em um arquivo de texto sem formatação e pesquisando com o Notepad ++ na verdade é rápido por si só. Estou usando o Lucene.Net para fazer a indexação, pois ele é especialmente escrito para essa tarefa e não requer a criação de uma solução SQL, ele também oferece suporte a recursos de destaque (que é destinado aos mecanismos de pesquisa. O SE usa o Lucene.net para o mecanismo de pesquisa aqui) que tentarei incluir, talvez em uma versão posterior. Eu acho que a indexação / STF resulta em resultados de busca enquanto você digita , mas não tentei ainda ...
Tamara Wijsman
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.