Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

解決 Windows Server 2003 DEP(資料執行防護)阻擋合法程式執行問題

編輯:Windows 2003 教學

Windows Server 2003 SP1 引入資料執行防護(DEP),預設僅保護核心 Windows 程式與服務。若遇到合法應用程式(特別是舊版或未簽署程式)啟動即閃退、提示「資料執行防護」錯誤,可依本文調整 DEP 範圍。

DEP 原理與相容性衝突

DEP 透過硬體(NX/XD bit)或軟體模擬,標記記憶體頁面為「不可執行」,防止緩衝區溢位攻擊在資料區執行殼碼。但部分舊版程式使用動態程式碼生成、即時編譯(JIT)或特定封裝器,會誤觸發 DEP 阻擋。

調整 DEP 設定步驟

  1. 右鍵「我的電腦」→ 內容 → 進階
  2. 效能區塊 → 設定 → 資料執行防護頁籤
  3. 選擇 「僅為基本 Windows 程式和服務啟用 DEP」(預設值)
  4. 若特定程式仍被阻擋,可選擇「為所有程式和服務啟用 DEP,除了我選取的項目」→ 新增 → 瀏覽選擇該程式 .exe → 確定
  5. 重新啟動電腦生效

系統內容進階效能設定

資料執行防護設定頁籤

命令列替代方案

針對單一程式永久停用 DEP(需管理員權限):

bcdedit /set nx OptIn
# 或針對特定程式(需 Windows Server 2003 SP1 以上)
# 註:Windows Server 2003 不支援 bcdedit,請使用 boot.ini /noexecute 參數

boot.ini 相關參數:

  • /noexecute=optin:僅保護核心元件(預設)
  • /noexecute=optout:保護所有程式,可排除清單
  • /noexecute=alwayson:全域強制啟用,不可排除
  • /noexecute=alwaysoff:完全停用 DEP

最佳實務建議

  1. 優先尋求軟體廠商更新版本,解決 DEP 相容性問題
  2. 若必須排除,僅針對特定可執行檔,勿全域停用 DEP
  3. 記錄排除清單,隨系統遷移同步調整
  4. 開發/測試環境可較寬鬆,生產環境嚴格執行 DEP

DEP 是重要的記憶體保護機制,正確配置能同時兼顧安全性與應用程式相容性。

Copyright © Windows教程網 All Rights Reserved