Поделиться через


/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

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

  2. Перейдите на страницу свойств Свойства конфигурации>Компоновщик>Командная строка.

  3. В разделе "Дополнительные параметры" введите /HIGHENTROPYVA или /HIGHENTROPYVA:NO.

См. также