為了幫助保護您的計算機,Windows已經關閉了此程序。
名稱:Windows資源管理器
出版商:微軟公司
[關閉消息]
數據執行保護有助於抵禦病毒攻擊和其他安全威脅。我該怎麽辦?"
=============================================================
右鍵單擊我的電腦= & gtAttribute = & gt高級選項卡
在性能點上,set = & gt數據執行保護選擇“.................除選中"單選框外,然後添加Windows資源管理器。
附:Windows XP SP2中數據執行阻止功能的詳細說明。
概述
Microsoft Windows XP Service Pack 2使用新的數據執行保護(DEP)功能來禁止在數據頁中執行代碼。當您嘗試運行標記的數據頁中的代碼時,會立即發生異常,並且代碼執行被禁止。這可以防止攻擊者使用代碼使數據緩沖區溢出,然後執行代碼。
簡介
數據執行保護(DEP)是Microsoft Windows XP Service Pack 2(SP2)支持的處理器功能,它禁止在標記為數據存儲的內存區域中執行代碼。該功能也稱為“不執行”和“執行保護”。當您嘗試運行標記的數據頁中的代碼時,會立即發生異常,並且代碼執行被禁止。這可以防止攻擊者使用代碼使數據緩沖區溢出,然後執行代碼。
更多信息
數據執行保護(DEP)有助於防止病毒和其他安全威脅造成損害。他們的攻擊方法是從只有Windows和其他程序可以使用的內存位置執行惡意代碼。這種威脅通過以下方式造成損害:它接管壹個或多個程序正在使用的內存位置,然後傳播和破壞其他程序、文件甚至您的電子郵件聯系信息。
與防火墻或防病毒程序不同,DEP無法阻止有害程序安裝在您的計算機上。但是,它會監視您的程序,以確定它們是否安全地使用系統內存。出於這個原因,DEP軟件會將壹些內存位置單獨或與兼容的微處理器壹起標記為“不可執行”。如果壹個程序試圖運行代碼從壹個受保護的位置,DEP將關閉該程序,並通知妳。即使代碼沒有惡意,也會執行此操作。
64位Windows版本上的DEP
64位處理器上的64位版本的Windows可以在64位模式下運行程序。不管處理器結構如何,64位Windows版本的內核模式DEP適用於堆棧、頁面緩沖池和會話池。
默認情況下,DEP在Windows XP SP2中處於啟用狀態,無法禁用。64位應用程序不會從堆棧或默認進程堆中運行。對於需要分配可執行內存的應用,可以使用帶有壹定PAGE_EXECUTE* memory屬性的VirtualAlloc()來運行。
32位Windows版本上的DEP?用戶模式DEP
在不久的將來,許多運行Windows和Windows兼容程序的計算機將使用運行32位Windows版本的32位處理器。但是,AMD Opteron和Athlon-64等新處理器同時支持32位和64位操作模式。(32位操作模式是舊模式;而64位操作模式是本機模式。)
支持32位和64位操作模式的新處理器可以在32位操作系統和32位應用程序環境中運行,並且在啟用物理地址擴展(PAE)模式後,它們還可以使用DEP。
我們將探索分別為每個32位應用程序禁用或啟用DEP的方法。對於64位應用程序,默認情況下啟用DEP。DEP異常將導致狀態代碼status _ access _ violation(0xc 0000005)出現在Windows系統上。在大多數進程中,這是壹個未處理的異常,會導致進程終止。
內核模式DEP
對於用戶模式和內核模式,DEP以同樣的方式工作。在內核模式下,不能為每個驅動程序啟用或禁用內存區域DEP。默認情況下,在32位Windows版本上,DEP僅適用於堆棧。在64位版本的Windows上,DEP適用於堆棧、頁面緩沖池和會話池。內核模式下的訪問沖突會導致錯誤檢查0x 000000 fc:tryed _ execute _ of _ non execute _ memory。
兼容性問題
DEP兼容性問題可能出現在應用程序和驅動程序中。?應用程序兼容性
某些應用程序行為可能與DEP不兼容。在DEP和執行動態代碼生成(如實時代碼生成)的應用程序與那些不顯式地將生成的代碼標記為執行權限的應用程序之間,可能存在兼容性問題。
試圖違反DEP的應用程序將得到壹個異常,並顯示狀態代碼status _ access _ violation(0xc 0000005)。如果應用程序需要可執行內存,則必須通過在虛擬*內存分配函數的內存保護參數中指定PAGE_EXECUTE、PAGE_EXECUTE_READ、PAGE_EXECUTE_READWRITE或PAGE_EXECUTE_WRITECOPY,在相應的內存中顯式設置該屬性。
有關更多信息,請參考以下MSDN文章:
/security/product info/xpsp 2/memory protection/exec _ imp . aspx
(/security/product info/xpsp 2/memory protection/exec _ imp . aspx)
驅動程序兼容性
驅動和DEP的兼容問題主要是指PAE模式導致的兼容問題。DEP本身可能與執行代碼生成的驅動程序或使用其他方法實時生成可執行代碼的驅動程序存在兼容性問題。始終為64位Windows版本上加載的驅動程序啟用DEP支持。盡管許多創建可執行代碼的驅動程序可能已經在Windows XP SP2中得到修復,但不能保證所有驅動程序都已更新。
但是,由於很少有驅動程序使用這些方法,DEP本身不會造成許多驅動程序兼容性問題。大多數驅動程序兼容性問題都與在32位系統上運行PAE模式有關。如果啟用PAE模式,某些驅動程序可能無法加載,因為設備可能無法尋址64位,或者驅動程序可能認為PAE模式需要4 GB以上的RAM。這些驅動程序認為當它們處於PAE模式時,它們將總是接收64位地址,並認為它們(或它們的設備)不能解釋該地址。
其他驅動程序可以直接修改系統頁表項以PAE模式加載,但這會導致系統不穩定。這些驅動程序需要32位頁表條目,但它們在PAE模式下接收64位頁表條目。驅動程序和PAE之間最大的兼容性問題與直接內存訪問(DMA)傳輸和映射寄存器分配有關。許多支持DMA的設備(通常是32位適配器)不支持64位物理尋址。當器件在32位模式下工作時,它可以尋址所有物理地址空間。
在PAE模式下,數據可以位於大於4 GB的物理地址中。在這種情況下,為了使具有這些限制的設備正常工作,Windows XP SP2通過提供由映射寄存器指示的32位地址來為DMA事務提供雙緩沖。設備可以對32位地址執行DMA事務,內核將內存復制到為驅動程序提供的64位地址。
當系統在禁用PAE的情況下運行時,32位設備的驅動程序根本不需要實際內存來支持它們的映射寄存器。這意味著不需要雙緩沖,因為所有設備和驅動程序都包含在32位地址空間中。根據在基於x86和基於x64的計算機上對32位設備驅動程序的測試,大多數經過客戶端測試並支持DMA的驅動程序都需要無限制的映射寄存器。
為了限制兼容性問題,Windows XP SP2更改了硬件抽象層(HAL ),以模擬32位HAL DMA的行為。修改後的HAL允許系統在PAE模式下運行時擁有無限的映射寄存器。此外,內核內存管理器會忽略任何大於4 GB的物理地址。
由於對HAL和內存管理器的這些更改,我們預計運行Windows XP SP2和支持DEP的系統上的設備驅動程序兼容性問題將會最小化。
開發者評論
需要可執行內存區域的應用程序在分配內存時必須使用PAGE_EXECUTE、PAGE_EXECUTE_READ、PAGE_EXECUTE_READWRITE或PAGE_EXECUTE_WRITECOPY屬性。此外,應用程序不能從默認的進程堆或堆棧中執行。
大多數執行與DEP不兼容的操作的應用程序必須更新,以保持與DEP兼容。如果應用程序從私有堆中分配可執行內存,它必須確保在堆內存中設置了執行標誌。應用程序可以使用VirtualAlloc應用程序編程接口(API)來分配具有適當保護設置的內存。
如果應用程序不從私有堆中分配可執行內存,則必須對其進行修改,以便從私有堆中分配可執行內存。應用程序必須使用VirtualAlloc API來創建這個堆,並且至少為這個內存指定EXECUTE標誌。任何生成的代碼都必須放在可執行堆中。
生成可執行代碼後,我們建議您為應用程序設置內存保護,以防止通過VirtualProtect API對堆進行寫訪問。這壹措施將為進程地址空間中的可執行區域提供更多保護。
配置和故障排除
與數據執行保護支持相關的故障癥狀包括在啟用DEP時試圖從內存執行的應用程序中的訪問沖突。在這種情況下,將出現壹個對話框,指示應用程序因DEP而出錯。此對話框包含類似於以下內容的消息:
數據執行保護
Windows安全性檢測到壹個問題並關閉了該程序。
名稱:應用程序名稱
發布者:應用程序發布者。
數據執行保護有助於抵禦病毒和其他安全威脅。它是如何工作的?
(後面是“高級”和“確定”按鈕。)
如果DEP是應用程序錯誤的原因,建議您聯系應用程序供應商,以確定是否有可用的更新,以便應用程序可以在啟用DEP時正常運行。要解決這些問題,我們建議您安裝此更新。
單擊“確定”後,將出現標準的Windows錯誤報告提示,並提供發送錯誤報告的選項。您還可以通過單擊此處查看收集了哪些信息。
在錯誤報告界面上點擊“點擊此處”鏈接後,將出現詳細信息界面。在數據的“錯誤簽名”部分,可以檢查這個錯誤是否被標識為“事件類型:BEX”。BEX表示與DEP相關的錯誤。
這個接口還提供了其他信息,這些信息主要來源於壹些異常參數:參數數據。
1應用程序名稱
2應用程序版本
3應用程序時間戳
4模塊名稱
5模塊版本
6模塊時間戳
7模塊偏移
8異常代碼(c0000005=訪問沖突,c0000409=緩沖區溢出)
在初始界面上,您也可以單擊高級來訪問DEP配置設置。您可以使用這些設置為有錯誤的應用程序添加例外。
“數據執行保護”對話框提供了以下三個選項:?為所有程序啟用DEP(推薦)
關閉DEP(不推薦)
幫助保護所有程序,除了:
通過選擇這些選項之壹,您可以排除壹個或多個應用程序,或者為整臺電腦配置DEP設置。如果您設置了“關閉DEP”選項,開關將被添加到當前運行的Windows安裝的boot.ini配置文件中。boot.ini開關如下:?/no execute-這是默認開關。啟用DEP。
/execute-它禁用DEP。
註意:建議您不要全局禁用DEP。這將使計算機處於不安全的狀態。
您也可以在系統屬性中訪問這些DEP設置。
如果您的應用程序沒有更新,請按照以下步驟訪問和配置DEP配置設置:1。當應用程序出現錯誤時,單擊高級。
2.在“數據執行保護”對話框中,選擇“幫助保護所有程序,除了:。
3.單擊應用程序旁邊的復選框,然後單擊應用。
4.這時,會出現壹個提示,告訴妳必須重啟系統。單擊“確定”。
5.再次單擊確定,然後重新啟動系統。
您也可以在系統屬性中執行此過程:1。單擊開始,然後單擊控制面板。
2.在經典視圖中,雙擊系統。
3.單擊高級選項卡,單擊性能,然後單擊設置。
4.在“性能選項”對話框中,單擊“數據執行保護”選項卡。
5.選擇“為除我選擇的程序和服務之外的所有程序和服務啟用DEP:”然後單擊“添加”。
6.在“打開”對話框中,找到並選擇應用程序,然後單擊“打開”。
7.單擊應用,然後單擊確定。將出現壹個提示,通知您必須重新啟動系統,設置才會生效。單擊“確定”。
方法2: WinXP SP2有數據執行保護(DEP)功能。要實現這個功能,需要配合支持DEP功能的處理器使用,比如AMD Athlon64和序列號中帶字母“J”的Intel Pentium4處理器。
DEP功能可以有效地防止未經授權的程序訪問受保護的內存區域。壹旦發生這種內存訪問,程序就會被Windows強制關閉,從而達到保護系統安全的目的。
但是,對於早期的應用程序,DEP功能可能存在兼容性問題,可能會導致應用程序無法運行或系統崩潰等問題。此時,如果您想繼續正常使用該應用程序,可以關閉Win XP SP2的DEP功能。操作方法如下:
打開行李箱。INI文件並編輯它。將“/noexecute=optin”改為“/execute”,保存後重啟系統。此時,系統中的DEP功能已經關閉。
例如,Boot.ini文件如下所示:
[引導加載程序]
超時=30
默認值=多(0)磁盤(0)rdisk(0)分區(1)\WINDOWS
[操作系統]
多(0)磁盤(0)rdisk(0)分區(1)\ WINDOWS = " Microsoft WINDOWS XP家庭版"/noexecute=optin /fastdetect
修改後,最後壹行變成:
多(0)磁盤(0)rdisk(0)分區(1)\ WINDOWS = " Microsoft WINDOWS XP家庭版"/execute /fastdetect