/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
默認會啟用 ,而且必須在 Windows Vista 和更新版本的作業系統中啟用 ASLR。 舊版 Windows 會忽略此旗標。
在 Visual Studio 中設定這個連結器選項
開啟專案的 [屬性頁] 對話方塊。 如需詳細資料,請參閱在 Visual Studio 中設定 C ++ 編譯器和組建屬性。
選取 [組態屬性]>[連結器]>[命令列] 屬性頁。
在 [其他選項] 中,輸入
/HIGHENTROPYVA
或/HIGHENTROPYVA:NO
。