__security_init_cookie
Genel güvenlik tanımlama bilgisini başlatır.
Sözdizimi
void __security_init_cookie(void);
Açıklamalar
Genel güvenlik tanımlama bilgisi, /GS (Arabellek Güvenlik Denetimi) ile derlenen kodda ve özel durum işleme kullanan kodda arabellek taşması koruması için kullanılır. Taşma korumalı bir işleve girişte tanımlama bilgisi yığına konur ve çıkışta yığındaki değer genel tanımlama bilgisi ile karşılaştırılır. Aralarındaki farklar, arabellek taşması oluştuğu ve programın hemen sonlandırılmasına neden olduğunu gösterir.
Normalde, __security_init_cookie
başlatıldığında CRT tarafından çağrılır. CRT başlatmayı atlarsanız (örneğin, bir giriş noktası belirtmek için kullanırsanız /ENTRY
) kendinizi çağırmanız __security_init_cookie
gerekir. Çağrılmazsa __security_init_cookie
, genel güvenlik tanımlama bilgisi varsayılan bir değere ayarlanır ve arabellek taşması koruması tehlikeye girer. Bir saldırgan, arabellek taşması denetimlerini aşmak için bu varsayılan tanımlama bilgisi değerinden yararlanabildiğinden, kendi giriş noktanızı tanımlarken her zaman aramanızı __security_init_cookie
öneririz.
Herhangi bir taşma korumalı işlev girilmeden önce çağrısı __security_init_cookie
yapılmalıdır; aksi takdirde sahte bir arabellek taşması algılanır. Daha fazla bilgi için bkz . C Çalışma Zamanı Hatası R6035.
Örnek
C Çalışma Zamanı Hatası R6035'teki örneklere bakın.
Gereksinimler
Yordam | Gerekli başlık |
---|---|
__security_init_cookie |
<process.h> |
__security_init_cookie
, standart C Çalışma Zamanı Kitaplığı'nın bir Microsoft uzantısıdır. Uyumluluk bilgileri için bkz . Uyumluluk.