Переопределение определенного exe-файла другим в Windows

Переопределение определенного exe-файла другим в Windows

Я работаю на компьютере с 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.

Связанный контент