/HIGHENTROPYVA (dar suporte a ASLR de 64 bits)
Especifica se a imagem executável dá suporte a uma ASLR (Address Space Layout Randomization) de 64 bits de alta entropia.
Sintaxe
/HIGHENTROPYVA
[:NO
]
Comentários
A /HIGHENTROPYVA
modifica o cabeçalho de um arquivo de imagem executável (por exemplo, um arquivo .dll
ou .exe
), para indicar se o ASLR pode usar todo o espaço de endereço de 64 bits. Para ter algum efeito, defina a opção no executável e em todos os módulos dos quais ele depende. Em seguida, um sistema operacional que dá suporte à ASLR de 64 bits pode trocar a base dos segmentos da imagem executável e tempo de carregamento usando endereços virtuais aleatórios de 64 bits. Esse grande espaço de endereço torna mais difícil para um invasor adivinhar a localização de uma região de memória específica.
Por padrão, a /HIGHENTROPYVA
está habilitada para imagens executáveis de 64 bits. Essa opção requer /LARGEADDRESSAWARE
, que também está habilitada por padrão em imagens de 64 bits. A /HIGHENTROPYVA
não é aplicável a imagens executáveis de 32 bits, nas quais o vinculador ignora a opção. Para desabilitar explicitamente essa opção, use /HIGHENTROPYVA:NO
.
Para que /HIGHENTROPYVA
tenha algum efeito no tempo de carregamento, /DYNAMICBASE
também deve ser habilitada. A /DYNAMICBASE
é habilitada por padrão e é necessária para habilitar o ASLR no Windows Vista e em sistemas operacionais posteriores. Versões anteriores do Windows ignoram esse sinalizador.
Para definir essa opção do vinculador no Visual Studio
Abra a caixa de diálogo Páginas de Propriedades do projeto. Para obter mais informações, confira Definir as propriedades de build e do compilador do C++ no Visual Studio.
Selecione a página de propriedades Propriedades da Configuração>Vinculador>Linha de Comando.
Em Opções Adicionais, insira
/HIGHENTROPYVA
ou/HIGHENTROPYVA:NO
.