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

解決 Windows Server 2003 SP1 / XP SP2 珊瑚蟲 QQ 無法執行:DEP (資料執行防護) 設定教學

編輯:Windows 2003 教學

問題現象

安裝 Windows Server 2003 SP1 或 Windows XP SP2 後,珊瑚蟲 QQ(及部分舊版外掛程式)啟動即閃退或報錯,無法正常運作。

根本原因:DEP (Data Execution Prevention)

SP1/SP2 引入硬體 DEP(需 CPU 支援 NX/XD bit)與軟體 DEP。DEP 監控記憶體區域,若程式嘗試在標記為「不可執行」的資料頁面執行代碼,即強制終止程式。珊瑚蟲 QQ 等修改記憶體、注入 DLL 的外掛行為觸發 DEP 保護機制。

解決方法:將程式加入 DEP 例外清單

  1. 右鍵「我的電腦」→「內容」→「進階」標籤。
  2. 「效能」區塊點「設定」→「資料執行防護」標籤。
  3. 選擇 「僅為基本 Windows 程式和服務啟用 DEP」(預設)。
  4. 點「新增」→ 瀏覽選取珊瑚蟲 QQ 主程式(如 C:\Program Files\CoralQQ\CoralQQ.exe)→ 開啟 → 確定。
  5. 系統提示需重新開機,重開機後生效。

替代方案(不建議):選擇「為所有程式和服務啟用 DEP,除了我選取的」,同樣將珊瑚蟲 QQ 加入例外。但這會降低整體防護等級。

DEP 運作原理深度解析

硬體 DEP

  • CPU 功能(AMD NX bit / Intel XD bit),在頁面表項標記 NX=1(不可執行)。
  • 保護堆疊、堆積等資料區域不被執行代碼,有效阻擋緩衝區溢位攻擊。

軟體 DEP (SafeSEH)

  • 不需硬體支援,Windows XP SP2 內建預設啟用。
  • 保護例外處理鏈結構(SEH)不被覆寫,防止 SEH 攻擊。
  • 僅適用於編譯時加入 /SAFESEH 的模組。

相容性測試建議

應用程式類型DEP 衝突機率建議處理
正規商業軟體(Office、Adobe 等)極低保持 DEP 開啟,無需例外
舊版遊戲/外掛/修改器高加入例外或要求廠商更新
自行開發/內部工具中重新編譯加入 /NXCOMPAT、/SAFESEH、/DYNAMICBASE (ASLR)
惡意程式/Shellcode極高(被攔截)DEP 正是防禦關鍵

驗證 DEP 狀態

  • 命令列:wmic OS Get DataExecutionPrevention_SupportPolicy
    回傳 0=關閉、1=僅基本、2=全部、3=全部含例外。
  • Process Explorer (Sysinternals) → View → Select Columns → Process Memory → DEP Status,可見每行程 DEP 狀態。

總結

DEP 是現代 Windows 核心防禦機制,不應輕易全域關閉。針對珊瑚蟲 QQ 等相容性問題,精準加入例外清單即可兼顧安全與可用性。長期而言,應推動軟體廠商發布 DEP 相容版本,或自行重新編譯加入安全編譯選項。

Copyright © Windows教程網 All Rights Reserved