В этой статье будет рассказано о том, как можно включить/отключить в системе функции 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 и удалить там те параметры, которые отвечают за нужные приложения, либо удалить все.

Современные операционные системы и современные процессоры реализуют на программном и аппаратном уровнях функцию предотвращения выполнения данных (англ. 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 оправдано в том случае, если на вашем компьютере установлен надежный антивирус и не менее качественный брандмауэр. В ряде случаев бывает достаточно не отключать DEP полностью, а изменить настройки этой функции. Для этого зайдите в «Панель управления», потом откройте пункты меню «Свойства» - «Дополнительно». Найдите раздел «Быстродействие», нажмите кнопку «Параметры» и выберите вкладку «Предотвращение выполнения данных». Для изменения параметров DEP вам понадобится пароль администратора.

Для полного отключения DEP в Windows XP необходимо отредактировать файл boot.ini, находящийся в коневой части загрузочного диска. Отредактировать его можно двумя способами. Первый: включите отображение системных файлов, для этого откройте свойства любой папки – «Сервис» - «Свойства папки» - «Вид». Активируйте радиокнопку «Показывать скрытые файлы и папки», потом найдите строку «Скрывать защищенные системные файлы», снимите с нее флажок и нажмите кнопку ОК.

Откройте файл boot.ini, найдите параметр noexecute и измените его на noexecute=AlwaysOff. Сохраните изменения и перезагрузите компьютер. Теперь функция DEP всегда .

Во втором варианте вы можете изменить файл boot.ini через функцию редактирования параметров загрузки и восстановления. Откройте «Панель управления», выберите из списка строку «Система», потом пункт «Дополнительно». В разделе «Загрузка и восстановление» найдите и нажмите кнопку «Параметры». Далее в новом окне нажмите кнопку «Правка». Отредактируйте файл boot.ini и сохраните изменения.

Если вы пользуетесь операционной системой Windows 7, отключение DEP можно выполнить следующим способом. Сначала запустите командную строку (консоль), для этого нажмите кнопку «Пуск» и в поле поиска введите команду cmd, потом кликните правой кнопкой мышки и запустите программу от имени администратора. Далее в открывшемся окне консоли введите: bcdedit.exe /set {current} nx AlwaysOff, проверьте правильность команды и нажмите Enter. Перезагрузите компьютер. Функция DEP будет отключена для всей системы.

Видео по теме

Источники:

  • отключить dep windows xp

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

DEP как Data Execution Prevention, или предотвращение выполнения данных. Данная функция встроена во все современные операционные системы, включая и Windows. Ее задачей является блокировка попыток выполнить код, находящийся в области памяти, предназначенной только для данных. Логика такого запрета проста и понятна: данные – это не исполняемый код, а информация. Если область памяти имеет пометку «только для данных», то в ней не может быть исполняемого кода. И когда вдруг в этой области памяти некий процесс пытается запустить код, это уже явный признак нештатной ситуации.

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

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

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

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

Операционная система 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. Выключить защитную функцию можно через параметры быстродействия:


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

В операционных системах 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 может мешать работе и нормальных программ, поэтому иногда её отключают. Как это сделать — статья вам в помощь!