Aracılığıyla paylaş


/GUARD (Koruma Denetimlerini Etkinleştir)

Bağlayıcıya yürütülebilir görüntüde Control Flow Guard denetimlerini destekleyip desteklemeymeyeceğini bildirir.

Sözdizimi

/GUARD:CF
/GUARD:NO

Açıklamalar

Bağlayıcı seçeneği, /GUARD:CF Control Flow Guard (CFG) çalışma zamanı denetimlerini desteklemek için DLL veya EXE dosyasının üst bilgisini değiştirir. Bağlayıcı ayrıca gerekli denetim akışı hedef adres verilerini üst bilgisine ekler. Varsayılan olarak devre /GUARD:CF dışıdır. kullanılarak /GUARD:NOaçıkça devre dışı bırakılabilir. Etkili olmak için, /GUARD:CF varsayılan olarak açık olan (Adres alanı düzeni rastgele seçmeyi kullan) bağlayıcı seçeneğini de gerektirir /DYNAMICBASE .

Kaynak kodu derleyici seçeneği kullanılarak /guard:cf derlendiğinde, derleyici olası hedef adresler için tüm dolaylı çağrıları inceleyerek denetim akışını analiz eder. Derleyici, dolaylı çağrı yönergesinin hedef adresinin çalışma zamanında bilinen hedef adresler listesinde olduğunu doğrulamak için kod ekler. CFG destekleyen işletim sistemleri, CFG çalışma zamanı denetiminde başarısız olan bir programı durdurur. Bu denetim, bir saldırganın arama hedeflerini değiştirmek için veri bozulması kullanarak kötü amaçlı kod yürütmesini zorlaştırır.

CFG /GUARD:CF özellikli yürütülebilir görüntüler oluşturmak için seçeneğin hem derleyiciye hem de bağlayıcıya belirtilmesi gerekir. Kullanılarak derlenen ancak bağlanmayan /GUARD:CF kod, çalışma zamanı denetimlerinin maliyetine neden olur, ancak CFG korumasını etkinleştirmez. /guard:cf Bir adımda derlemek ve bağlamak için cl komutuna seçenek belirtildiğinde, derleyici bayrağını bağlayıcıya geçirir. Control Flow Guard özelliği Visual Studio'da ayarlandığında, /GUARD:CF seçenek hem derleyiciye hem de bağlayıcıya geçirilir. Nesne dosyaları veya kitaplıkları ayrı olarak derlendiğinde, seçeneğin komutta link açıkça belirtilmesi gerekir.

Visual Studio'da bu bağlayıcı seçeneğini ayarlamak için

  1. Proje için Özellik Sayfaları iletişim kutusunu açın. Daha fazla bilgi için bkz . Derleyici ve derleme özelliklerini ayarlama.

  2. Yapılandırma Özellikleri>Bağlayıcısı>Komut Satırı özellik sayfasını seçin.

  3. Ek Seçenekler'de girin/GUARD:CF. Değişikliklerinizi kaydetmek için Tamam'ı veya Uygula'yı seçin.

Bu bağlayıcı seçeneğini program aracılığıyla ayarlamak için

Ayrıca bkz.

/guard (Denetim Flow Guard'ı etkinleştir)
MSVC bağlayıcı başvurusu
MSVC bağlayıcı seçenekleri