/HIGHENTROPYVA (Unterstützung für 64-Bit ASLR)
Gibt an, ob das ausführbare Image 64-bit-ASLR mit hoher Entropie unterstützt.
Syntax
/HIGHENTROPYVA
[:NO
]
Hinweise
/HIGHENTROPYVA
ändert den Header einer ausführbaren Bilddatei (z. B. eine oder .exe
eine .dll
Datei), um anzugeben, ob ASLR den gesamten 64-Bit-Adressraum verwenden kann. Um einen Effekt zu haben, legen Sie die Option sowohl für die ausführbare Datei als auch für alle Module fest, von denen sie abhängig ist. Anschließend kann ein Betriebssystem, das 64-Bit-ASLR unterstützt, die Segmente des ausführbaren Images zur Ladezeit mithilfe von 64-Bit-randomisierten virtuellen Adressen neu zuordnen. Aufgrund dieses großen Adressbereichs ist es für einen Angreifer schwieriger, den Ort eines bestimmten Speicherbereichs zu schätzen.
/HIGHENTROPYVA
Standardmäßig ist für 64-Bit-ausführbare Images aktiviert. Für diese Option ist /LARGEADDRESSAWARE
standardmäßig auch für 64-Bit-Bilder aktiviert. /HIGHENTROPYVA
gilt nicht für ausführbare 32-Bit-Images, bei denen der Linker die Option ignoriert. Um diese Option explizit zu deaktivieren, verwenden Sie /HIGHENTROPYVA:NO
.
Damit /HIGHENTROPYVA
die Ladezeit wirksam wird, /DYNAMICBASE
muss auch aktiviert sein. /DYNAMICBASE
ist standardmäßig aktiviert und ist erforderlich, um ASLR in Windows Vista und höheren Betriebssystemen zu aktivieren. Diese Kennzeichnung wird in früheren Versionen von Windows ignoriert.
So legen Sie diese Linkeroption in Visual Studio fest
Öffnen Sie das Dialogfeld Eigenschaftenseiten des Projekts. Weitere Informationen erhalten Sie unter Set C++ compiler and build properties in Visual Studio (Festlegen der Compiler- und Buildeigenschaften (C++) in Visual Studio).
Klicken Sie auf der Eigenschaftenseite auf Konfigurationseigenschaften>Linker>Befehlszeile.
Geben Sie in "Zusätzliche Optionen" die Zeichenfolge
/HIGHENTROPYVA
ein./HIGHENTROPYVA:NO