我正在运行 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 键