4.5 Other Memory Protection Features

+0x001 TimerControlFlags : 0 "

+0x06c Flags : _KEXECUTE_OPTIONS

+0x000 ExecuteDisable : Oyl

+0x000 ExecuteEnable : OyO

+0x000 DisableThunkEmulatlon : Oyl

+0x000 Permanent : Oyl

+0x000 ExecuteDispatchEnable ; OyO

+0x000 ImageDispatchEnable : OyO

+0x000 DisableExceptionChainValidation : Oyl

+0x000 Spare : OyO

+0x000 ExecuteOptions : 0x4d 'M'

For the sake of this discussion, three fields in the KEXECUTE_OPTIONS structure

are of interest (see Table 4.8).

Table 4,8 Fields in KEXECUTE_OPTIONS

Policy

Description

ExecuteDisabie

Set to 1 if DEP is enabled

ExecuteEnable

Set to 1 if DEP is disabled

Permanent

Set to 1 if DEP configuration cannot be altered dynamically by the

process

One way to examine the DEP status of a program without cranking up a ker¬

nel debugger is with the Sysinternals Process Explorer (see Figure 4.8). The

View menu has a menu item named Select Columns that will allow you to

kj! Process Explorer - Sysinternals: www.svsinternals.com [delme-PC\svsop]

Rie Options View Process Find Users Help

-iPlxl

J B! ID

m\

Proce ss

bI]|

System Idle Process

filsvchost.ex&

1 PID I CPU I Cofnpany Name

0 3S.OO

I DEP

11 Intemjpts

n/3

riDPCs

n/3

El 13 System

4

[■Ismss.exe

228

Microsoft Coiporation

DEP ipermanert)

afilcsf�s.ejte

340

Microsoft Cotporatron

DEP (permanent)

imlconhost.exe

208

Microsoft Coiporatfon

DEP Jjermanent)

0 wininit.exe

ass

Microsoft Corporation

DEP permanent)

0 [�services.exe

480

Microsoft Corporation

DEP jaermanent)

R[ilsvchost.exe

61S

Microsoft Corporation

DEP Ijpermanent)

[i� naPfdMgr.exe

1732

Mcj�ee, Inc.

D

CPU Usage: 2.00% [Commit Charge: 37.95''/d Prcrcesses: Physical Usage: 49.10% f

Figure 4.8

Part! I 147