通過映像劫持實現Notepad2替換記事本

通過映像劫持實現Notepad2替換記事本

文章分類: 辦公軟件 ? 知識與技巧 - 更新時間: 2011/5/14

Notepad2是一個相當優秀的輕量級文本編輯器,開源軟件,具有很多特色功能,如代碼高亮、編碼轉換、行號顯示、多步Ctrl+Z等,是不可多得的記事本替代方案。

開始使用Notepad2后,我是在Total Commander里設置F3和F4來調用,但在TC之外,就不是太好操作了。直接替換notepad.exe的方式不太喜歡,而且配置文件保存在C盤,不利于便攜,于是我就手動更改txt、bat、nsi、ini、reg等格式的文件關聯,但總歸不方便。

后來無意間發現官方的替代默認記事本的方法,才是豁然開朗、相見恨晚,它是用Image File Execution Options的方式來實現替換,Image File Execution Options就是映像劫持技術,通過此種方式替換記事本,非常地綠色環保。

Image File Execution Options是CreateProcess函數中的一個功能,即在可執行程序運行時,Windows會先檢測對應IFEO中的Debugger值,如果存在這個參數的話,就運行這個參數中指定的程序,好像是程序調試之用,具體可以見這里

Notepad2

大體原理是這樣的,修改Image File Execution Options鍵值后,在有notepad.exe運行請求的時候,就欺騙系統轉而運行notepad2.exe:

  1. 創建如下注冊表項:HKLMSOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Optionsnotepad.exe,如果無法修改,需要先右鍵取得權限;
  2. 在notepad.exe注冊表項中,創建名為Debugger的字符串值(REG_SZ);
  3. 修改字符串值Debugger的數據為Notepad2.exe的完整路徑,最后以 /z參數結尾。
    如:"D:Program FilesNotepad2Notepad2.exe" /z

Notepad2

或直接創建如下注冊表文件,然后導入:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Optionsnotepad.exe]
"Debugger"=""D:Program FilesNotepad2Notepad2.exe" /z"

相關的軟件或文章

本文標簽

/ / / / / / / /

分享你的心情或觀點

已有 114 條評論

發表評論

電子郵件地址不會被公開,必填項已用 * 標注。

买13458和02679技巧