DEP:Sysinternals Process Explorer != 静态分析 != BinScope

DEP:Sysinternals Process Explorer != 静态分析 != BinScope

我有一个正在运行的可执行文件(“heidisql.exe”)。Sysinternals 进程浏览器"DEP (permanent)在DEP列中显示“。

我静态地检查了二进制文件(其中包括使用佩斯多)静态分析结果都说DEP是不是支持,即IMAGE_DLLCHARACTERISTICS_NX_COMPAT不设置该位。

那么,为什么 Process Explorer 会显示这个信息呢DEP (permanent)

更奇怪的是:宾斯科 (微软的免费工具)根本没有列出“ ”的结果NXCOMPAT check,无论是“失败的检查”、“未完成的检查”还是“通过的检查”。这是什么意思?

答案1

博客文章说:

对于 64 位版本的 Windows 上的 64 位进程,DEP 始终处于“开启”状态,并且无法禁用。

此外,Microsoft 文档说:

在 64 位版本的 Windows 上,如果硬件强制 DEP 可用,它将始终应用于 64 位进程和内核内存空间,并且没有系统配置设置可以禁用它。

和这个:

每个应用程序的 DEP 配置
当 DEP 设置为策略级别时,为了实现应用程序兼容性OptOut,可以选择性地为单个 32 位应用程序禁用 DEP。但是,对于 64 位应用程序,DEP 始终处于启用状态。

相关内容