Data Execution Prevention (DEP) | Adding Exceptions to DEP, Disabling DEP

The 0xC0000005 error may occur because of Data Execution Prevention (DEP) introduced by Microsoft in SP2 and used in later Windows versions. DEP is a set of security features that prevents code execution from non-executable memory segments. Let's look into this.

Data Execution Prevention (DEP) was introduced by Microsoft in Windows SP2 and used in later versions. In simple words, DEP is designed to prevent execution of malware applications and protect your computer from harmful programs (that is why DEP is often interpreted as Data Execution Protection).

The information on your computer is stored as data and executable code, each type of information exploits its own memory segment. The 0xC0000005 error means that a program is trying to execute data as a code from non-executable parts of memory. Such behavior is characteristic of malware and DEP traps attempts to execute a malware code. The 0xC0000005 error message notifies you of such attempts. But many legal software programs use dynamic code generation, and the generated code is not always marked as executable code, which makes such applications incompatible with DEP and results in the 0xc0000005 access violation error. There are several ways to eliminate 0xc0000005 errors caused by Data Execution Prevention.

What to Do

  • You may contact your software vendor and notify about the 0xc0000005 error so that they release a patch or fix DEP incompatibility in future versions.
  • You can define exceptions for DEP for some applications (make sure the application is legitimate!). In most DEP cases this is the best solution for the 0xC0000005 error. Learn how to set exceptions to DEP.
  • Turning off Data Execution Prevention is the worst of all solutions because it leaves your computer unprotected.

What if 0xC0000005 still occurs...

If STOP: 0xC0000005 still occurs read more on how to eliminate 0xc0000005 here

Basic Error Concepts: