
Estou executando uma máquina com Windows 7. Recentemente encontrei um aplicativo que fazia isso:
Eu tinha a.exe
antes da instalação. O aplicativo é instalado b.exe
no meu computador. Além disso, ele configura as coisas, para que toda vez que eu executo a.exe
, b.exe
seja executado em vez disso. Também tenho certeza de que estou executando exatamente a.exe
quando isso acontece. Além disso, renomear qualquer válidoexearquivo em qualquer local a.exe
e executá-lo resultará na execução de b.exe
. Para inválidoexearquivos (por exemplo, arquivos de texto), este procedimento resultará em erro.
Minha pergunta é: como isso é possível fazer? E não é um grande risco de segurança? Também estou executando o Windows 7.
Responder1
Seu executável está sendo sequestrado por "Opções de execução de arquivo de imagem"
Opções de execução de arquivo de imagemé um recurso do Windows que permite forçar a execução de um programa diferente em vez do executável real iniciado pelo usuário. Isto é útil, por exemplo, se você quiserexecute um arquivo em lote antes de um programa iniciar, independentemente de como esse programa é executado. Mas pode causar problemas quando você não sabe que o recurso está sendo usado, já que o Windows não explica por que b.exe
inicia quando a.exe
foi executado.
Felizmente, gerenciar esse recurso não é difícil. Você encontrará todas as "interceptações" do programa no Registro aqui:
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options
As chaves filhas são nomeadas de acordo com o executável que terá sua inicialização redirecionada. Existem muitas chaves aqui por padrão que devem ser deixadas de lado. Basta procurar uma chave que corresponda ao nome do seu executável a.exe
e confirmar se a chave contém um valor chamado Debugger
. Este valor especifica o b.exe
executável que será iniciado em vez de a.exe
.
Para interromper o comportamento indesejado, exclua o valor do Debugger ou toda a chave a.exe