Конфигурирайте или изключете DEP (Предотвратяване на изпълнение на данни) в Windows

Предотвратяването на изпълнението на данни(Data Execution Prevention) ( DEP ) е едно от онези „замъглени“ неща. Благословия е през повечето време, когато си върши работата и не се намесва, но проклета, когато пречи. 

Нека да разгледаме DEP и как да го конфигурирате или да изключите DEP , в зависимост от вашите нужди.

Какво е DEP и какво прави?(What Is DEP & What Does It Do?)

Според Microsoft DEP е:

набор от хардуерни и софтуерни технологии, които извършват допълнителни проверки на паметта, за да предотвратят стартирането на злонамерен код в системата. (a set of hardware and software technologies that perform additional checks on memory to help prevent malicious code from running on a system.)”  

Dell го опростява малко и ни казва, че DEP

„...може да помогне за защитата на компютъра ви, като наблюдава програмите ви, за да се уверите, че използват системната памет безопасно.“(“…can help protect your computer by monitoring your programs to make sure that they use system memory safely.”)

Какво означава това? Има определени области в паметта на компютъра, които не са предназначени да имат код, работещ в тях, но понякога кодът се изпълнява там. 

Обикновено кодът, който ще се изпълнява там, е злонамерен. DEP ще наблюдава тези области и ако види нещо, което се случва в тези области, ще го изключи. Ако искате да получите задълбочена информация за това как работи, прочетете подробното описание на Microsoft за предотвратяване на изпълнение на данни( Microsoft’s detailed description of Data Execution Prevention) .

И така, защо DEP причинява проблеми?(So Why Does DEP Cause Problems?)

Дори днес компютрите са тъпи. Те не могат да разсъждават, те могат да използват само най-основната логика. Освен това, тази логика е въведена в тях от хората, така че компютрите също влагат нашите грешки в тях. 

Понякога добрите програми ще се скитат в областите, които DEP наблюдава и работят в тези пространства. 

Когато това се случи, DEP понякога ще изключи цялата програма и ще ви уведоми чрез съобщение за грешка. Но понякога DEP просто кара програмата да работи много лошо и няма да има нищо очевидно, което да ви каже защо. 

Кои програми имат проблеми с DEP?(What Programs Have Problems With DEP?)

Програмите, които са в конфликт с DEP , обикновено са по-стари програми или изградени върху стари кодови бази. Много софтуер за планиране на корпоративни ресурси(Enterprise Resource Planning) ( ERP ) е изграден върху кодови бази, които датират от 70-те години на миналия век. Тогава нямаше DEP , така че програмата ще влезе в области, които DEP патрулира.

64-битовите програми са създадени, след като DEP е добре установен, така че са разработени да отговарят на изискванията. Повечето програми, които са в конфликт с DEP , ще бъдат 32-битови програми(will be 32-bit programs)

Програми, различни от Microsoft, които взаимодействат силно с услугите на Windows( Windows Services) или изпълняват свои собствени услуги на (Services)Windows , може да бъдат задействани от DEP . Ако случаят е такъв, доставчикът ще препоръча напълно да изключите DEP .

За домашния потребител е най-вероятно старите игри, които са 32-битови, и някои емулатори за игра на дори по-стари игри( emulators for playing even older games) , да са в конфликт с DEP .

Старите драйвери на устройства или драйвери, изтеглени от неофициални източници, също могат да предизвикат DEP грешки. Изтеглете драйвери само от производителя на хардуера или Microsoft и актуализирайте драйверите си редовно( update your drivers regularly) .

Как да разбера дали проблемът е DEP?(How Do I Know If DEP Is The Problem?)

Може да се наложи да отидете в Event Viewer и да прегледате регистрационните файлове за Event ID 1000 . Ако намерите такъв, може да изглежда така:

Event ID : 1000 - DEP Error : Generic host for Win32 servicesGeneric Host Process for Win32 Services - DEP : Application Error
Event Type: Error
Event Source: Application Error
Event Category: (100)
Event ID: 1000

 Може да видите други грешки, отнасящи се до неща като:

  • 0xFC:ATTEMPTED_EXECUTE_OF_NOEXECUTE_MEMORY – възниква, когато драйвер на устройство се опитва да работи в паметта. Може да е лош или остарял драйвер. Ще искате да актуализирате драйверите си. 
  • STATUS_ACCESS_VIOLATION (0xc0000005) – възниква, когато програмите се опитват да работят в защитено с DEP пространство на паметта.

Как да конфигурирате или изключите DEP(How To Configure Or Turn Off DEP)

В Windows 10 DEP по подразбиране е настройката Включи DEP само за основни програми и услуги на Windows(Turn on DEP for essential Windows programs and services only) . През повечето време това е достатъчно. Това означава, че по-голямата част от вашите програми ще бъдат игнорирани от DEP

Но ако DEP помага за защитата на компютъра и няма спад в производителността, може да искате да изберете Включване на DEP за всички програми, с изключение на тези, които избирам аз(Turn on DEP for all programs except those that I select) . След това, ако откриете програма, която има проблем с DEP , можем да я добавим като изключение. Нека да разгледаме как да го направим.

  • Отворете контролния панел(Control Panel ) и след това отворете Система(System) .

  • От лявата страна на прозореца на системата(System ) щракнете върху Разширени системни настройки(Advanced System Settings) .

  • Прозорецът Свойства на системата(System Properties ) трябва да се отвори и вече е настроен на раздела Разширени(Advanced) . В областта на производителността(Performance ) щракнете върху Настройки(Settings) .

  • В прозореца Опции за производителност(Performance Options ) щракнете върху раздела Предотвратяване на изпълнение на данни(Data Execution Prevention ) .

  • С Включване на DEP за всички програми, с изключение на(Turn on DEP for all programs except those that I select) избраните от мен, щракнете върху бутона Добавяне(Add ) в долната част на прозореца.

  • Придвижете се до изпълнимия файл за програмата, която бихме искали да добавим като изключение. Най-вероятно ще бъде в C:/Program Files (x86)
  • В този пример добавяме MediaMonkey , стара помощна програма за музикален плейър. Щракнете(Click) върху .exe файла, след като го намерим, и щракнете върху Отвори(Open) .

  • В Опции за производителност щракнете върху Прилагане(Apply) . Сега MediaMonkey ще работи извън DEP защитата, докато всички останали ще работят в рамките на DEP защита.

Изключете DEP напълно(Turn DEP Completely Off)

Ако искате да изключите DEP напълно, препоръчваме да го правите само като част от отстраняването на проблем. DEP е там за вашата защита. 

Тъй като това е нещо, което не се препоръчва, няма добър начин да го направите с насочване и щракване. Нека да разгледаме как можем да изключим DEP .

  • Отворете командния(Command ) прозорец като администратор(Administrator) . Направете това, като напишете cmd в полето за търсене на програмата близо до менюто " Старт(Start) ".

  • Въведете командата bcdedit.exe /set {current} nx AlwaysOff и натиснете enter.

bcdedit.exe е помощна програма на Windows за редактиране на данни (d)за конфигурацията(bdcedit) на зареждане , следователно (c)bdcedit(b) .

/set казва на bcedit да зададе стойност на опцията в конфигурацията за зареждане.

{current} казва на becedit да работи с конфигурацията за зареждане, която се използва в момента.

nx е съкращение от n o e x ecute и е името на настройката за DEP в конфигурацията за зареждане.

AlwaysOff се разбира от само себе си.

  • Рестартирайте компютъра.
  • DEP вече ще бъде напълно и постоянно изключен.

Включете DEP за всичко(Turn DEP On For Everything)

За да включите DEP за абсолютно всичко, процесът и командата са както по-горе.

  • Отворете командния(Command ) прозорец като администратор(Administrator) , като следвате инструкциите в процедурата по-горе.
  • Въведете командата bcdedit.exe /set {current} nx AlwaysOn

  • Рестартирайте компютъра.
  • DEP ще бъде включен и всички програми ще бъдат наблюдавани.

След като DEP бъде винаги включен или винаги изключен, той НЕ(NOT) МОЖЕ да бъде променен чрез раздела Data Execution Prevention в системните настройки. 

Нека да разгледаме как да го променим, така че радио бутоните в раздела DEP да могат да се използват отново.

Задайте DEP обратно към поведение по подразбиране(Set DEP Back To Default Behavior)

За да зададете поведението на DEP обратно по подразбиране и да го направите отново управляем чрез системни настройки, направете следното.

  • Отворете командния(Command ) прозорец като администратор(Administrator) .
  • Въведете командата bcdedit.exe /set {current} nx OptIn .

  • Рестартирайте компютъра.
  • Сега радио бутоните в раздела DEP в системните настройки са отново достъпни.

Да DEP или не Да DEP(To DEP Or Not To DEP)

Препоръчваме да оставите DEP на настройката му по подразбиране Включване на DEP само за основни програми и услуги на Windows,(Turn on DEP for essential Windows programs and services only, ) освен ако не е необходимо да го промените, за да отстраните проблеми, които може да са свързани с DEP(DEP-related) .



About the author

„Аз съм експерт по Windows и Office на свободна практика. Имам над 10 години опит в работата с тези инструменти и мога да ви помогна да извлечете максимума от тях. Моите умения включват: работа с Microsoft Word, Excel, PowerPoint и Outlook; създаване на уеб страници и приложения; и помагане на клиентите да постигнат своите бизнес цели."



Related posts