/HIGHENTROPYVA(支持 64 位 ASLR)

指定可执行映像是否支持高熵 64 位地址空间布局随机化 (ASLR)。

语法

/HIGHENTROPYVA[:NO]

备注

/HIGHENTROPYVA 修改可执行映像文件(例如,.dll.exe 或文件)的标头,以指示 ASLR 是否可以使用整个 64 位地址空间。 要生效,请在可执行文件及其依赖的所有模块上设置该选项。 然后,支持 64 位 ASLR 的操作系统可以使用 64 位随机虚拟地址在加载时变基可执行映像的段。 更大的地址空间使攻击者更难猜到特定内存区域的位置。

默认情况下,为 64 位可执行映像启用 /HIGHENTROPYVA。 此选项需要 /LARGEADDRESSAWARE,默认情况下也为 64 位映像启用。 /HIGHENTROPYVA 不适用于链接器忽略该选项的 32 位可执行映像。 若要显式禁用此选项,请使用 /HIGHENTROPYVA:NO

要在加载时让 /HIGHENTROPYVA 生效,还必须启用 /DYNAMICBASE。 默认启用 /DYNAMICBASE,在 Windows Vista 及更高版本的操作系统中启用 ASLR 是必需的。 早期版本的 Windows 会忽略此标志。

在 Visual Studio 中设置此链接器选项

  1. 打开项目“属性页” 对话框。 有关详细信息,请参阅在 Visual Studio 中设置 C++ 编译器和生成属性

  2. 选择“配置属性”>“链接器”>“命令行”属性页 。

  3. 在“其他选项”中,输入 /HIGHENTROPYVA/HIGHENTROPYVA:NO

另请参阅