У цій інструкції поговоримо про те, як відключити DEP (Data Execution Prevention, запобігання виконання даних) в Windows 7, 8 і 8.1. Те ж саме має працювати і в Windows 10. Відключення DEP можливо як для системи в цілому, так і для окремих програм, при запуску яких з'являються помилки Data Execution Prevention.
Сенс технології DEP полягає в тому, що Windows, спираючись на апаратну підтримку NX (No Execute, для процесорів AMD) або XD (Execute Disabled, для процесорів Intel) запобігає виконанню виконуваного коду з тих областей пам'яті, які позначені як невиконувані. Якщо простіше: блокує один з векторів атаки шкідливого ПЗ.
Однак, для деякого ПО включена функція запобігання виконання даних може послужити причиною появи помилок при запуску - зустрічається це і для прикладних програм, і для ігор. Помилки виду "Инструкция по адресу звернулася до пам'яті за адресою. Пам'ять не може бути read або written" теж можуть мати своєї причиною DEP.
Відключення DEP для Windows 7 і Windows 8.1 (для всієї системи)
Перший спосіб дозволяє відключити DEP для всіх програм і служб Windows. Для цього відкрийте командний рядок від імені Адміністратора - в Windows 8 і 8.1 це можна зробити за допомогою меню, яке відкривається правим кліком миші по кнопці "Пуск",в Windows 7 ви можете знайти командний рядок в стандартних програмах, клікнути по ній правою кнопкою миші і вибрати "Запуск від імені Адміністратора".
У командному рядку введіть bcdedit.exe / set {current} nx AlwaysOff і натисніть Enter. Після цього перезавантажте ваш комп'ютер: при наступному вході в дану систему DEP буде відключений.
До речі, при бажанні, за допомогою bcdedit ви можете створити в меню завантаження і вибору системи окремий запис з відключеним DEP і використовувати її тоді, коли це потрібно.
Примітка: для того, щоб включити DEP надалі використовуйте ту ж команду з атрибутом AlwaysOn замість AlwaysOff.
Два способи відключити DEP для окремих програм
Більш розумним може бути відключення запобігання виконання даних для окремих програм, що викликають помилки DEP. Зробити це можна двома способами - через зміну додаткових параметрів системи в панелі управління або за допомогою редактора реєстру.
У першому випадку, зайдіть в Панель управління - Система (можна також клацнути по значку "Мій комп'ютер" правою кнопкою і вибрати "Властивості"). Виберіть в списку праворуч пункт "Додаткові параметри системи", потім на вкладці "Додатково" натисніть кнопку "Параметри" в розділі "Швидкодія".
Відкрийте вкладку "Запобігання виконання даних", відзначте пункт "Включити DEP для всіх програм і служб, окрім вибраних нижче" і за допомогою кнопки "Додати" вкажіть шляху до виконуваних файлів програм, для яких потрібно відключити DEP. Після цього бажано так само перезавантажити комп'ютер.
Відключення DEP для програм в редакторі реєстру
По суті те ж саме, що тільки що описувалося із застосуванням елементів панелі управління, можна зробити і посередництвом редактора реєстру. Для його запуску натисніть клавіші Windows + R на клавіатурі і введіть regedit після чого натисніть Enter або Ok.
У редакторі реєстру перейдіть до розділу (папки зліва, якщо розділу Layers немає, створіть його) HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Layers
І для кожної програми, для якої потрібно відключення DEP, створіть строковий параметр, ім'я якого відповідає шляху до виконуваного файлу цієї програми, а значення - DisableNXShowUI (Див. Приклад на скріншоті).
Ну і нарешті, відключати або не відключати DEP і наскільки це небезпечно? У більшості випадків, якщо програма, заради якої ви це робите завантажена з надійного офіційного джерела, це цілком безпечно. В інших ситуаціях - ви робите це на свій страх і ризик, хоча він і не дуже значний.