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 um REG_SZ
valor de string ( )é conhecidopara ser uma boa rota se você precisar modificar o comportamento de um aplicativo a ser iniciado.
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 mesmo?
Gostaria de ter certeza de que apenas o binário específico 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 wrapper que, semelhante ao Process Explorer da Sysinternals, substitua o comportamento padrão pelo meu específico, launcher.exe
pois define a variável de ambiente semelhante a set __COMPAT_LAYER=RUNASINVOKER
um shell.
Agora que sei escrever o wrapper e tudo, a questão principal é se existe uma maneira de saberno registro, usando alguma mágica abaixo Image Execution Options
, para limitar o escopo do Debugger
valor "hack" ou eu teria que filtrar isso no meu wrapper?
Refere-se à:
Responder1
A partir do Windows 7, existe uma maneira de limitar as opções de execução do arquivo de imagem ao caminho exato.
- Crie um dword com o nome "UseFilter" e valor diferente de zero em ...\Image File Execution Options\filename.exe.
- Crie uma subchave com nome arbitrário, por exemplo ...\Image File Execution Options\filename.exe\MyFilter.
- Sob essa subchave, crie uma string com o nome "FilterFullPath" e o caminho completo como valor, por exemplo, "C:\mypath\filename.exe". Além disso, crie as opções necessárias, "Debugger" no seu caso, lá.
Agora, quando o sistema inicia qualquer "filename.exe", ele verifica se o caminho completo corresponde a "FilterFullPath" de alguma subchave. (Pode haver diversas 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 serão usadas, como de costume.
Responder2
Parece ser possível fazer assim
A captura de tela mostra como criar subchaves correspondentes ao caminho completo de um binário abaixo 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 um Debugger
valor de string poderia ser criado e definido.