Windows Server 2003 下"該內存不能爲written"的解決方案

運行某些程序的時候,有時會出現內存錯誤的提示,然後該程序就關閉。

  “0x????????”指令引用的“0x????????”內存。該內存不能爲“read”。

  “0x????????”指令引用的“0x????????”內存,該內存不能爲“written”。

        最近重裝了win2003,發現很多本來運行的好好的程序都莫名出錯.實在很納悶.
於是一探究竟,上網搜索了一下關於內存不能爲written的文章,用他們的方法都不行.應該就不是他們提到的原因.內存不能爲“written”,我想大概是win2003開了某些保護機制.仔細想想原來的配置.好像系統有一個什麼數據保護的.於是去修改一下,發現原來有錯的程序好了.
數據執行保護 (DEP) 有助於防止來自病毒和其他安全威脅的損壞,這些安全威脅可以通過在僅應該由 Windows 和其他程序使用的內存位置上運行(執行)惡意代碼來發起攻擊。這種威脅可以通過接管由程序正在使用的一個或多個內存位置而造成破壞。然後,它會傳播和損害其他程序、文件甚至電子郵件聯繫人。
與防火牆或防病毒程序不同,DEP 不會防止有害的程序安裝在計算機中。然而,它會監視程序以確定程序是否安全地使用系統內存。爲此,DEP 軟件可以獨立工作,也可以與兼容的微處理器協同工作,從而將某些內存位置標記爲“不可執行”。如果某個程序嘗試從受保護的位置運行惡意或非惡意代碼,DEP 會關閉該程序並通知您。
DEP 可以利用軟件和硬件支持。要使用 DEP,計算機必須運行帶有 Service Pack 2 (SP2) 的 Microsoft Windows XP、帶有 Service Pack 1 (SP1) 的 Microsoft Windows Server 2003 或者基於 x64 的 Windows Server 2003 或 Windows XP 操作系統版本。單獨使用 DEP 軟件即可有助於防止特定類型的惡意代碼攻擊,但要充分利用 DEP 所提供的保護功能,處理器必須支持“執行保護”。這是一種基於硬件的技術,目的在於將內存位置標記爲“不可執行”。如果您的處理器不支持基於硬件的 DEP,那麼最好升級到可提供執行保護功能的處理器。
如何設置:

  • 在桌面上右鍵點擊“我的電腦”,單擊“屬性”。
  • 單擊“高級”選項卡,在“性能”下,單擊“設置”。
  • 單擊“數據執行保護”選項卡。
  • 選擇第一個選項"只爲關鍵 Windows 程序和服務啓用數據執行保護"。當然你也可以選擇第二個選項,然後添加不保護的程序.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章