É possível fornecer o caminho completo para um executável em “Image Execution Options \ * \ Debugger”?

1

Image Execution Options ( HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options ) com uma chave com o nome do executável e uma cadeia ( REG_SZ ) valor é conhecido para ser um bom in-run se você precisar modificar o comportamento de um aplicativo a ser lançado.

No entanto, se eu tiver um nome muito comum para um executável, como launcher.exe , como posso ser um pouco mais específico? Posso em tudo?

Gostaria de ter certeza de que somente o binário em particular que tenho em mente será afetado, embora no meu caso de uso específico seja apenas um impacto moderado se não puder limitá-lo ao executável exato.

Eu gostaria de escrever um pequeno programa que, semelhante ao Process Explorer da Sysinternals, substitui o comportamento padrão para o meu launcher.exe específico, pois define a variável de ambiente semelhante a set __COMPAT_LAYER=RUNASINVOKER em um shell.

Agora eu sei escrever o wrapper e tudo, a questão principal é, se existe uma maneira de dizer no registro , usando alguma mágica abaixo de Image Execution Options , para limitar o escopo de o Debugger valor "hack" ou eu teria que filtrar isso no meu wrapper?

Relacionado com:

por 0xC0000022L 03.07.2014 / 00:45

2 respostas

3

A partir do Windows 7, existe uma maneira de limitar as Opções de Execução de Arquivos de Imagem ao caminho exato.

  1. Crie um dword com o nome "UseFilter" e um valor diferente de zero em ... \ Opções de Execução de Arquivo de Imagem \ nomedoarquivo.exe.
  2. Crie uma subchave com nome arbitrário, por exemplo ... \ Opções de Execução de Arquivos de Imagem \ nome_do_arquivo.exe \ MyFilter.
  3. Na subchave, crie uma string com o nome "FilterFullPath" e o caminho completo como um valor, por exemplo, "C: \ mypath \ nomedoarquivo.exe". Além disso, crie as opções que você precisa, "Debugger" no seu caso, lá.

Agora, quando o sistema inicia qualquer "filename.exe", ele verifica se o caminho completo corresponde a "FilterFullPath" de qualquer subchave. (Pode haver várias subchaves para caminhos diferentes.) Se houver uma correspondência, serão usadas opções da subchave correspondente. Caso contrário, as opções da chave base IFEO \ filename.exe são usadas, como de costume.

    
por 28.07.2016 / 22:49
0

Parece ser possível fazer isso assim

A captura de tela mostra a criação de subchaves correspondentes ao caminho completo de um binário abaixo de HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options , por exemplo:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\C:\Program Files\Adobe\Reader 11.0\Reader\AcroRd32.exe

sob o qual, em seguida, um valor de string Debugger poderia ser criado e definido.

    
por 03.07.2014 / 00:58