Отключить dep windows xp

Обновлено: 03.07.2024

предотвращение выполнения данных (DEP) — это функция защиты памяти на уровне системы, встроенная в операционную систему, начиная с Windows XP и Windows Server 2003. Функция DEP позволяет системе помечать одну или несколько страниц памяти как не являющиеся исполняемыми. Пометка областей памяти как неисполняемых файлов означает, что код не может быть выполнен из этого региона памяти, что усложняет использование переполнения буфера.

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

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

Как работает предотвращение выполнения данных

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

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

Замечания по программированию

Приложение может использовать функцию VirtualAlloc для выделения исполняемой памяти с соответствующими параметрами защиты памяти. Рекомендуется, чтобы приложение было задано как минимум с параметром " _ выполнить защиту памяти" на странице. После создания исполняемого кода рекомендуется настроить для приложения защиту памяти, чтобы запретить доступ на запись к выделенной памяти. Приложения могут запретить доступ на запись к выделенной памяти с помощью функции VirtualProtect . Запрет доступа на запись обеспечивает максимальную защиту для исполняемых регионов адресного пространства процесса. Следует попытаться создать приложения, использующие наименьшее возможное адресное пространство исполняемого файла, что снизит объем памяти, предоставляемой для использования памяти.

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

Совместимость приложений

Некоторые функциональные возможности приложения несовместимы с DEP. Приложения, выполняющие динамическое создание кода (например, JIT-создание кода) и не позволяющие явно отмечать сформированный код с разрешением EXECUTE, могут столкнуться с проблемами совместимости на компьютерах, использующих DEP. Приложения, написанные в библиотеке активных шаблонов (ATL) версии 7,1 и более ранних версий, могут попытаться выполнить код на страницах, помеченных как не являющиеся исполняемыми, что запускает NX-ошибку и завершает работу приложения. Дополнительные сведения см. в разделе сетпроцессдепполици. Большинство приложений, выполняющих действия, несовместимые с DEP, должны быть обновлены для правильной работы.

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

Поэтому исполняемый код в разделах данных должен быть перенесен в раздел кода, или раздел данных, содержащий исполняемый код, должен быть явно помечен как исполняемый. Атрибут Executable, image _ SCN _ mem _, должен быть добавлен в поле характеристики соответствующего заголовка раздела для разделов, содержащих исполняемый код. Дополнительные сведения о добавлении атрибутов в раздел см. в документации, входящей в состав вашего компоновщика.

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

Что такое функция DEP?

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

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

Как отключить DEP в Windows?

 запуск командной строки

Ну что же, приступим к делу. Откройте меню «Пуск» и в поисковом поле введите «cmd» (без кавычек). Появится список найденных файлов, в самом верху будет одноименная программа. Но не спешите ее запускать, ведь мы должны работать через учетную запись администратора. Поэтому, сделайте по ней клик правой кнопкой мышки и нажмите на «Запуск от имени администратора».

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

После этих действий откроется окошко командной строки. Скопируйте в него данную команду и нажмите клавишу «Enter»: bcdedit.exe /set nx AlwaysOff

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

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

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

выключить функцию DEP

Есть и такой способ. Чтобы это сделать, откройте панель управления и перейдите в раздел «Система». В левой части окна, на панели, нажмите на ссылку «Дополнительных параметров системы».

разделе «Быстродействие»

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

Выключить DEP для все программ

В следующем окошке открываем вкладку «Предотвращение выполнения данных». Видим такую картинку.

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

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

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

Как включить DEP?

Чтобы снова запустить работу данной функции, откройте командную строку (cmd) с правами администратора, скопируйте туда и выполните вот такую команду:

bcdedit.exe /set nx OptIn

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

В операционных системах Windows XP с пакетом обновлений 2 (SP2), Windows Server 2003 с пакетом обновлений 1 (SP1) и Windows Vista функция DEP реализована как на программном, так и на аппаратном уровне.

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

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

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

Программная реализация DEP
Программная реализация DEP разработана для предотвращения работы вредоносных программ, использующих особенности механизма обработки исключений в Windows. При программной реализации функция DEP может работать на компьютере с любым процессором, поддерживающим Windows XP SP2, Windows Server 2003 SP1, Windows Vista. Программно реализованная DEP по умолчанию защищает только отдельные системные файлы и не зависит от поддержки процессором аппаратной реализации DEP.

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

Изменение параметров DEP
Войдите в систему с учетной записью «Администратор» или члена группы «Администраторы»;
— нажмите Пуск → Настройка → Панель управления → Система;
— в открывшемся окне Свойства системы откройте вкладку Дополнительно → Быстродействие → Параметры;
— в открывшемся окне Параметры быстродействия откройте вкладку Предотвращение выполнения данных;
— введите пароль администратора или подтверждение пароля, если появится соответствующий запрос;

Как отключить DEP для отдельной программы
— установите флажок рядом с названием программы, для которой нужно отключить DEP → ОК;
— если программы нет в списке, нажмите кнопку Добавить…;
— в окне Открыть найдите исполняемый файл программы → Открыть → OK → OK.

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

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

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

Вопрос от посетителя:

Как в WinXP SP2 отключить DEP (Предотвращение выполнения данных)? Каждый раз при запуске файлов с разделов NTFS, скачанных с Интернета, выдаётся предупреждение.

Ответы:


TU-154:
Свойства системы - вкладка Дополнительно - Быстродействие - вкладка Предотвращение выполнения данных.


Рыжанов Денис Иванович:
Идете в "Панель управления", выбираете пункт "Система", кликаете на вкладку "Дополнительно", в разделе "Быстродействие" кликаете на кнопку "Параметры", в появившемся окне выбираете вкладку "Предотвращение выполнения данных" и ставите галочку напротив "Включить DEP только для основным программ и служб Windows".


zoman:
Не так. Это не отключить а перевести в другой режим! Отключить ПОЛНОСТЬЮ так: В boot.ini меняем multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect на multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect /execute


Yourbill:
Если у вас не реализована аппаратная защита от DEP (предотвращение выполнения данных - переполнения буфера), а это вряд ли, то эту службу необходимо отключить путем правки в boot.ini на /NoExecute=AlwaysOff.


LeliK_Djan:
Надо просто в БиоС отключить в свойствах процесора эту лабуду и будет вам счастье.


DRmixanikyS:
LeliK_Djan У меня такого и нет в биосе. А вот AlwaysOff помогло.


сергей:
Подскажите, а где найти boot.ini, чтобы отключить dep?


SpRecord:
boot.ini находится в корне диска С. Возможно, он будет скрыт. Надо в меню \"сервис\" выбрать \"свойства папки\" --> \"вид\" --> убрать галочку с \"скрывать защищенные системные файлы\".


Phil:
Просто отключи отчет об ошибках.


Смотреть другие вопросы раздела FAQ Windows XP >>

Читайте также: