Предотвращение выполнения данных в Windows: что такое DEP. Настройка предотвращения выполнения данных (DEP)

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

Как полностью отключить DEP

Итак, сразу к делу. Нажимаем кнопку «Пуск» и в строке поиска пишем «cmd». В результатах поиска в самом верху находим cmd — это нужно для . Чтобы запустить её с правами Администратора кликаем по команде правой кнопкой и выбираем из контекстного меню «Запуск от имени администратора».

Соответственно, если на данный момент вы залогинены в Windows как обычный пользователь, то система попросит ввести пароль администратора. Теперь, в появившееся чёрное окошко вставляем команду и жмём «Enter»:

bcdedit.exe /set {current} nx AlwaysOff

Результатом должно быть сообщение: «Операция успешно завершена»

Далее нужно перезагрузиться чтобы изменения вступили в силу. Таким образом мы отключили DEP для ВСЕХ служб и программ, в независимости от того, поддерживается ли предотвращение выполнения данных вашим процессором на аппаратном уровне или нет.

Как выключить функцию DEP для отдельной программы

Для этого идём в «Панель управления -> Система» или же нажимаем правой кнопкой по значку «Мой компьютер» на рабочем столе и выбираем «Свойства». Слева в окне кликаем на «Дополнительные параметры системы»

В разделе «Быстродействие» жмём на кнопку «Параметры»

Нам нужна вкладка «Предотвращение выполнения данных». Здесь в принципе всё и так понятно:

По умолчанию DEP работает только для основных программ и служб. Переставляя переключатель в положение «Включить DEP для всех программ и служб, кроме выбранных ниже» мы можем сами определить для каких программ нужно отключать функцию DEP. Для этого просто выберите программу из списка или нажмите «Добавить» и вручную выберите запускаемый (.exe) файл.

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

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

Как обратно включить DEP

Чтобы вернуть DEP назад запустите ещё раз командную строку «cmd» от имени администратора, только на этот раз вставьте такую команду:

bcdedit.exe /set {current} nx OptIn

и перезагрузитесь.

Что вообще такое DEP

Теперь небольшое отступление что же это за функция такая и с чем её едят. Data Execution Prevention призвано защитить систему от некоторых вирусов и угроз безопасности системы. Но, ни в коем случае не стоит путать это с антивирусом или брандмауэром! Это абсолютно разные вещи.

DEP помечает некоторые служебные области в оперативной памяти компьютера как «неисполняемые», и если программа попытается исполнить свой код в этой области, то функция сработает, программа будет принудительно закрыта и будет выдано соответствующее сообщение. Дело в том, что так могут работать некоторые вирусы, а потому такой метод блокировки помогает предотвратить выполнение определённого вредоносного кода.

Бывает как аппаратная реализация DEP (с помощью команд процессора), так и программная (с помощью специального программного кода Windows). Аппаратная реализация надёжнее и все современные процессоры её поддерживают. Так что, если никаких проблем нет, то лучше ничего в настройках не менять. Но, к сожалению, функция DEP может мешать работе и нормальных программ, поэтому иногда её отключают. Как это сделать — статья вам в помощь!

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

Основным преимуществом функции DEP является возможность предотвращения запуска вредоносного кода из области данных. При аппаратной реализации функция DEP вызывает исключение при запуске кода из указанных местоположений. Функция DEP, реализованная на программном уровне, предотвращает использование вредоносными программами механизма обработки исключений, существующего в Windows.

Изменение параметров функции DEP в Windows XP.
1. Нажмите кнопку "Пуск" и выберите пункт "Выполнить " или нажмите на клавиатуре комбинацию клавиш Win + R ;

2. В поле "Открыть" напишите команду sysdm.cpl и нажмите кнопку "ОК";
3. В окне "Свойства системы", перейдите на вкладку "Дополнительно ";
4. Затем в графе "Быстродействие ", нажмите кнопку "Параметры ";
5. В окне "Параметры быстродействия", перейдите на вкладку "Предотвращение выполнение данных ";
6. Выберите необходимый режим работы функции DEP;

7. Нажмите кнопку "Применить ";

По умолчанию, функция DEP включена только для основных программ и служб Windows, т.е. охраняет только саму систему Windows.

Как включить функцию DEP только для служб Windows:
1. Необходимо на вкладке "Предотвращение выполнение данных", выбрать пункт "Включить DEP только для основных программ и служб Windows ";
2. Нажмите кнопку "Применить ";

Как включить функцию DEP для всех программ установленных на компьютере:
1. Необходимо на вкладке "Предотвращение выполнение данных", выбрать пункт "Включить DEP для всех программ и служб, кроме выбранных ниже ";
2. Нажмите кнопку "Применить ";

Как отключить функцию DEP для конкретной программы:
1. Необходимо на вкладке "Предотвращение выполнение данных", выбрать режим "Включить DEP для всех программ и служб, кроме выбранных ниже ";
2. Нажмите кнопку "Добавить ";
3. Затем используя открывшееся окно "Открыть", необходимо найти исполняемый файл программы;

4. Щелкнуть левой кнопкой мыши по исполняемому файлу программы и нажать кнопку "Открыть ";
5. Убедитесь что рядом с названием программы, установлен флажок (галочка);
6. Нажмите кнопку "Применить ";

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

Аппаратная реализация DEP

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

Программная реализация DEP

Программно функция предотвращения выполнения данных реализована во всех основных десктопных операционных системах (Windows, Linux, macOS), доступна она также в Android. В системах Windows DEP появилась в Windows XP SP 2 и Windows Server 2003 SP 1. Начиная с Windows Vista эта функция является встроенной в систему.

В Windows 7 при срабатывании DEP можно увидеть следующее сообщение: Для обеспечения защиты вашего компьютера служба предотвращения выполнения данных закрыла [имя программы] . По умолчанию эта функция включена только для основных программ и служб операционной системы, но её можно распространить и на все программы и службы. Отключить DEP в Windows полностью через графический интерфейс не представляется возможным, но это можно сделать путем редактирования загрузчика Windows.

Чтобы попасть в настройки DEP в Windows 7 откройте свойства системы (Пуск Панель управления Система ). Далее откройте Дополнительные параметры системы , там найдите пункт Быстродействие и нажмите Параметры .

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

Отключение функции DEP в Windows

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

Запустите командную строку с правами администратора и вбейте следующий текст:

bcdedit.exe /set {current} nx AlwaysOff

После этого нужно перезагрузить компьютер.

Обратно включить функцию DEP можно командой

bcdedit.exe /set {current} nx OptIn

После этого нужно также перезагрузить ПК.

Как отключить DEP в Windows 10. DEP — DataExecutionPrevention – это специальная функция системы, позволяющая предотвратить исполнение программного кода в неисполняемых сегментах памяти. Иными словами, она не позволяет вредоносным программам или вирусам проникнуть в ваш компьютер .
Некоторым приложениям данная функция мешает выполнять свои задачи и может стать причиной возникновения ошибок при загрузке .
Чаще всего это происходит с играми, такими как например FIFA 18 — в результате включенного DEP появляется ошибка - «Память не может быть прочтена или записана», или «Ошибка при обращении к адресу...»
Отключение Dep в Windows можно осуществить полностью или выборочно, для определенных программ с которыми возникают проблемы.

Как отключить DEP в Windows 10 для определенных программ

Самым оптимальным методом будет отключение функции только для тех приложений, которые вызывают ошибку при их загрузке. Осуществить это можно путем настройки параметров ОС или при помощи редактирования данных в реестре.
Чтобы воспользоваться первым вариантом, понадобится проделать следующие манипуляции:
1. В контрольной панели компьютера выбрать иконку системы.
2. Нажать «Дополнительные параметры…».

3. Выбрать раздел «Дополнительно».
4. Нажать «Параметры».
5. В следующем окне выбрать «Включить DEP для всех программ...».
6. Добавить программу в исключения, используя одноименную кнопку.
7. По окончании добавления нажать «OK».

По завершении данной процедуры нужно будет перезагрузить компьютер, чтобы новые настройки вступили в силу.

Отключение DEP в Windows 10 из реестра

Этот вариант представляет собой такое же действие, как предыдущее, но осуществляется оно путем редактирования настроек в реестре ОС. Метод менее удобен в использовании чем предыдущий, но нужно упомянуть и о такой возможности.
Чтобы отключить DataExecutionPrevention используя реестр операционной системы, проделайте следующие шаги:
1. Используйте комбинацию Win+R для открытия окна «Выполнить».
2. В появившуюся строку впишите «regedit» и нажмите Ввод.
3. В редакторе пройдите по адресу: HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Layers
4. Создайте параметр, именем которого будет путь к приложению.
5. Установите ему значение DisableNXShowUI.

Воспользовавшись этим методом функция DEP будет отключена для всех приложений без исключения. Для этого потребуется проделать следующие операции:
1. Запустить командную строку с привилегиями администратора.
2. Вписать в неё следующий код: bcdedit.exe/set {current} nxAlwaysOff и нажать Enter.

3. Затем потребуется перезагрузить ПК, после чего функция будет отключена.
Чтобы при надобности включить DEP обратно , можно использовать немного изменённую команду, в которой нужно поменять AlwaysOff на AlwaysOn . Выглядеть будет так: bcdedit.exe/set {current} nxAlwaysOn

В этой статье будет рассказано о том, как можно включить/отключить в системе функции DEP (Data Execution Prevention, или иначе, ) на ОС Windows 7, 8, 10. При этом, система, опираясь на аппаратную составляющую устройства, производит блокировку исполняемого кода в тех областях, которые помечены, как неисполняемые. Фактически, производится блокировка возможности атаки вирусного ПО с этой стороны.

Однако, данная опция может блокировать и вполне «мирные» приложения и игры, при их запуске могут выдавать ошибки, вроде «Инструкция обратилась к памяти по адресу. Память не может быть read или written». Отключить dep можно для всей системы или же для одного конкретного приложения.

Отключение DEP для всей системы

Для начала, пользователю потребуется запустить командную строку от имени администратора, сделать это можно через меню пуск, найдя соответствующее приложения, щелкнув по нему ПКМ и нажав на нужный пункт меню. В консоли нужно ввести оператор bcdedit.exe /set {current} nx AlwaysOff и выполнить его.

После выполнения команды потребуется перезапустить компьютер. Для включения опции стоит использовать ту же команду, только заменить последнее слово на AlwaysOn .

Отключение для определенной программы

В случае, если требуется отключить опцию только для нескольких определенных приложений, есть способ проще, чем использование командной строки. Можно зайти в панель управления , оттуда перейти в раздел Система . Откроется окно с ее свойствами, необходимо перейти на вкладку Дополнительно , перейти к пункту быстродействие и щелкнуть по параметрам.

Откроется окно, в котором следует перейти на вкладку под названием предотвращение выполнения данных . Здесь можно будет выбрать второй пункт, в котором потребуется указать утилиту, для которой будет отключен dep, их сюда можно добавлять в неограниченном количестве, хоть все.

Используем редактор реестра

В случае, если предыдущий метод не помог, можно использовать редактор реестра для внесения нужных изменений. Не стоит забывать, что работать с ним нужно очень осторожно, не менять и не удалять переменные просто так. Лучше всего будет создать резервную копию ветки реестра перед редактированием, также можно создать новую точку восстановления, чтобы было куда откатить компьютер, в случае сбоев.

После того, как предварительные меры будут приняты, можно приступать к действиям. Для начала нужно нажать на win+ r и написать в появившемся окне regedit . После этого откроется приложение для редактирования реестра, в нем следует пройти по пути. Теперь будет нужно щелкнуть по пустому месту в правой части окна правой кнопкой мыши и выбрать Создать во всплывшем меню, потом нужно кликнуть по строковому параметру. Новая переменная должна содержать в качестве имени полный путь к программе, для которой нужно отключить dep.

В качестве значения должно содержаться DisableNXShowUI . Дальше останется только перезагрузить компьютер, нужная опция будет отключена для указанных приложений.

Включение DEP

Для включения опции придется вспомнить то, каким образом она была отключена. Если выключение производилось для всей системы, то опция, в которую можно попасть через панель управления, будет просто недоступна.

Так что в этом случае потребуется снова вызвать командную строку с правами администратора и ввести там оператор bcdedit.exe /set {current} nx AlwaysO n . Далее потребуется перезагрузка устройства, после чего, функция снова станет работоспособной и ее можно станет отключать только для некоторых приложений.

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

Если отключение производилось через реестр, то нужно снова зайти в него, пройти по пути HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Layers и удалить там те параметры, которые отвечают за нужные приложения, либо удалить все.

Статьи по теме: