是否可以在“Image Execution Options\*\Debugger”中提供可执行文件的完整路径?

是否可以在“Image Execution Options\*\Debugger”中提供可执行文件的完整路径?

Image Execution OptionsHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options)带有以可执行文件命名的键和字符串(REG_SZ)值已知如果您需要修改要启动的应用程序的行为,这是一个很好的途径。

但是,如果我有一个非常常见的可执行文件名称,例如launcher.exe,我该如何更具体一点呢?我可以吗?

我想确保只有我想到的那个特定二进制文件会受到影响,尽管在我的特定用例中,如果我不能将其限制为精确的可执行文件,那么它只会产生中等影响。

我想为自己编写一个小包装程序,类似于 Sysinternals 的 Process Explorer,launcher.exe它用类似于set __COMPAT_LAYER=RUNASINVOKERshell 中的环境变量来取代我的特定的标准行为。

现在我知道如何编写包装器和所有内容,主要的问题是,是否有办法告诉在注册表中,使用下面的一些魔法Image Execution Options,来限制“hack”值的范围Debugger,或者我必须在我的包装器中过滤它?


涉及到:

答案1

从 Windows 7 开始,有一种方法可以将图像文件执行选项限制为精确路径。

  1. 在 ...\Image File Execution Options\filename.exe 下创建一个名为“UseFilter”且值为非零的 dword。
  2. 创建一个具有任意名称的子项,例如...\Image File Execution Options\filename.exe\MyFilter。
  3. 在该子项下,创建一个名为“FilterFullPath”的字符串,并将完整路径作为值,例如“C:\mypath\filename.exe”。此外,在那里创建您需要的任何选项,在您的情况下为“Debugger”。

现在,当系统启动任何“filename.exe”时,它会检查完整路径是否与任何子项中的“FilterFullPath”匹配。(不同路径可以有多个子项。)如果匹配,则使用匹配子项中的选项。否则,将照常使用基本键 IFEO\filename.exe 中的选项。

答案2

似乎可以这样做

在此处输入图片描述

屏幕截图显示创建与二进制文件的完整路径相对应的子项HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options,例如:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\C:\Program Files\Adobe\Reader 11.0\Reader\AcroRd32.exe

然后Debugger可以创建并设置一个字符串值。

相关内容