В этой статье будет рассказано о том, как можно включить/отключить в системе функции DEP (Data Execution Prevention, или иначе, предотвращение выполнения данных) на ОС Windows 7, 8, 10. При этом, система, опираясь на аппаратную составляющую устройства, производит блокировку исполняемого кода в тех областях, которые помечены, как неисполняемые. Фактически, производится блокировка возможности атаки вирусного ПО с этой стороны.
Однако, данная опция может блокировать и вполне «мирные» приложения и игры, при их запуске могут выдавать ошибки, вроде «Инструкция обратилась к памяти по адресу. Память не может быть read или written». Отключить dep можно для всей системы или же для одного конкретного приложения.
Отключение DEP для всей системы
Для начала, пользователю потребуется запустить командную строку от имени администратора, сделать это можно через меню пуск, найдя соответствующее приложения, щелкнув по нему ПКМ и нажав на нужный пункт меню. В консоли нужно ввести оператор bcdedit.exe /set {current} nx AlwaysOff и выполнить его.
После выполнения команды потребуется перезапустить компьютер. Для включения опции стоит использовать ту же команду, только заменить последнее слово на AlwaysOn.
Отключение для определенной программы
В случае, если требуется отключить опцию только для нескольких определенных приложений, есть способ проще, чем использование командной строки. Можно зайти в панель управления, оттуда перейти в раздел Система. Откроется окно с ее свойствами, необходимо перейти на вкладку Дополнительно, перейти к пункту быстродействие и щелкнуть по параметрам.
Откроется окно, в котором следует перейти на вкладку под названием предотвращение выполнения данных. Здесь можно будет выбрать второй пункт, в котором потребуется указать утилиту, для которой будет отключен dep, их сюда можно добавлять в неограниченном количестве, хоть все.
Используем редактор реестра
В случае, если предыдущий метод не помог, можно использовать редактор реестра для внесения нужных изменений. Не стоит забывать, что работать с ним нужно очень осторожно, не менять и не удалять переменные просто так. Лучше всего будет создать резервную копию ветки реестра перед редактированием, также можно создать новую точку восстановления, чтобы было куда откатить компьютер, в случае сбоев.
После того, как предварительные меры будут приняты, можно приступать к действиям. Для начала нужно нажать на win+r и написать в появившемся окне regedit. После этого откроется приложение для редактирования реестра, в нем следует пройти по пути HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Layers. Теперь будет нужно щелкнуть по пустому месту в правой части окна правой кнопкой мыши и выбрать Создать во всплывшем меню, потом нужно кликнуть по строковому параметру. Новая переменная должна содержать в качестве имени полный путь к программе, для которой нужно отключить dep.
В качестве значения должно содержаться DisableNXShowUI. Дальше останется только перезагрузить компьютер, нужная опция будет отключена для указанных приложений.
Включение DEP
Для включения опции придется вспомнить то, каким образом она была отключена. Если выключение производилось для всей системы, то опция, в которую можно попасть через панель управления, будет просто недоступна.
Так что в этом случае потребуется снова вызвать командную строку с правами администратора и ввести там оператор bcdedit.exe /set {current} nx AlwaysOn. Далее потребуется перезагрузка устройства, после чего, функция снова станет работоспособной и ее можно станет отключать только для некоторых приложений.
Если же отключение производилось через панель управления, то пользователю потребуется зайти в параметры быстродействия и удалить из списка отключенных нужное приложение, либо, вообще, переключиться на первый пункт и активировать dep для всех программ.
Если отключение производилось через реестр, то нужно снова зайти в него, пройти по пути HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Layers и удалить там те параметры, которые отвечают за нужные приложения, либо удалить все.