Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Informuje konsolidator, czy ma obsługiwać kontrole funkcji Control Flow Guard na obrazie wykonywalny.
Składnia
/GUARD:CF
/GUARD:NO
Uwagi
Opcja /GUARD:CF konsolidatora modyfikuje nagłówek pliku DLL lub EXE, aby wskazać obsługę kontroli środowiska uruchomieniowego funkcji Control Flow Guard (CFG). Konsolidator dodaje również wymagane dane adresu docelowego przepływu sterowania do nagłówka. Domyślnie /GUARD:CF jest wyłączona. Można ją jawnie wyłączyć za pomocą polecenia /GUARD:NO. Aby zapewnić skuteczność, /GUARD:CF wymaga /DYNAMICBASE również opcji konsolidatora (Użyj losowego układu przestrzeni adresowej), która jest domyślnie włączona.
Gdy kod źródłowy jest kompilowany przy użyciu /guard:cf opcji kompilatora, kompilator analizuje przepływ sterowania, sprawdzając wszystkie pośrednie wywołania możliwych adresów docelowych. Kompilator wstawia kod w celu sprawdzenia, czy adres docelowy instrukcji wywołania pośredniego znajduje się na liście znanych adresów docelowych w czasie wykonywania. Systemy operacyjne obsługujące usługę CFG zatrzymują program, który kończy się niepowodzeniem sprawdzania środowiska uruchomieniowego CFG. Ta kontrola utrudnia atakującemu wykonanie złośliwego kodu przy użyciu uszkodzenia danych w celu zmiany obiektu docelowego wywołania.
Należy /GUARD:CF określić opcję zarówno kompilatora, jak i konsolidatora w celu utworzenia obrazów wykonywalnych z obsługą cfG. Kod skompilowany, ale nie połączony przy użyciu /GUARD:CF powoduje naliczenie kosztów kontroli środowiska uruchomieniowego, ale nie włącza ochrony CFG. Po określeniu /guard:cf cl opcji polecenia w celu skompilowania i połączenia w jednym kroku kompilator przekazuje flagę do konsolidatora. Gdy właściwość Control Flow Guard jest ustawiona w programie Visual Studio, /GUARD:CF opcja jest przekazywana zarówno do kompilatora, jak i konsolidatora. Gdy pliki obiektów lub biblioteki zostały skompilowane oddzielnie, opcja musi być jawnie określona w poleceniu link .
Aby ustawić tę opcję konsolidatora w programie Visual Studio
Otwórz okno dialogowe Strony właściwości dla projektu. Aby uzyskać więcej informacji, zobacz Ustawianie właściwości kompilatora i kompilacji.
Wybierz stronę właściwości wiersza polecenia konsolidatora>konfiguracji.>
W obszarze Dodatkowe opcje wprowadź .
/GUARD:CFWybierz przycisk OK lub Zastosuj , aby zapisać zmiany.
Aby programowo ustawić tę opcję konsolidatora
- Zobacz: AdditionalOptions.
Zobacz też
/guard (Włącz funkcję Control Flow Guard)
Dokumentacja konsolidatora MSVC
Opcje konsolidatora MSVC