DEP (Data Execution Prevention) to mechanizm umożliwiający dodatkową kontrolę pamięci, w celu ochrony systemu przed wykonaniem niebezpiecznego kodu. W założeniu funkcja ma zwiększyć bezpieczeństwo i poprawić stabilność uruchamianych programów. W praktyce DEP ma tendencje do nadmiernego blokowania aplikacji, nawet takich które są sprawdzone i bezpieczne (czyt. nie zawierają złośliwego kodu).
Jeżeli DEP zakwalifikuje program jako potencjalnie niebezpieczny, wyświetla się znane wszystkim okno z komunikatem "To help protect your computer, Windows has closed program". Super, nieprawdaż? Jeżeli uruchamiamy jakąś aplikację w celach testowych to pół biedy, lecz co zrobić, gdy musimy koniecznie skorzystać z określonego programu?
Mamy tutaj dwa rozwiązania:
- Dodanie określonego programu do wyjątków, przez co DEP zostanie zdezaktywowane dla konkretnego procesu.
- Drugie rozwiązanie to całkowite wyłączenie mechanizmu, które w dłuższej perspektywie użytkowania systemu może być niebezpieczne. Jednakże dzięki wykluczeniu DEP z systemu mamy pewność, że nic nie będzie negatywnie wpływało na uruchamianie naszych aplikacji. Wyłączenie DEP nie jest zalecane, lecz w niektórych przypadkach może to być jedyne skuteczne rozwiązanie. Niemniej jednak, w każdym z przypadków należy uprzednio skorzystać z pierwszej opcji, czyli dodać kłopotliwą aplikację do listy wyjątków i spróbować ją uruchomić.
Jak dodać wybrany program do listy wyjątków DEP?
Procedura jest podobna dla wszystkich wersji systemu Windows.
- Uruchamiamy aplet System, Start => Uruchom => sysdm.cpl
- Przechodzimy na zakładkę Advanced (Zaawansowane).
- W sekcji Performance (Wydajność) wybieramy Settings (Ustawienia).
- Przechodzimy na zakładkę Data Execution Prevention (Zapobieganie wykonywaniu danych).
- Zaznaczamy opcję Turn on DEP for all programs and services except for those I select (Włącz funkcję DEP dla wszystkich programów i usług oprócz tych wybranych poniżej).
- Klikamy Add (Dodaj) i wskazujemy plik wykonywalny (EXE).
- Zatwierdzamy zmiany i restartujemy komputer.
Niestety, dla niektórych programów nie będzie możliwości wyłączenia mechanizmu DEP, próbując dodać wyjątek możemy otrzymać komunikat: "This program must run with data execution protection (DEP) enabled. You cannot turn off DEP for this program".
Jak całkowicie wyłączyć DEP?
Windows XP/Windows Server 2003
Aby wyłączyć DEP w systemie Windows XP/Windows Server 2003 należy edytować plik boot.ini lub posłużyć się narzędziem bootcfg.
Uruchamiamy wiersz poleceń, Start => Uruchom => cmd i wpisujemy następujące polecenie:
bootcfg /raw "/noexecute=alwaysoff /fastdetect" /id 1
Jeżeli w boot.ini znajduje się więcej wpisów, najlepiej ręcznie zmodyfikować plik poprzez:
- Uruchamiamy aplet System, Start => Uruchom => sysdm.cpl
- Przechodzimy na zakładkę Advanced (Zaawansowane).
- W sekcji Startup and Recovery (Uruchamianie i odzyskiwanie) wybieramy Settings (Ustawienia).
- Klikamy Edit (Edytuj). Otworzy się notatnik z zawartością pliku boot.ini
- Będziemy mieli wpis podobny do poniższego:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /FASTDETECT /NoExecute=OptIn
- Modyfikujemy wpis /NoExecute=OptIn i po znaku równości zamiast OptIn (może tutaj być także inny parametr), wpisujemy AlwaysOff (NoExecute=AlwaysOff).
- Zapisujemy zmiany, zamykamy edytor i restartujemy komputer.
Windows Vista/Windows Server 2008/Windows 7
W nowszych systemach, aby wyłączyć funkcję DEP musimy skorzystać z narzędzia bcdedit, które służy do modyfikacji danych konfiguracji rozruchu. Innym rozwiązaniem jest skorzystanie z programu EasyBCD lub VistaBootPro, które również pozwalają na bezpośrednią modyfikację BCD. W dalszej części poradnika opiszę obydwa rozwiązania.
Modyfikacja danych konfiguracji rozruchu przy pomocy bcdedit.exe
Przystępujemy do działania, uruchamiamy wiersz poleceń w trybie administratora i wpisujemy następujące polecenie:
bcdedit.exe /set {current} nx AlwaysOff
Włączenie DEP odbywa się w analogiczny sposób, zamiast AlwaysOff wpisujemy inny parametr aktywujący mechanizm (AlwaysOn lub OptOut).
Modyfikacja za pomocą EasyBCD
Osoby które nie lubią konsoli docenią aplikację o nazwie EasyBCD, dzięki której bardzo łatwo zmienimy ustawienia konfiguracji rozruchu. Uruchamiamy aplikację i przechodzimy do sekcji Advanced options. W pozycji DEP/NoExecute z listy rozwijanej wskazujemy Always Off. Po wybraniu opcji klikamy Apply Settings i restartujemy komputer.
Należy pamiętać, że wyłączenie DEP to ostateczność. Wszystkie opisane w poradniku czynności wymagają, abyśmy posiadali uprawnienia administracyjne. Modyfikacja konfiguracji rozruchu spod zwykłego konta zakończy się niepowodzeniem.
Copyright © rokko
Wszystkie prawa zastrzeżone. Kopiowanie całości lub fragmentów niniejszego artykułu jest zabronione.
Powtarzam WŁĄCZYĆ!