Windows:DEP 始終打開和 DEP 選擇退出之間有什麼區別,沒有例外?
- DEP 始終開啟(boot.ini 中的“/NoExecute=AlwaysOn”)和 DEP 選擇退出(boot.ini 中的“/NoExecute=OptOut”)有什麼區別?
“無例外” = DEP 不適用的程序的空列表。DEP =數據執行保護(硬體)。
人們會期望它以相同的方式工作,但它對某些應用程序有影響:
例如,對於**UltraEdit** 14 (14.2) 的所有版本。DEP 在啟動時總是會崩潰,至少在 Microsoft Windows XP Professional Edition x64 版本上是這樣。(2010-03-11 更新:此問題已在 UltraEdit 15.2 及更高版本中得到修復。)
2010-07-12 更新: Mozilla Thunderbird 2.0.0.19 在啟動時也會崩潰,因為 DEP 設置為最高級別(就像 UltraEdit 過去所做的那樣)。 2. Windows XP、Windows Vista 和 Windows 7 之間有區別嗎? 3. 32 位和 64 位版本的 Windows 之間有區別嗎?
對於問題 1:Fabrice Roux 表示,我認為這種差異是由 Microsoft 為 OptOut 的硬體 DEP 設置的後門造成的(見下文)。在 IrfanView 的情況下,Steve Gibson 觀察到的差異與我對 UltraEdit 所做的相同(請參閱問題),差異是由 Microsoft 為其編碼後門的非 DEP 感知 EXE 打包程序 (ASPack) 引起的。
資料來源:
來自 http://blog.fabriceroux.com/index.php/2007/02/26/hardware_dep_has_a_backdoor?blog=1,Fabrice Roux 的“硬體 DEP 有後門”。2007-02-26。“IrfanView 沒有使用任何技巧來規避 DEP……微軟只是編寫了一個僅用於 OPTOUT 的後門。基本上,微軟會檢查執行檔頭中與 3 個字元串之一匹配的部分。如果找到這些字元串中的一個,DEP 將被打開Windows 關閉此應用程序。…‘aspack’、‘pcle’、‘sforce’"
來自史蒂夫·吉布森的http://www.grc.com/sn/sn-078.htm。“我在任何地方都找不到 Microsoft 網站上的任何文件,因為我們看到了永遠線上和選擇退出之間的區別。也就是說,你會想像永遠線上模式與選擇退出是一樣的。 ‘沒有任何退出程序。事實證明並非如此。例如…… IrfanView文件查看器……在退出模式下執行良好,即使它沒有被退出。但它不會’ t 啟動,Windows 阻止它啟動……在永遠線上模式下。”
來自史蒂夫·吉布森的http://www.grc.com/sn/sn-083.htm。“… IrfanView …不會在打開 DEP 的情況下執行。這是因為它使用了一個 EXE 打包程序,一個名為 ASPack 的可執行壓縮程序。它不會執行是有道理的,因為自然可執行壓縮器必須解壓縮執行檔,因此它分配了一堆數據記憶體,將壓縮的執行檔解壓縮到其中,然後執行它。嗯,它正在執行數據分配,這正是 DEP 旨在停止的。另一方面,UPX,它實際上是領先且最流行的 EXE 壓縮器,它與 DEP 兼容,因為那些人意識到,嘿,當我們分配此記憶體時,我們應該將頁面標記為可執行。”
配置說明
OptIn此設置是預設配置。在具有可以實現硬體強制 DEP 的處理器的系統上,預設情況下,DEP 會為有限的系統二進製文件和“選擇加入”的程序啟用。使用此選項,預設情況下 DEP 僅涵蓋 Windows 系統二進製文件。
OptOut DEP 預設為所有程序啟用。您可以使用“控制面板”中的“系統”對話框手動創建未應用 DEP 的特定程序的列表。資訊技術 (IT) 專業人員可以使用應用程序兼容性工具包從 DEP 保護中“選擇退出”一個或多個程序。DEP 的系統兼容性修復程序或填充程序確實生效。
AlwaysOn此設置為整個系統提供完整的 DEP 覆蓋。所有程序始終在應用 DEP 的情況下執行。免除特定程序免受 DEP 保護的例外列表不可用。DEP 的系統兼容性修復不生效。使用應用程序兼容性工具包選擇退出的程序在應用 DEP 的情況下執行。
AlwaysOff此設置不為系統的任何部分提供任何 DEP 覆蓋,無論硬體 DEP 支持如何。除非 Boot.ini 文件中存在 /PAE 選項,否則處理器不會在 PAE 模式下執行。