我最近一直在进行有关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。

最佳答案

阅读有关DEP in MSDN的信息,包括系统范围的设置以及与单个应用程序有关的/NXCOMPAT linker option。可能还有与DEP有关的BIOS设置。

关于c++ - 在Visual Studio中启用DEP,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19892714/

10-11 18:39