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