
Я работаю на компьютере с Windows 7. Недавно я нашел приложение, которое делало следующее:
У меня было a.exe
до установки. Приложение устанавливается b.exe
на мой компьютер. Также оно настраивает все так, что каждый раз, когда я запускаю a.exe
, b.exe
выполняется вместо него. Также я уверен, что я запускаю именно a.exe
тогда, когда это происходит. Более того, переименовывая любые допустимыеExeфайл в любом месте a.exe
и его выполнение приведет к выполнению b.exe
. Для недействительныхExeфайлов (например, текстовых файлов) эта процедура приведет к ошибке.
Мой вопрос, как это возможно сделать? И не слишком ли это большой риск для безопасности? Также я использую Windows 7.
решение1
Ваш исполняемый файл захвачен «Параметры выполнения файла образа»
Параметры выполнения файла изображенияэто функция Windows, которая позволяет принудительно запустить другую программу вместо исполняемого файла, запущенного пользователем. Это полезно, например, если вы хотитезапустить пакетный файл перед запуском программы, независимо от того, как эта программа выполняется. Но это может вызвать проблемы, когда вы не знаете, что эта функция используется, поскольку Windows не дает объяснений, почему b.exe
запускается, когда a.exe
была выполнена.
К счастью, управлять этой функцией несложно. Все "перехваты" программы вы найдете в реестре здесь:
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options
Дочерние ключи названы по имени исполняемого файла, запуск которого будет перенаправлен. Здесь есть много ключей по умолчанию, которые следует оставить в покое. Просто найдите ключ, соответствующий имени вашего исполняемого файла, a.exe
а затем подтвердите, что ключ содержит значение с именем Debugger
. Это значение указывает b.exe
исполняемый файл, который будет запущен вместо a.exe
.
Чтобы остановить нежелательное поведение, удалите либо значение Debugger, либо весь ключ a.exe.