/DYNAMICBASE (Использование случайности макета адресного пространства)

Указывает, следует ли создавать исполняемый образ, который может быть случайно перебазирован во время загрузки с помощью функции случайной настройки пространства адресов (ASLR) Windows. ASLR был впервые доступен в Windows Vista.

Синтаксис

/DYNAMICBASE[:NO]

Замечания

Параметр /DYNAMICBASE изменяет заголовок исполняемого образа, DLL-файла или EXE-файла, чтобы указать, должен ли приложение быть случайным образом перебазировано во время загрузки, и включает случайное распределение виртуальных адресов, которое влияет на расположение кучи, стека и других выделений операционной системы. Этот /DYNAMICBASE параметр применяется как к 32-разрядным, так и к 64-разрядным изображениям. ASLR поддерживается в Windows Vista и более поздних операционных системах. Параметр игнорируется более ранними операционными системами.

По умолчанию /DYNAMICBASE включен. Чтобы отключить этот параметр, используйте /DYNAMICBASE:NO. Этот /DYNAMICBASE параметр необходим для того, чтобы /HIGHENTROPYVA параметр влиял.

Так как ASLR не может быть отключен в архитектуре ARM, ARM64 или ARM64EC, /DYNAMICBASE:NO не поддерживается для этих целевых объектов.

Настройка этого параметра компоновщика в Visual Studio

  1. Откройте диалоговое окно Окна свойств проекта. Подробнее см. в статье Настройка компилятора C++ и свойств сборки в Visual Studio.

  2. Выберите страницу свойств>компоновщика>конфигурации Advanced.

  3. Измените свойство случайных базовых адресов .

Задание данного параметра компоновщика программным способом

См. также