Список исключений dep windows

Как отключить DEP

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

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

  1. Нажмите «Пуск», откройте пункт «Система» в Панели управления
  2. Нажмите на ссылку «Дополнительные параметры системы» в левой части экрана
  3. Перейдите на вкладку «Дополнительно» и нажмите на кнопку «Параметры»
  4. Перейдите на вкладку «Предотвращение выполнения данных», установите «радиокнопку» на пункт «Включить DEP для всех программ и служб, кроме выбранных ниже» и нажмите «Добавить»
  5. Откроется окно диспетчера файлов. Выберите в нем исполняемый файл нужной программы и нажмите «Открыть»
  6. Появится уведомление, сообщающее о возросших рисках. Если вы готовы отключить DEP для программы, нажмите «ОК»
  7. Перед вами появится список всех программ с отключенной функцией DEP. Нажмите «ОК», закройте все окна Панели управления

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

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

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

  1. Нажмите одновременно кнопки WIN + R, в поисковом поле введите «regedit», нажмите «ОК»
  2. Запустится Редактор системного реестра. Найдите в нем ветку HKEY_LOCAL_MACHINE > SOFTWARE > Microsoft > Windows NT > CurrentVersion > AppCompatFlags. Сделайте на нем правый клик мышью, выберите «Создать > Раздел»
  3. Назовите раздел «Layers»
  4. Далее действия будут повторяться для каждой программы, для которой необходимо отключить защиту DEP. В левой половине окна выделите только что созданный раздел Layers, в правой половине щелкните правой кнопкой мышки и создайте строковый параметр
  5. Назовите его именно так, как называется исполняемый файл приложения без расширения (например, для Internet Explorer это iexplore)
  6. Кликните по созданному параметру дважды. В поле «Значение» введите путь к указанному файлу (уже полностью, включая расширение) и нажмите «ОК»
  7. Эти действия требуется повторить для каждой программы, которой требуются исключения безопасности. Когда завершите процесс изменения реестра, перезагрузите компьютер.

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

  1. Нажмите Пуск, в текстовое поле введите cmd . Сделайте на появившейся иконке командного интерпретатора правый клик и запустите его с правами администратора
  2. В открывшееся окно введите без кавычек текст bcdedit.exe /set nx AlwaysOff и нажмите ввод
  3. Если предыдущая операция была успешной, все что вам останется сделать для вступления изменений в силу — перезагрузить компьютер.

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

Отключение DEP для Виндовс 7

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

Способ 1: Командная строка

  1. Открываем «Пуск», вводим cmd . Жмём ПКМ, открываем с возможностью администрирования.

Набираем следующее значение:
bcdedit.exe /set nx AlwaysOff
Жмём «Enter».

Способ 2: Панель управления

  1. . С возможностью администрирования входим в ОС, переходим по адресу:
    Панель управления\Все элементы панели управления\Система

Переходим в «Дополнительные параметры системы».

Подраздел «Дополнительно» находим в участке «Быстродействие», переходим в пункт «Параметры».

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

Способ 3: Редактор базы данных

  1. Открываем редактор базы данных. Наиболее оптимальный вариант – нажимаем клавиши «Win+R», пишем команду regedit.exe .

Переходим в следующий раздел:
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Layers .

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

Включения работы DEP: запускаем интерпретатор команд Виндовс 7, и в нём вводим команду:
Bcdedit.exe/set nx OptIn
Дальше перезапускаем ПК.

При выполнении данных несложных действий при помощи командной строки или настройки системы/реестра отключается функция DEP в Виндовс 7. Представляет ли опасность отключение функционала DEP? Чаще всего — нет, если программа, для которой происходит это действие, с официального ресурса, то это не опасно. В других случаях есть опасность заражения вирусным ПО.

Отключение/включение функции DEP в Windows 7-10

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

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

Вы можете посмотреть видео или читать статью:

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

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

bcdedit.exe /set nx AlwaysOff

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

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

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

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

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

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

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

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

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

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

bcdedit.exe /set nx OptIn

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

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

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

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

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

Предотвращение выполнения данных (Data Execution Prevention, DEP) — это технология защиты оперативной памяти. Компьютер с помощью DEP помечает все ячейки памяти, используемые приложениями, как неисполняемые «только для данных», если ячейка не содержит исполняемого кода в явном виде.

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

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

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

Компании Advanced Micro Devices (AMD) и Intel поставляют совместимые с Windows процессоры, поддерживающие функцию DEP.

Начиная с пакета обновления 2 (SP2) для Windows XP 32-разрядная версия Windows использует один из следующих методов.

  • Функцию no-execute page-protection (NX), разработанную компанией AMD.
  • Функцию Execute Disable Bit (XD), разработанную компанией Intel.

Чтобы использовать указанные функции, необходимо, чтобы процессор работал в режиме расширения физических адресов (Physical Address Extension, PAE). Windows автоматически включает режим PAE для поддержки функции DEP, поэтому пользователям не нужно отдельно включать PAE.

Physical Address Extension (PAE) — режим работы встроенного блока управления памятью x86-совместимых процессоров, в котором используются 64-битные элементы таблиц страниц (из которых для адресации используются только 36 бит), c помощью которых процессор может адресовать 64 ГБ физической памяти (вместо 4 ГБ, адресуемых при использовании 32-разрядных таблиц), хотя каждая задача (программа) всё равно может адресовать максимум до 4 ГБ виртуальной памяти.

64-разрядные версии Windows также поддерживают функцию NX, но режим работы с оперативной памятью РАЕ для них не обязателен. Кроме того, для 64-разрядных компьютеров возможны разные конфигурации памяти.

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

1. Откройте меню Пуск и выберите Панель управления.

Меню Пуск — Панель управления

2. Щелкните на категории Система и безопасность и откройте окно Система.

Категория Система и безопасность

3. Внизу в левой части щелкните на ссылке Счетчики и средства производительности.

Счетчики и средства производительности

4. Щелкните на ссылке Настройка визуальных эффектов. На экране появится диалоговое окно Параметры быстродействия.

Настройка визуальных эффектов

5. Откройте вкладку Предотвращение выполнения данных. Внизу вы найдете информацию о поддержке DEP.

Информацию о поддержке DEP

Во вкладке Предотвращение выполнения данных можно настроить работу DEP с помощью следующих параметров.

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

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

Щелкните на кнопке Добавить… и выберите программы, для которых вы хотите отключить предотвращение выполнения.

Отключение предотвращение выполнения

Программа в исключении

Обратите внимание, в 64-разрядных версиях Windows механизм DEP всегда включен для 64-разрядных приложений. Поэтому если вы пожелаете его включить для 64-разрядных приложений, то появится диалоговое окно «Вы не можете задать атрибуты DEP для 64-разрядных исполняемых файлов».

DEP всегда включен для 64-разрядных приложений

Как убедиться, что аппаратная функция DEP работает в Windows

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

Способ 1. Используйте средство командной строки Wmic

С помощью средства командной строки Wmic можно проверить параметры DEP. Чтобы определить, доступна ли аппаратная функция DEP, выполните следующие действия:

1. В меню Пуск меню Пуск введите в поле Поиска команду cmd и нажмите кнопку ВВОД.

Вызов командной строки

2. В командной строке введите следующую команду и нажмите клавишу ВВОД:

wmic OS Get DataExecutionPrevention_Available

Если в результате будет получено значение TRUE, аппаратная функция DEP включена.

Средство командной строки Wmic

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

Параметр no-execute page-protection (NX) включает аппаратный DEP на платах с чипсетом от AMD, а параметр Execute Disable Bit (XD) — на платах с чипсетами от Intel.

Чтобы определить текущую политику поддержки DEP, выполните следующие действия.

1. В меню Пуск меню Пуск введите в поле Поиска команду cmd и нажмите кнопку ВВОД.

Вызов командной строки

2. В командной строке введите следующую команду и нажмите клавишу ВВОД:

wmic OS Get DataExecutionPrevention_SupportPolicy

В результате выполнения команды будет возвращено значение 0, 1, 2 или 3.

Политика поддержки DEP

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

2 — OptIn (конфигурация по умолчанию) — Функция DEP включена только для системных компонентов и служб Windows

3 – OptOut — Функция DEP включена для всех процессов. Администратор может вручную создать список приложений, для которых функция DEP отключена

1 – AlwaysOn — Функция DEP включена для всех процессов

0 – AlwaysOff — Функция DEP отключена для всех процессов

Преимущества DEP

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

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

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

Читайте также:  Enable windows powershell remoting
Оцените статью