Предотвращение выполнения данных в Windows: что такое DEP. Включение и отключение DEP в Windows

Как отключить 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 на Windows 7.

Что такое DEP?

DEP – это функция предотвращения исполнения данных, призванная защитить систему от деятельности вредоносных приложений. Технология эта не относится ни к антивирусам, ни к брандмауэрам, однако выполняет схожие обязанности по защите системы от вирусных атак.

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

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

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

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


При следующем запуске системы функция ПВД действовать не будет. Для её включения необходимо снова запустить командную строку и ввести запрос вида «bcdedit.exe /set {current} nx OptIn».

Помните, что отключение предотвращения исполнения данных приводит к снижению уровня безопасности Windows.

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

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

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

На Windows 7 это делается следующим образом:


Вы увидите несколько вкладок с полезными функциями. Например, на вкладке «Визуальные эффекты» можно отключить все лишние инструменты оформления и ускорить компьютер Windows 7. Но в данном случае вам нужна другая вкладка, которая называется «Предотвращение выполнения данных».

  1. Отметьте пункт «Включить DEP для всех программ, кроме выбранных».
  2. Нажмите кнопку «Добавить» и укажите путь к EXE-файлам программ, которые вы хотите сделать исключениями.

Важно: 64-битные приложения нельзя добавить в список исключений. Кроме того, программа должна сама поддерживать работу с отключенной функцией DEP.

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

Использование реестра

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


После закрытия реестра приложение должно запускаться без ошибок из-за работы функции 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. Нажмите кнопку "Применить ";

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

Бывают ситуации, в которых функция DEP работает неправильно. Из-за нее пользователь не может запустить необходимое ему приложение или игру, поскольку на экране появляется ошибка «Инструкция по адресу обратилась к памяти по адресу». В такой ситуации можно отключить DEP для отдельной программы или деактивировать защитную функцию на уровне системы. Ниже будут рассмотрены оба варианта.

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

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

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

Bcdedit.exe /set {current} nx AlwaysOff

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

Bcdedit.exe /set {current} nx AlwaysOn

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

Поскольку отключение DEP для всех программ и служб в Windows опасно, рекомендуется деактивировать функцию завершения выполнения данных для отдельного приложения, которое выдает ошибку «Инструкция по адресу обратилась к памяти по адресу». Сделать это можно двумя способами – через реестр или параметры быстродействия.

Отключение DEP через реестр

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

  1. Нажать на клавиатуре сочетание клавиш Windows+R, чтобы запустить строку «Выполнить». Пропишите в ней regedit и нажмите Enter, после чего откроется редактор реестра;
  2. Далее в левой части меню нужно перейти по следующим разделам:
HKEY_LOCAL_MACHINE - SOFTWARE - Microsoft - Windows NT - CurrentVersion - AppCompatFlags –Layers

Обратите внимание: В некоторых версиях операционной системы Windows может отсутствовать конечный раздел Layers. В такой ситуации потребуется его создать самостоятельно. Для этого откройте раздел AppCompatFlags в левой части экрана и нажмите правой кнопкой мыши в списке его строковых параметров. Во всплывающем окне выберите «Создать» - «Раздел» и назовите его Layers. После этого в него можно заходить и продолжать выполнение инструкции.


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

Отключение через параметры быстродействия

Некоторым пользователям удобнее работать с привычным интерфейсом Windows, чем с реестром. Для них компания Microsoft так же предусмотрела возможность отключения DEP. Выключить защитную функцию можно через параметры быстродействия:


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

Начиная с WIndows XP в операционных системах Microsoft присутствует поддержка аппаратной защиты стандартов ExecuteDisabled (Intel) и NoExecute (AMD). В Microsoft поддержку этих аппаратных инструкций обобщенно назвали DEP (по-русски — «Предотвращение Выполнения Данных). Предназначение функции в том, чтобы программный код, считанный из некоторых областей оперативной памяти, не смог стать исполняемым. Говоря понятным языком, так блокируется один из путей заражения компьютера вирусами. Функция безусловно полезная, но некоторые программисты при написании своих «шедевров» не учитывают особенности поведения программы при включении подобной защиты. В результате простой пользователь получает ошибку «Память не может быть read/write». Если вы столкнулись с подобной проблемой и точно уверены что программа не является вредоносной, можете попробовать отключить защиту DEP. Это несколько ослабит защищенность, но вероятно позволить использовать программу. Как отключить аппаратное предотвращение выполнения данных я опишу ниже в этой заметке.

Если программ, конфликтующих с DEP, у вас одна или несколько, рекомендуется отключить защиту только для них, не затрагивая поведение системы в целом. Для этого сделайте следующее:


Замечу, что выборочное отключение DEP возможно только для 32-разрядных программ. При попытке добавить в «белый список» 64-битное приложение вы получите сообщение об ошибке.
Если вам непременно нужно запускать 64-битную программу в обход DEP, единственный выход — отключить защиту полностью, для всех приложений в системе. Как это сделать будет рассказано чуть позже.

Отключение DEP через реестр

Второй способ отключения защиты DEP для отдельной программы заключается в редактировании реестра. Необходимые для этого действия таковы:


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