/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

  1. 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.

  2. Selecione a página de propriedades Propriedades da Configuração>Vinculador>Avançado.

  3. Modifique a propriedade Randomized Base Address.

Para definir esta opção do vinculador por meio de programação

Confira também