在 Windows 中用另一个覆盖特定的 exe

在 Windows 中用另一个覆盖特定的 exe

我正在运行 Windows 7 计算机。最近我发现一个应用程序执行了以下操作:

a.exe在安装之前就已经安装了。该应用程序安装b.exe在我的电脑上。它还设置了一些东西,这样每次我执行时a.exeb.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 键

相关内容