/HIGHENTROPYVA (поддержка 64-разрядной рандомизации ASLR)
Указывает, поддерживает ли исполняемый образ 64-разрядную технологию ASLR с высокой энтропией.
Синтаксис
/HIGHENTROPYVA
[:NO
]
Замечания
/HIGHENTROPYVA
изменяет заголовок исполняемого файла изображения (например, файла .dll
или .exe
файла), чтобы указать, может ли ASLR использовать все 64-разрядное адресное пространство. Чтобы иметь эффект, задайте параметр как для исполняемого файла, так и для всех модулей, от которых он зависит. Затем операционная система, поддерживающая 64-разрядную версию ASLR, может перебазировать сегменты исполняемого образа во время загрузки с помощью 64-разрядных виртуальных адресов. Благодаря обширному адресному пространству злоумышленнику будет труднее догадаться о расположении определенной области в памяти.
По умолчанию /HIGHENTROPYVA
для 64-разрядных исполняемых образов включено. Этот параметр требуется /LARGEADDRESSAWARE
, который также включен по умолчанию для 64-разрядных образов. /HIGHENTROPYVA
Неприменимо к 32-разрядным исполняемым изображениям, где компоновщик игнорирует этот параметр. Чтобы явно отключить этот параметр, используйте /HIGHENTROPYVA:NO
.
Для /HIGHENTROPYVA
того чтобы иметь эффект во время загрузки, /DYNAMICBASE
также необходимо включить. /DYNAMICBASE
включен по умолчанию и требуется для включения ASLR в Windows Vista и более поздних операционных системах. Более ранние версии Windows игнорируют этот флаг.
Настройка этого параметра компоновщика в Visual Studio
Откройте диалоговое окно Окна свойств проекта. Подробнее см. в статье Настройка компилятора C++ и свойств сборки в Visual Studio.
Перейдите на страницу свойств Свойства конфигурации>Компоновщик>Командная строка.
В разделе "Дополнительные параметры" введите
/HIGHENTROPYVA
или/HIGHENTROPYVA:NO
.