/DYNAMICBASE
(usar aleatorização do layout de espaço do endereço)
Especifica se é necessário gerar uma imagem executável que possa ter rebase aleatória no momento do carregamento usando o recurso ASLR (Address Space Layout Randomization) do Windows. O ASLR foi disponibilizado pela primeira vez no Windows Vista.
Sintaxe
/DYNAMICBASE
[:NO
]
Comentários
A opção /DYNAMICBASE
modifica o cabeçalho de uma imagem executável, um arquivo .dll ou .exe, para indicar se o aplicativo deve ser ter rebase aleatória no tempo de carga, e habilita a randomização de alocação de endereço virtual, o que afeta o local de memória virtual de heaps, pilhas e outras alocações do sistema operacional. A opção /DYNAMICBASE
se aplica a imagens de 32 bits e 64 bits. O ASLR tem suporte no Windows Vista e em sistemas operacionais posteriores. A opção é ignorada por sistemas operacionais anteriores.
Por padrão, a opção /DYNAMICBASE
está habilitada. Para desabilitar essa opção, use /DYNAMICBASE:NO
. A opção /DYNAMICBASE
é necessária para que a opção /HIGHENTROPYVA
tenha efeito.
Como o ASLR não pode ser desabilitado nas arquiteturas ARM, ARM64 e ARM64EC, não há suporte para /DYNAMICBASE:NO
nesses destinos.
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>Avançado.
Modifique a propriedade Randomized Base Address.
Para definir esta opção do vinculador por meio de programação
- Consulte RandomizedBaseAddress.