Windows Server 2003 uses one of the following features:
- The no-execute page-protection (NX) processor feature as defined by AMD.
- The Execute Disable Bit (XD) feature as defined by Intel.
The NX feature and the XD feature of the processor makes the bootstrap loader for Windows (NTLDR) load the PAE kernel (Ntkrnlpa.exe) in order to enable hardware enforced Data Execution Prevention (DEP) or NX/XD.
The NX/XD bit is implemented on the bit 63 of the page table entry (PTE). When the default x86-based non-PAE kernel is loaded, the width of a PTE is 32 bits. This kernel cannot implement NX/XD because the bit 63 does not exist. However, the PTE size is 64 bits on the PAE kernel. Therefore, only the PAE kernel can enable the hardware enforced DEP.
The following Windows Management Instrumentation Command-line (WMIC) command can be used to determine whether the hardware enforced DEP is enabled:
wmic OS Get DataExecutionPrevention_Available
If the output is
True, the hardware enforced DEP is enabled. If the output is
False, the hardware enforced DEP is disabled.