Сайт о телевидении

Сайт о телевидении

» » Как добавить в dep исключения. Предотвращение выполнения данных в Windows: что такое DEP

Как добавить в dep исключения. Предотвращение выполнения данных в Windows: что такое DEP

Современные операционные системы и современные процессоры реализуют на программном и аппаратном уровнях функцию предотвращения выполнения данных (англ. 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 на случай, если вы передумаете.


Расшифровка

Начнем с объяснения термина. Три заглавные буквы скрывают под собой словосочетание Data Execution Prevention. На нашем языке это звучит как «предотвращение выполнения данных».

На практике данное понятие означает по умолчанию установленную функцию виндовс, что-то вроде антивируса, но по сути им не считается. Она блокирует проги, которые хотят для своей работы применить часть оперативной памяти, отмеченную операционкой как «неиспользуемая».

Вы, в свою очередь, получаете сообщение такого плана: «инструкция по адресу «такому-то» обратилась к памяти по адресу «другому», память не может быть «written» либо «read»». И все, что можете предпринять в данной ситуации - нажать «ОК».

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

Через командную строку

Вам следует выполнить всего 3 простых действия:

Если вы захотите вернуть все, как было, выполните то же самое, только замените концовку команды на «On».

Выключение DEP для определенных прог

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

Но вы должны быть уверены, что они не содержат вирусов. Им можно доверять? Тогда приступим:

  • Откройте раздел «Система» с Панели управления. Альтернативный вариант: клацнуть ПКМ на иконке «моего компьютера» и войти в «Свойства».
  • Перейдите в «Дополнительные параметры системы» и в появившемся окне разверните вкладку «Дополнительно».
  • Жмите на кнопку «Параметры», расположенную сверху.

Через редактор реестра

Добавить исключения можно и другим способом:

  • Войдите в редактор реестра путем зажатия кнопок Win и R.
  • Щелкните «ОК» или Enter.

  • Слева перейдите по папкам HKEY_LOCAL_MACHINE - SOFTWARE - Microsoft - Windows NT - CurrentVersion - AppCompatFlags - Layers.
  • Если последней вы не увидели, создайте ее сами.
  • Для проги, которую вы желаете освободить от DEP, сделайте строковый параметр с наименованием, соответствующим пути к самому файлу.
  • Значение этого параметра должно иметь такой вид: DisableNXShowUI.

Все описанные выше способы работают не только в Windows 10, но также в 7, 8 и 8.1.

Вам помогла эта статья?

Не забудьте рассказать о ней своим друзьям.

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


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

Предотвращение выполнения данных (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. Откройте меню Пуск и выберите Панель управления.

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

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

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

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

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

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

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

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

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

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

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

wmic OS Get DataExecutionPrevention_Available

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

Если 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, описанным ниже.

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

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

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

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

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

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

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

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

Любители покопаться в настройках операционной системы Виндовс наверняка встречали упоминание о DEP. Это английская аббревиатура, образованная от слов Data Execution Prevention, что в русской транскрипции означает функцию предотвращения выполнения данных. К примеру, эти настройки в «Семерке» можно легко найти, если проследовать по пути: «Мой компьютер» - открываем «Свойства» - идем в «Дополнительные параметры» - теперь «Дополнительно» и «Параметры». Нужная вкладка одна - предотвращение выполнения данных. Здесь пользователю предоставляется возможность выбора режима работы функции: задействовать для некоторых системных служб и программ или для всех, кроме указанного исключения. Правда, отключение dep отсюда выполнить не получится, но об этом чуть позже.

Функция DEP является интегрированным в Виндовс (начиная с XP со вторым сервис-паком) программным решением, позволяющим предотвращать выполнение программного кода из области данных (куча, стек). Механизм работы с памятью предполагает, что существует несколько областей, в которых не должны находиться исполняемые участки кода. Несмотря на это, как в Линукс с ядром до 2.3.23, так и в Виндовс до SP2, никакого контроля за размещением программных данных в системной памяти не выполнялось. Разумеется, за исключением защиты непосредственно самого ядра. Данной уязвимостью просто не могли не воспользоваться создатели вредоносных программ (вирусов), в результате чего стали активно шириться различные черви и эксплоиты, через root получавшие права доступа. Кроме того, многие вирусы вызывали переполнение буфера и фактическое

Для предотвращения этого был реализован механизм защиты. На тот момент никто даже не думал, как отключить dep, ведь это казалось благом. Разработчики процессоров быстро сориентировались и включили аппаратную поддержку данной функции - это XD бит у Pentium 4 шестой серии и NX бит у Athlon 64. Интересно, что благодаря правильному маркетингу наличие такой поддержки стоило покупателю дополнительных денег. В настоящее время процессоров без XD (NX) не существует, как, впрочем, и Особенно примечательно, что даже в Android 4.1 появилась поддержка dep. Более подробно ознакомиться с особенностями работы этой функции можно в глобальной Сети.

Если все так хорошо, то почему иногда задается вопрос «как отключить dep»? Ответ прост - некоторые программы написаны без учета особенностей работы менеджера системной памяти. До «эры» DEP это не имело принципиального значения, так как пользователю нужно, чтобы запускаемое им приложение работало, а как оно там взаимодействует с системой - дело десятое. Конечно, речь идет о нормальных программах, а не вирусах.

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

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

Нажимаем комбинацию Win+R;

В появившейся строке набираем «bcdedit.exe /set {current} nx AlwaysOff» (без кавычек) и нажимаем Enter.

Важно: пользователь должен работать в системе с правами администратора. Вот так все просто. После данной операции функция будет запрещена для всех приложений и служб.