В этой инструкции поговорим о том, как отключить 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 и насколько это опасно? В большинстве случаев, если программа, ради которой вы это проделываете загружена из надежного официального источника, это вполне безопасно. В остальных ситуациях — вы делаете это на свой страх и риск, хотя он и не слишком значителен.