辦理員模式運行CMD進進DOS模式,輸進"bcdedit /set nx OptIn"(雙引號內文字),然後重啟計較機。
DEP的安然機製
DEP(Data Execution Prevention)即“數據推行保護”,這是Windows的一項安然機製,首要用來避免病毒和其他安然威脅對係統造成粉碎。微軟從Windows XP SP2引進了該手藝,並一向延續到而後的Windows Server 2003、Windows Server 2008中。筆者的Windows 7係統選擇的是級別1,可以看到所有的係統過程過程都是啟用了DEP保護,而非係統過程比如“WinRar”則DEP狀況為“停用”。本文將對Windows 7下的DEP進行一番解析。
1、DEP的安然機製
可以說,溢出是操縱係統(使用軟件)永久的痛,Windows 7自然也不例外榮譽勳章。所謂溢出首要指緩衝區溢出,就是操縱係統(使用軟件)縫隙從隻有Windows和其他法式可使用的內存位置推行歹意代碼從而達到節製係統的目標榮譽勳章。希看本文對大年夜家熟諳DEP和理解Windows的安然機製有所幫忙。使用DEP的目標是禁止歹意插進代碼的推行,其運行機製是,Windows操縱DEP標識表記標幟隻包含數據的內存位置為非可推行(NX),當使用法式試圖從標識表記標幟為NX的內存位置推行代碼時,Windows的DEP邏輯將禁止使用法式如許做,從而達到保護係統避免溢出。
2、DEP的實現編製
微軟DEP實現采取了兩種編製,即硬件強迫DEP和軟件強迫DEP。硬件強迫DEP,這必要處置器的支持,不外此刻大年夜大都處置器是支持DEP的。軟件強迫DEP,這是由Windows操縱係統在係統內存中為保存的數據對象主動添加的一組分外指針供給。如何明白本身的處置器是不是支持DEP呢?右鍵單擊桌麵上的“計較機”圖標,選擇“屬性”,在打開的“係統”窗口中點擊“高級係統設置”鏈接打開“係統屬性”麵板。若是支持會在底部的一行顯示“你的計較機處置器支持基於硬件的DEP。點擊“數據推行保護”選項卡,在該頁麵中咱們可確認本身計較機的處置器是不是支持DEP。在“高級”選項卡頁麵中的“性能”下點擊“設置”打開“性能選項”麵板。”,反之會顯示“你的計較機處置器不支持基於硬件的DEP,不外,Windows能使用DEP軟件避免一些類型的報複打擊。”(圖1)
3、DEP的運行級別
在Windows 7中,DEP默許是激活的。不外,DEP不克不及保護係統中所有運行的使用法式,實際DEP能夠保護的法式列表由DEP的保護級別定義。如前所述,緩衝區溢出報複打擊經常在其它法式的內存緩衝區寫進可推行的歹意代碼,然後拐騙法式推行歹意代碼。默許環境下,Windows 7的DEP運行在級別1的保護狀況下。在“數據推行保護”設置麵板中,咱們能夠設置DEP的保護級別。如圖所示筆者的Windows 7默許“隻為根基的Windows法式和辦事激活了DEP”,即DEP保護級別為1。固然,咱們也可選擇“除以下所選擇的,為所有法式和辦事打開DEP” 切換到DEP保護級別2。
在保護級別Level 2可以選擇特定的使用法式不受DEP保護。在實際使用中,這個功能很是首要,由於一些老的使用法式在激活DEP時沒法正常運行。 例如,我咱們在使用Word進行文本編輯時,它會主動被解除在DEP保護以外。必要重視的是,在將DEP保護切換到級別2之前,必需運行使用法式兼容性測試,確保所有的使用法式在DEP激活時能正常運行。從DEP中解除使用法式, 必要在DEP設置頁麵使用“添加”按鈕,將使用法式的可推行文檔插手到解除列表中。(圖2)
除上述編製外,咱們還可以顛末過程一個東西解除使用法式的DEP保護。這個東西就是DisableNX,它是微軟使用法式兼容性套件(Microsoft Application Compatibility Toolkit )中的一個東西,該套件的最新版本為5.5,大年夜家可以訪問微軟官方網站下載得到,下載地址是:http://www.microsoft.com/downloa ... 0-b45e-492dd6da2971。
該東西的使用比力簡單,大年夜家可按照號令幫忙完成排錯操縱。
4、檢查使用法式是不是遭到DEP保護
在Windows 7中,咱們如何明白使用法式是不是遭到DEP保護呢?實在,顛末過程使命辦理器咱們可以檢查到咱們想要明白的資訊。不外,默許環境下Windows 7的使命辦理器實在不顯示使用法式的DEP列,必要手動操縱將其調出來。在使命欄上單擊鼠標右鍵選擇“啟動使命辦理器”,在Windows 使命辦理器窗口中單擊“檢查”菜單選擇“選擇列”,然後從選擇過程頁列中找到並勾選“數據推行保護”項便可。如許就會在使命辦理器中添加“數據推行保護”列,在其下麵咱們可以看到過程的DEP狀況(啟用或停用)。毫無例外,在Windows 7中DEP也作為一項安然機製被引進進來。不外,筆者這裏要申明一下:固然有些非係統的使用法式,但其DEP狀況為“啟用”(比如筆者係統中運行的“Windows 7優化大年夜師”),這是由於這些使用法式在安裝過程中會成立並注冊成係統辦事,所以在Windows看來它也是係統過程,固然也就會推行DEP保護。(圖3)
5、如何封閉DEP保護
必要提示的是,當DEP運行在保護級別為2時,由於必要在處置器和係統內存運行所有的DEP查抄,會影響係統性能,使得係統運即將會變慢一些,所以在某些環境下咱們可以考慮完全封閉DEP保護榮譽勳章。咱們明白在DEP設置麵板中是不供給封閉DEP選項的,那如何封閉呢?若是是Vista之前的係統,咱們可以顛末過程點竄Boot.ini文檔,在此中添加NoExecute=Always0ff語句來封閉。而在Windows Vista、Windows Server 2008和Windows 7中,boot.ini文檔已被啟動設置數據(Boot Configuration Data)即BCD文檔所代替,不外咱們可使用微軟供給的號令行東西bcdedit.exe來編輯BCD文檔。
咱們在號令提示符下運行不帶有任何參數的bcedit號令,可以看到當前的啟動設置,如圖所示顯示了在Windows 7下運行bcdedit的成果,此中末了一行顯示nx OptIn,暗示當前的DEP保護級別為1,若是顯示為OptOut則暗示當前的EDP保護級別為2。若是咱們要封閉DEP,隻需將nx設置為Always0ff便可。在號令行下推行號令“bcdedit /set nx alwaysoff”,重啟係統後Windows 7的DEP就封閉了。反之,若是要開啟所有辦事和使用法式的DEP,推行號令“bcdedit /set nx alwayson”便可以了。(圖4)
總結:實在DEP實在不是醫治Windows係統緩衝區溢出題目的全能解藥,它的意義在於使得歹意軟件難以操縱緩衝區溢出。並且DEP供給的緩衝區溢出保護也有必然的副感化,就是是被DEP禁止的使用法式凡是將被掛起,即便DEP遏製了歹意法式推行歹意代碼,可是這類環境為歹意法式啟動DOS報複打擊創作發現了新的機緣。末了申明一點,本文有關DEP的解析固然以Windows 7為例,但大年夜部分也適用於Windows Vista和Windows Server 2008。DEP支持兩種保護級別:級別1,隻保護Windows係統代碼和可推行文檔,不保護係統中運行的其它微軟或第三方使用法式;級別2,保護係統中運行的所有可推行代碼,包含Windows係統代碼和微軟或第三方使用法式。
榮譽勳章合集_視頻_配置