Skonfiguruj lub wyłącz DEP (Zapobieganie wykonywaniu danych) w systemie Windows

Zapobieganie wykonywaniu danych(Data Execution Prevention) ( DEP ) to jedna z tych „rozmytych” rzeczy. Jest to błogosławieństwo przez większość czasu, gdy wykonuje swoją pracę i nie przeszkadza, ale przeklęte, gdy się wtrąca. 

Spójrzmy na DEP i jak go skonfigurować lub wyłączyć DEP , w zależności od potrzeb.

Co to jest DEP i do czego służy?(What Is DEP & What Does It Do?)

Według Microsoftu DEP to:

zestaw technologii sprzętowych i programowych, które przeprowadzają dodatkowe kontrole pamięci, aby zapobiec uruchomieniu złośliwego kodu w systemie. (a set of hardware and software technologies that perform additional checks on memory to help prevent malicious code from running on a system.)”  

Firma Dell(Dell) upraszcza to nieco i mówi nam, że DEP

„…może pomóc chronić komputer, monitorując programy, aby upewnić się, że bezpiecznie korzystają z pamięci systemowej”.(“…can help protect your computer by monitoring your programs to make sure that they use system memory safely.”)

Co to znaczy? Istnieją pewne obszary w pamięci komputera, w których nie jest przeznaczony do uruchamiania kod, ale czasami kod jest tam uruchamiany. 

Zazwyczaj kod, który tam zostanie uruchomiony, jest złośliwy. DEP będzie monitorować te obszary i jeśli zauważy, że coś się w nich dzieje, zamknie je. Jeśli chcesz dowiedzieć się więcej o tym, jak to działa, przeczytaj szczegółowy opis firmy Microsoft dotyczący zapobiegania wykonywaniu danych( Microsoft’s detailed description of Data Execution Prevention) .

Dlaczego więc DEP powoduje problemy?(So Why Does DEP Cause Problems?)

Nawet dzisiaj komputery są głupie. Nie potrafią rozumować, mogą używać tylko najbardziej podstawowej logiki. Dodatkowo, ta logika jest w nich wprowadzana przez ludzi, więc komputery również umieszczają w nich nasze błędy. 

Czasami dobre programy wędrują do obszarów monitorowanych  przez DEP i działają w tych przestrzeniach.(DEP)

Kiedy tak się stanie, DEP czasami zamyka cały program i informuje o tym komunikatem o błędzie. Ale czasami DEP po prostu spowoduje, że program będzie działał bardzo słabo i nie będzie nic oczywistego, aby powiedzieć, dlaczego. 

Jakie programy mają problemy z DEP?(What Programs Have Problems With DEP?)

Programy, które powodują konflikt z funkcją DEP(DEP) , to zazwyczaj starsze programy lub zbudowane na starych bazach kodu. Wiele oprogramowania do planowania zasobów przedsiębiorstwa(Enterprise Resource Planning) ( ERP ) jest zbudowanych na podstawie kodu, który sięga lat 70-tych. Nie było wtedy DEP , więc program przejdzie do obszarów, które patroluje DEP .

64-bitowe programy zostały stworzone po ugruntowaniu DEP , więc zostały opracowane tak, aby były zgodne. (DEP)Większość programów wchodzących w konflikt z funkcją DEP (DEP) to programy 32-bitowe(will be 32-bit programs)

Programy firm innych niż Microsoft, które intensywnie współdziałają z usługami systemu Windows( Windows Services) lub uruchamiają własne usługi (Services)systemu Windows(Windows) , mogą zostać uruchomione przez funkcję DEP . W takim przypadku sprzedawca zaleci całkowite wyłączenie funkcji DEP .

W przypadku użytkowników domowych, stare gry, które są 32-bitowe, oraz niektóre emulatory do grania w jeszcze starsze gry( emulators for playing even older games) , są najbardziej narażone na konflikty z funkcją DEP(DEP) .

Stare sterowniki urządzeń lub sterowniki pobrane z nieoficjalnych źródeł mogą również powodować błędy DEP . Pobieraj sterowniki tylko od producenta sprzętu lub firmy Microsoft(Microsoft) i regularnie aktualizuj sterowniki( update your drivers regularly) .

Skąd mam wiedzieć, czy problemem jest DEP?(How Do I Know If DEP Is The Problem?)

Być może trzeba będzie przejść do Podglądu zdarzeń i przesiać dzienniki dla identyfikatora zdarzenia 1000(Event ID 1000) . Jeśli go znajdziesz, może wyglądać tak:

Event ID : 1000 - DEP Error : Generic host for Win32 servicesGeneric Host Process for Win32 Services - DEP : Application Error
Event Type: Error
Event Source: Application Error
Event Category: (100)
Event ID: 1000

 Możesz zobaczyć inne błędy odnoszące się do rzeczy, takich jak:

  • 0xFC:ATTEMPTED_EXECUTE_OF_NOEXECUTE_MEMORY – występuje, gdy sterownik urządzenia próbuje uruchomić się w pamięci. Może to być zły lub przestarzały sterownik. Będziesz chciał zaktualizować sterowniki. 
  • STATUS_ACCESS_VIOLATION (0xc0000005) – występuje, gdy programy próbują działać w obszarze pamięci chronionym przez DEP .

Jak skonfigurować lub wyłączyć DEP(How To Configure Or Turn Off DEP)

W systemie Windows 10(Windows 10) funkcja DEP jest ustawiona domyślnie na ustawienie Włącz funkcję DEP tylko dla podstawowych programów i usług systemu Windows(Turn on DEP for essential Windows programs and services only) . W większości przypadków to wystarczy. Oznacza to, że DEP(DEP) zignoruje większość twoich programów . 

Ale jeśli funkcja DEP(DEP) pomaga chronić komputer i nie ma na nim spadku wydajności, możesz wybrać opcję Włącz funkcję DEP dla wszystkich programów z wyjątkiem wybranych przeze mnie(Turn on DEP for all programs except those that I select) . Następnie, jeśli znajdziesz program, który ma problem z DEP , możemy go dodać jako wyjątek. Zobaczmy, jak to zrobić.

  • Otwórz Panel sterowania(Control Panel ) , a następnie otwórz System .

  • Po lewej stronie okna System kliknij Zaawansowane ustawienia systemu(Advanced System Settings) .

  • Okno Właściwości systemu(System Properties ) powinno się otworzyć i być już ustawione na karcie Zaawansowane(Advanced) . W obszarze Wydajność(Performance ) kliknij Ustawienia(Settings) .

  • W oknie Opcje wydajności(Performance Options ) kliknij kartę Zapobieganie wykonywaniu danych(Data Execution Prevention ) .

  • Po wybraniu opcji Włącz funkcję DEP dla wszystkich programów z wyjątkiem(Turn on DEP for all programs except those that I select) wybranych przeze mnie kliknij przycisk Dodaj(Add ) u dołu okna.

  • Przejdź do pliku wykonywalnego programu, który chcemy dodać jako wyjątek. Najprawdopodobniej będzie to C:/Program Files (x86)
  • W tym przykładzie dodajemy MediaMonkey , stare narzędzie do odtwarzania muzyki. Kliknij(Click) plik .exe , gdy go znajdziemy i kliknij Otwórz(Open) .

  • W Opcjach wydajności kliknij Zastosuj(Apply) . Teraz MediaMonkey będzie działać poza ochroną DEP , podczas gdy wszystkie inne będą działać w ramach ochrony DEP .

Całkowicie wyłącz funkcję DEP(Turn DEP Completely Off)

Jeśli chcesz całkowicie wyłączyć funkcję DEP , zalecamy zrobienie tego tylko w ramach rozwiązywania problemu. DEP jest dla Twojej ochrony. 

Ponieważ jest to coś, co nie jest zalecane, nie ma dobrego sposobu, aby to zrobić. Zobaczmy, jak możemy wyłączyć DEP .

  • Otwórz okno poleceń(Command ) jako Administrator . Zrób to, wpisując cmd w polu wyszukiwania programu obok menu Start .

  • Wpisz polecenie bcdedit.exe /set {current} nx AlwaysOff i naciśnij enter.

bcdedit.exe to narzędzie systemu Windows do edycji danych(d) konfiguracyjnych rozruchu , stąd (c)bdcedit (b).(bdcedit)

/set nakazuje bcedit ustawić wpis wartości opcji w konfiguracji rozruchu.

{current} mówi becedit, aby pracował z aktualnie używaną konfiguracją rozruchową.

nx jest skrótem od n o e x ecute i jest nazwą ustawienia DEP w konfiguracji rozruchu.

AlwaysOff jest oczywiste.

  • Zrestartuj komputer.
  • DEP będzie teraz całkowicie i na stałe wyłączony.

Włącz DEP dla wszystkiego(Turn DEP On For Everything)

Aby włączyć DEP absolutnie wszystko, proces i polecenie są takie jak powyżej.

  • Otwórz okno poleceń(Command ) jako Administrator , postępując zgodnie z instrukcjami w powyższej procedurze.
  • Wpisz polecenie bcdedit.exe /set {current} nx AlwaysOn

  • Zrestartuj komputer.
  • Funkcja DEP(DEP) zostanie włączona, a wszystkie programy będą monitorowane.

Po ustawieniu funkcji DEP na zawsze włączone lub zawsze wyłączone, NIE(NOT) MOŻNA jej zmienić za pomocą karty Zapobieganie wykonywaniu danych(Data Execution Prevention) w ustawieniach systemu. 

Zobaczmy, jak to zmienić, aby przyciski opcji w zakładce DEP mogły być ponownie użyte.(DEP)

Ustaw DEP z powrotem do domyślnego zachowania(Set DEP Back To Default Behavior)

Aby przywrócić domyślne zachowanie funkcji DEP i umożliwić ponowne zarządzanie za pomocą ustawień systemowych, wykonaj następujące czynności.

  • Otwórz okno poleceń(Command ) jako Administrator .
  • Wpisz polecenie bcdedit.exe /set {current} nx OptIn .

  • Zrestartuj komputer.
  • Teraz przyciski radiowe w zakładce DEP w ustawieniach systemu są ponownie dostępne.(DEP)

Do DEP czy nie do DEP(To DEP Or Not To DEP)

Zalecamy pozostawienie funkcji DEP z domyślnym ustawieniem Włącz funkcję DEP tylko dla podstawowych programów i usług systemu Windows,(Turn on DEP for essential Windows programs and services only, ) chyba że zmiana tej funkcji jest konieczna w celu rozwiązywania problemów, które mogą być związane z funkcją DEP(DEP-related) .



About the author

Jestem inżynierem Windows, ios, pdf, błędów, gadżetów z ponad 10-letnim doświadczeniem. Pracowałem nad wieloma wysokiej jakości aplikacjami i frameworkami Windows, takimi jak OneDrive dla Firm, Office 365 i nie tylko. Moja ostatnia praca obejmowała opracowanie czytnika PDF dla platformy Windows i pracę nad tym, aby komunikaty o błędach były bardziej zrozumiałe dla użytkowników. Dodatkowo od kilku lat jestem zaangażowany w rozwój platformy ios i dobrze znam zarówno jej funkcje, jak i dziwactwa.



Related posts