0

我最近一直在做一些关于 DEP 的研究,我在 Visual Studio 下使用链接器选项 /NXCOMPAT 编译了我的代码。当我在调试器下运行可执行文件并转储 ntdll!_KPROCESS 结构时,我得到以下信息:

+0x096 Flags            : _KEXECUTE_OPTIONS
      +0x000 ExecuteDisable   : 0y0
      +0x000 ExecuteEnable    : 0y1
      +0x000 DisableThunkEmulation : 0y0
      +0x000 Permanent        : 0y1
      +0x000 ExecuteDispatchEnable : 0y0
      +0x000 ImageDispatchEnable : 0y0
      +0x000 DisableExceptionChainValidation : 0y1
      +0x000 Spare            : 0y1

这表明 DEP 已禁用(ExecuteDisable == 0)。我想补充一点,我的机器下启用了硬件 DEP。

4

1 回答 1

2

阅读MSDN 中的 DEP,包括与单个应用程序相关的系统范围设置和/NXCOMPAT 链接器选项。也可能存在与 DEP 相关的 BIOS 设置。

于 2013-11-10T18:30:06.930 回答