Когда работаешь в IT достаточно долго, уже не удивляешься тому, как различные системы пытаются защитить себя от угроз, порой мешая выполнять вполне законные задачи. Одним из таких защитников в Windows является DEP — Data Execution Prevention, или по-нашему, «Предотвращение выполнения данных».
Если вам уже приходилось сталкиваться с ошибками приложений, связанными с DEP, то эта статья поможет разобраться, что это за функция и как её при необходимости отключить.
- Что такое DEP?
- Зачем требуется «Предотвращение выполнения данных»?
- Как включить или отключить DEP в Windows
- Управление DEP через системные настройки
- Отключение DEP через командную строку
- Управление DEP через реестр
- Отключение DEP для конкретных программ
- Альтернативные методы отключения DEP
- Режим совместимости
- Проверить включен или отключен DEP для программы
- Заключение
Что такое DEP?
DEP — это встроенная в Windows технология, предназначенная для защиты системы от выполнения вредоносного кода. Говоря простым языком, Windows следит за тем, чтобы код исполнялся только в тех областях памяти, которые для этого предназначены.
Если кто-то попытается запустить код из «неправильной» части памяти, DEP это блокирует. Очень полезная функция, особенно против атак типа переполнения буфера, когда злоумышленники пытаются заставить компьютер выполнять произвольный код.
Зачем требуется «Предотвращение выполнения данных»?
Почему DEP важен? Всё дело в защите. Вредоносные программы часто пытаются использовать уязвимости в ПО для выполнения своих команд в системе. DEP предотвращает такие попытки, обеспечивая дополнительный уровень безопасности. Но, как и любая автоматическая система защиты, иногда она мешает законным программам работать корректно.
В случае, если определённая программа начинает конфликтовать с DEP, есть способы настроить работу системы так, чтобы не отключать защиту полностью.
Как включить или отключить DEP в Windows
Итак, DEP включен по умолчанию в Windows, и это хорошо. Но бывают ситуации, когда стоит внести изменения, особенно если какая-то программа ведёт себя нестабильно из-за этой функции. Есть несколько способов управления DEP — через настройки системы, командную строку или реестр. Начнём с самого простого.
Управление DEP через системные настройки
- Откройте «Свойства системы»:
- Нажмите Win + Pause/Break
или правой кнопкой мыши на «Этот компьютер» и выберите «Свойства»
- Далее кликните на «Дополнительные параметры системы»(прокрутите немного вниз)
- В разделе «Быстродействие» нажмите «Параметры», затем перейдите на вкладку «Предотвращение выполнения данных»
- Нажмите Win + Pause/Break
- Настройка DEP:
Здесь у вас будет два варианта:- Включить DEP только для системных программ и служб — настройка по умолчанию.
- Включить DEP для всех программ, за исключением тех, которые вы выберете сами. Это удобно, если какая-то программа конфликтует с DEP.
Если вы хотите добавить программу в исключения, выбирайте второй вариант, добавляйте нужные программы и наслаждайтесь жизнью.
Отключение DEP через командную строку
В некоторых случаях, особенно если вы работаете с нестандартным ПО, может потребоваться отключить DEP на уровне системы. Это можно сделать через командную строку с правами администратора:
- Запустите командную строку:
В поиске Windows укажите cmd и выберите «Запуск от имени администратора»
- Отключение DEP: Чтобы отключить DEP полностью, выполните команду:
bcdedit.exe /set {current} nx AlwaysOff
- Включение DEP снова: Чтобы вернуть DEP обратно, выполните команду:
bcdedit.exe /set {current} nx AlwaysOn
- Перезагрузка: После любых изменений в настройках DEP перезагрузите компьютер, чтобы они вступили в силу.
Управление DEP через реестр
Если вы любите ковыряться в недрах Windows, можно использовать редактор реестра для управления DEP.
Это способ для продвинутых пользователей, и с ним нужно быть осторожным.
- Откройте редактор реестра:
Нажмите Win + R, введитеregedit
и нажмите Enter
- Перейдите в нужный раздел:
Компьютер\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
- Если каталога «Layers» нет, то создайте. Для этого кликните правой кнопкой на группу «AppCompatFlags»->»Создать»->»Раздел»
- Отключение dep для определенного приложения
Находясь в каталоге «Layers» кликните правой кнопкой мыши в пустой области и создайте строковый параметр, название которого путь к исполняемому файлу exe
Например, если надо отключить dep для программы app.exe, которая находится на диске D, в папке programs, название файла должно быть — D:\programs\app.exe
- Установка значения
Кликните два раза на вновь созданный файл и в поле «Значение» укажите DisableNXShowUI , затем сохраните изменение
- Перезагрузите систему.
Если потребуется добавить в исключение новые программы, то для каждой делайте отдельную запись.
Если удалить запись какой-либо программы, для неё снова будет активирована защита.
Помните, что неправильные изменения в реестре могут навредить вашей системе, так что будьте аккуратны.
Отключение DEP для конкретных программ
Иногда нужно отключить DEP только для одной программы, которая не дружит с этой технологией. Это может быть старая игра или профессиональное ПО.
- Перейдите в «Свойства системы» и на вкладку «Предотвращение выполнения данных» (как описано выше).
- Выберите «Включить DEP для всех программ, кроме выбранных».
- Нажмите «Добавить» и укажите путь к исполняемому файлу программы (.exe)
- Примените изменения и перезагрузите компьютер.
Альтернативные методы отключения DEP
Режим совместимости
Иногда проблема с DEP решается через запуск программы в режиме совместимости:
- Щелкните правой кнопкой мыши на ярлыке программы и выберите «Свойства»
- Перейдите на вкладку «Совместимость».
- Выберите совместимость с более ранней версией Windows (например, Windows 7)
Проверить включен или отключен DEP для программы
Для проверки включен или отключен dep для определенной программы, можно использовать, например — Process Explorer от Sysinternals. Этот инструмент позволяет увидеть, какие процессы защищены DEP, и управлять ими более гибко.
- Загрузите Process Explorer и запустите его с правами администратора.
- Найдите интересующий вас процесс, откройте его свойства и посмотрите, активна ли защита для этого приложения
Enabled — включен. Disabled — отключен.
Заключение
DEP — это неотъемлемая часть защиты Windows, которая помогает предотвратить выполнение вредоносного кода. Но в некоторых случаях её необходимо отключить для того, чтобы обеспечить стабильную работу приложений. Мы рассмотрели, как управлять DEP через системные настройки, командную строку и реестр, а также как исключить конкретные программы из-под её действия.
Однако всегда помните: отключение DEP снижает уровень безопасности системы. Лучше отключать эту функцию только в крайних случаях и исключительно для проблемных программ, а не для всей системы.