是否可以在「Image Execution Options\*\Debugger」中提供可執行檔的完整路徑?

是否可以在「Image Execution Options\*\Debugger」中提供可執行檔的完整路徑?

Image Execution Options( HKEY_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」且值非零的雙字。
  2. 建立一個任意名稱的子項,例如...\Image File Execution Options\filename.exe\MyFilter。
  3. 在該子項目下,建立一個名為「FilterFullPath」和完整路徑作為值的字串,例如「C:\mypath\filename.exe」。另外,創建您需要的任何選項,根據您的情況創建“調試器”。

現在,當系統啟動任何「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建立和設定字串值。

相關內容