Encontrando recursos de redirecionamento de string localizados no Windows

0

Digamos que você queira descobrir onde no registro está um menu que aparece quando você clica com o botão direito do mouse em um item.

Usando o idioma inglês, por exemplo, "Abrir janela de comando aqui". Mas se a língua do seu sistema fosse o espanhol, você veria "Abrir uma mensagem de comando".

Agora você quer saber quais itens no registro estão associados a esta mensagem. Procurar no registro por qualquer uma dessas strings seria inútil, porque você deve procurar @shell32.dll,-8506 (no Windows 7, não sabe sobre outras versões). Você encontrará então vários itens no Windows Explorer que oferecem a opção de abrir uma janela de comando (drive, pasta, etc.).

Isso se chama "redirecionamento de string" e é útil para evitar a alteração de muitas entradas do registro quando você troca de idioma em um sistema.

Uma vez que eu disse a você o recurso de string "shell32.dll", você encontrou facilmente todos os lugares onde foi usado. Mas e se você conhece apenas sua string localizada? Existe uma maneira de descobrir como é referenciado no registro e aprender todas as associações de uma ação? Em nosso exemplo, digamos que você queira melhorar o menu da janela de comando e não queira deixar para trás nenhum dos menus.

(Este é apenas um exemplo porque neste caso em particular você procuraria por cmd.exe , mas você entendeu o ponto - as coisas podem ser muito mais complicadas envolvendo CLSIDs para que você simplesmente não saiba nada além da sequência de menus). / p>

Pode ser uma ferramenta para listar todos os recursos de string de um .dll? Embora existam muitas ferramentas para extrair todo o tipo de recursos de programas e bibliotecas, não encontrei nenhuma para gerar essa lista para que você possa pesquisá-la.

    
por cdlvcdlv 11.02.2018 / 13:16

1 resposta

1

A Microsoft usa a chamada tecnologia Multilingual User Interface para permitir que a interface do Windows seja exibida em diferentes idiomas. Basicamente, a tecnologia MUI usa recursos salvos em arquivos binários com extensão .mui . Por exemplo, shell32.dll cadeias localizadas em menus, diálogos, mensagens, etc.:

==> dir %systemroot%\system32\shell32.dll* /B /S
C:\WINDOWS\system32\shell32.dll
C:\WINDOWS\system32\cs-CZ\shell32.dll.mui
C:\WINDOWS\system32\en-GB\shell32.dll.mui
C:\WINDOWS\system32\sk-SK\shell32.dll.mui

Pode-se abrir um arquivo .mui usando, por exemplo,

por 06.05.2018 / 22:16