В этом руководстве речь пойдет о том, как отключить 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), не допускает исполняемый код в те области памяти, которые помечены как неисполняемые. Просто: Блокирует один из векторов атаки вредоносного ПО.
Однако для некоторых программ предотвращение выполнения данных может привести к ошибкам при запуске, будь то прикладные программы или игры. Ошибки типа "Инструкция по адресу получила доступ к памяти по адресу. Ошибка "Память не может быть прочитана или записана" также может быть вызвана 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. Есть два способа сделать это — изменить дополнительные настройки системы в Панели управления или с помощью редактора реестра.
В первом случае перейдите в Панель управления — Система (можно также щелкнуть правой кнопкой мыши на Мой компьютер и выбрать Свойства). Выберите пункт "Дополнительные параметры системы" из списка справа, затем на вкладке "Дополнительно" нажмите кнопку "Параметры" в разделе "Производительность".
Откройте вкладку "Data Execution Prevention", установите флажок "Turn on DEP for all programs and services except those selected below" и с помощью кнопки "Add" укажите пути к исполняемым файлам программ, для которых вы хотите отключить DEP. После этого также желательно перезагрузить компьютер.
Отключите DEP для программ в редакторе реестра
По сути, то же самое, что только что было описано с помощью элементов панели управления, можно сделать и через редактор реестра. Чтобы запустить его, нажмите Windows + R на клавиатуре и введите regedit Затем нажмите Enter или Ok.
В редакторе реестра перейдите в раздел (папки слева; если раздел "Слои" отсутствует, создайте его) HKEY_LOCAL_МАШИНА \ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ \ РЕДАКТОР РЕЕСТРА Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Слои
И для каждой программы, которая требует отключения DEP, создайте строковый параметр, имя которого соответствует пути к исполняемому файлу этой программы, а значение — DisableNXShowUI (см. Пример на скриншоте).
И, наконец, отключать или не отключать DEP и насколько это опасно? В большинстве случаев, если программа, для которой вы это делаете, загружена из надежного официального источника, это вполне безопасно. В остальных ситуациях — вы делаете это на свой страх и риск, хотя он и не слишком велик.