/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
Откройте диалоговое окно Окна свойств проекта. Подробнее см. в статье Настройка компилятора C++ и свойств сборки в Visual Studio.
Выберите страницу свойств>компоновщика>конфигурации Advanced.
Измените свойство случайных базовых адресов .
Задание данного параметра компоновщика программным способом
- См. раздел RandomizedBaseAddress.