/DYNAMICBASE(使用地址空间布局随机化功能)

使用 Windows 的地址空间布局随机化 (ASLR) 功能,指定是否生成可在加载时随机重新设定基址的可执行文件映像。 ASLR 首次在 Windows Vista 中提供。

语法

/DYNAMICBASE[:NO]

注解

/DYNAMICBASE 选项修改“可执行映像”、.dll 或 .exe 文件的标头,以指示应用程序是否应在加载时随机变基,并启用虚拟地址分配随机化,这会影响堆、堆栈和其他操作系统分配的虚拟内存位置/DYNAMICBASE 选项适用于 32 位和 64 位图像。 Windows Vista 及更高版本的操作系统支持 ASLR。 更早的操作系统忽略该选项。

默认情况下,/DYNAMICBASE 处于启用状态。 若要禁用此选项,请使用 /DYNAMICBASE:NO。 若要 /HIGHENTROPYVA 选项生效,必需 /DYNAMICBASE 选项。

由于在 ARM、ARM64 或 ARM64EC 体系结构上无法禁用 ASLR,这些目标不支持 /DYNAMICBASE:NO

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

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

  2. 选择“配置属性”>“链接器”>“高级”属性页

  3. 修改“随机基址”属性。

以编程方式设置此链接器选项

另请参阅