DEP (Data Execution Prevention) 透過硬體 (Intel XD bit / AMD NX bit) 與作業系統協作,標記記憶體頁面為不可執行,防止緩衝區溢位攻擊。Windows 提供四種啟動模式,對應不同安全性與相容性需求。
| 模式 (啟動參數) | 保護範圍 | 可排除應用程式 | 可由應用程式動態關閉 | 適用版本 |
|---|---|---|---|---|
| OptIn (預設) | 僅 Windows 系統元件與服務 | 可,透過相容性工具包 (ACT) 或系統屬性「效能」→「資料執行防護」→「為所有程式開啟 DEP,除了我選取的」 | 是 | Windows XP / Vista / 7 / 8 / 10 / 11 (用戶版) |
| OptOut | 所有程式與服務,除排除清單外 | 可,手動加入排除清單 | 是 | Windows Server 2003 / 2008 / 2012 / 2016 / 2019 / 2022 |
| AlwaysOn | 所有進程,無排除清單 | 不可 | 不可 | 僅 64 位元作業系統 |
| AlwaysOff | 完全停用 DEP | 不適用 | 不可 | 特殊相容性測試、舊版驅動除錯 |
bcdedit /set nx OptIn
bcdedit /set nx OptOut
bcdedit /set nx AlwaysOn
bcdedit /set nx AlwaysOff
修改後 重新開機 生效。可用 bcdedit /enum 查看目前 nx 值。
/NXCOMPAT (VC++) 或 -z nxcompat (GCC) 可明確宣告相容。