/GUARD (povolení kontroly ochrany)

určuje podporu pro řízení Flow kontroly ochrany ve spustitelné imagi.

Syntax

/GUARD:{CF|NO}

Poznámky

je-li zadán/GUARD: CF, linker upraví hlavičku .dll nebo .exe, aby označovala podporu pro kontrolní kontroly modulu runtime Flow GUARD (CFG). Linker také přidá do hlavičky požadovaná data cílové adresy toku řízení. Ve výchozím nastavení je/GUARD: CF zakázaný. Dá se explicitně zakázat pomocí/GUARD: NO. Aby bylo možné platit,/GUARD: CF také vyžaduje možnost linkeru /DYNAMICBASE (použít náhodné vygenerování rozložení adresního prostoru) , která je ve výchozím nastavení zapnutá.

Pokud je zdrojový kód kompilován pomocí možnosti /Guard: CF , kompilátor analyzuje tok řízení tím, že kontroluje všechna nepřímá volání pro možné cílové adresy. Kompilátor vloží kód pro ověření cílové adresy nepřímých instrukcí volání je v seznamu známých cílových adres za běhu. Operační systémy, které podporují CFG, zastavují program, který selhává při kontrole běhu operace CFG. Díky tomu by útočník mohl spustit škodlivý kód pomocí poškození dat ke změně cíle volání.

Možnost/GUARD: CF musí být určena pro kompilátor i linker pro vytváření spustitelných imagí s povolenou možností CFG. Kód kompilovaný, ale není propojen pomocí/GUARD: CF, má za následek náklady na kontroly za běhu, ale nepovoluje ochranu CFG. Při zadání možnosti/GUARD: CF cl příkazu pro zkompilování a propojení v jednom kroku kompilátor předá do linkeru příznak. je-li vlastnost Control Flow Guard nastavena v Visual Studio, je možnost/GUARD: CF předána kompilátoru i linkeru. Pokud byly soubory objektů nebo knihovny kompilovány samostatně, parametr musí být explicitně zadán v link příkazu.

Nastavení této možnosti linkeru v Visual Studio

  1. Otevřete dialogové okno stránky vlastností projektu. Další informace naleznete v tématu nastavení kompilátoru C++ a vlastností sestavení v Visual Studio.

  2. Vyberte stránku vlastnostípříkazový řádek linkeru vlastností konfigurace.

  3. Do dalšího nastavenízadejte .

Viz také

/guard (povolení ochrany toku řízení)
Referenční zdroje k linkeru MSVC
MSVC možností linkeru