267 подписчиков

Что такое DEP и как его отключить в Windows 10

4,5K прочитали
DEP (Data Execution Prevention) — функция предотвращения выполнения данных в Windows, представляет собой защитный алгоритм, который разрешает или запрещает выполнение программного кода в оперативной

DEP (Data Execution Prevention) — функция предотвращения выполнения данных в Windows, представляет собой защитный алгоритм, который разрешает или запрещает выполнение программного кода в оперативной памяти компьютера. В случае обнаружения в оперативной памяти вредоносного программного кода DEP блокирует (предотвращает) выполнение (запуск) программы и уведомляет об этом пользователя:

DEP (Data Execution Prevention) — функция предотвращения выполнения данных в Windows, представляет собой защитный алгоритм, который разрешает или запрещает выполнение программного кода в оперативной-2

Зачем отключать защиту DEP?

В ряде случаев при запуске надежного и проверенного программного обеспечения (компиляторы, отладчики и т.п.) или даже игр наблюдается ложное срабатывание DEP, при котором защита самостоятельно, без участия пользователя, прекращает выполнение подозрительного, как ей кажется, процесса. Также DEP может приводить к появлению "синего экрана смерти" или BSOD, например, при аварийном выключении или перезагрузке компьютера и автоматическом завершении выполняющихся процессов в оперативной памяти. В подобных случаях рекомендуется полностью отключать защиту DEP (глобально) или же отключать защиту для конкретных исполняемых файлов.

Рассмотрим как это можно сделать.

Способ 1. Отключение DEP через командную строку

1. Запускаем командную строку от имени Администратора

2. Вводим команду как показано на скриншоте ниже и жмём Enter:

bcdedit.exe /set {current} nx AlwaysOff

DEP (Data Execution Prevention) — функция предотвращения выполнения данных в Windows, представляет собой защитный алгоритм, который разрешает или запрещает выполнение программного кода в оперативной-3

3. В случае успешного завершения на экране появится уведомление "Операция успешно завершена". Закрываем окно и перезагружаем компьютер.

4. Чтобы отменить внесенные изменения и включить DEP обратно в командной строке вводим соответствующую команду:

bcdedit.exe/set{current} nx OptIn

или

bcdedit.exe/set {current} nx AlwaysOn

После чего перезапускаем компьютер.

Способ 2. Отключение DEP с помощью редактирования BCD файла

Указать режим работы DEP можно непосредственно путем внесения изменений в загрузочный файл BCD. Файл BCD (Boot Configuratin Data) – преемник загрузочного файла boot.ini, который содержит информацию о загрузчиках операционных систем и параметрах загрузки Windows. Редактировать BCD файл будем с помощью утилиты BootIce.

1. Запускаем BootIce, переходим на вкладку "Правка BCD", выбираем пункт "BCD текущей системы" и нажимаем кнопку "Простой режим":

DEP (Data Execution Prevention) — функция предотвращения выполнения данных в Windows, представляет собой защитный алгоритм, который разрешает или запрещает выполнение программного кода в оперативной-4

2. В открывшемся окне переходим к пункту "NX", который отвечает за режим работы DEP, и выбираем в раскрывающемся меню справа нужное значение:

DEP (Data Execution Prevention) — функция предотвращения выполнения данных в Windows, представляет собой защитный алгоритм, который разрешает или запрещает выполнение программного кода в оперативной-5

3. Нажимаем кнопку "Сохранить текущую систему" и перезагружаем компьютер.

Примечания:
По умолчанию для функции DEP всегда включена и установлено значение OptIn. Значение OptOut означает что в системе существуют исключения программ, для которых DEP отключена. Значения AlwaysOff и AlwaysOn означают, что функция DEP отключена или включена глобально для всей системы, независимо от наличия аппаратной поддержки DEP .

Посмотреть текущее состояние DEP можно, например, с помощью утилиты EasyBCD:

DEP (Data Execution Prevention) — функция предотвращения выполнения данных в Windows, представляет собой защитный алгоритм, который разрешает или запрещает выполнение программного кода в оперативной-6

Способ 3. Отключение DEP для конкретной программы с помощью настроек системы

1. Заходим в свойства компьютера и в боковом меню выбираем пункт "Дополнительные параметры системы"

DEP (Data Execution Prevention) — функция предотвращения выполнения данных в Windows, представляет собой защитный алгоритм, который разрешает или запрещает выполнение программного кода в оперативной-7

2. В отрывшемся окне "Свойства системы" переходим на вкладку "Дополнительно" далее раздел "Быстродействие" - "Параметры" . В окне параметров быстродействия устанавливаем переключатель в положение "Включить DEP для всех программ и служб, кроме выбранных ниже" :

DEP (Data Execution Prevention) — функция предотвращения выполнения данных в Windows, представляет собой защитный алгоритм, который разрешает или запрещает выполнение программного кода в оперативной-8

3. Нажимаем кнопку "Добавить" и указываем программу, для которой нужно отключить DEP. Далее ждем применить, после чего необходимо перерезагрузить компьютер.

Важно! Оключить защиту DEP можно не для всех программ. Если DEP отключить нельзя, то при добавлении программы на экране появится соответствующее уведомление.

DEP (Data Execution Prevention) — функция предотвращения выполнения данных в Windows, представляет собой защитный алгоритм, который разрешает или запрещает выполнение программного кода в оперативной-9

Если все же программа не запускается или выдает ошибку именно из-за включенной защиты DEP попробуйте отключить DEP глобально для всей системы, как это было показано в первом способе из командной строки с правами администратора.

Способ 4. Отключение DEP для конкретной программы через редактор реестра

Этот способ идентичен описанному выше способу отключения DEP для программ с помощью настроек системы, но использует редактор реестра. Может кому-то так будет удобнее.

1. Нажимаем клавиши "Win+R" и в окне запуска пишем команду запуска редактора реестра: regedit.exe и нажимаем Enter

2. В редакторе реестра переходим по ветке:

HKLM \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Layers

Если подраздел Layers не существует, то создаем его:

DEP (Data Execution Prevention) — функция предотвращения выполнения данных в Windows, представляет собой защитный алгоритм, который разрешает или запрещает выполнение программного кода в оперативной-10

3. Для выбранной программмы создаем новый строковый параметр, где имя параметра это путь к нужной программе, например:

D:\Programs\LinX\LinX.exe

а в значении этого параметра указываем DisableNXShowUI

Примечание:

Надо иметь ввиду, что это выбранное для отключения DEP приложение должно поддерживать отключение DEP и, кроме того, отключение функции у 64-битных программ вообще невозможно. Также необходимо отметить, что устаревшие процессоры могут не поддерживать DEP на аппаратном уровне и в этом случае функция DEP будет работать только на программном уровне, используя базовые службы и программы Windows.

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