Dosyayı incelemeden rastgele yorum yaptığınız için ilk mesajınızı kaldırdım. Vanguard sıkıntısı derken? Vanguard mavi ekrana sebep oluyor, oyunu kapatmıyor. User-Mode üzerinde değil, Kernel-Mode üzerinde gerçekleşiyor durum. Demeye çalıştığınız şey nedir tam olarak? Dosyayı inceleyip yorumunuzu belirtirseniz ben de görmediğim bir noktayı görebilirim sayenizde (Vanguard sıkıntı yaratmamış > Oyun açılmış > GPU kabloları gevşek diye mavi ekran vermiş ya da BIOS?)
Açıklama da vereyim isterseniz:
Rich (BB code):
9: kd> k
# Child-SP RetAddr Call Site
00 ffffab80`7f0aec28 fffff802`cd3661e0 nt!KeBugCheckEx // Mavi ekran
01 ffffab80`7f0aec30 fffff802`cd353146 nt!MiSystemFault+0x850
02 ffffab80`7f0aed20 fffff802`cd6b11cb nt!MmAccessFault+0x646
03 ffffab80`7f0aee90 fffff802`cdb69607 nt!KiPageFault+0x38b // Sistem çökmesi
04 ffffab80`7f0af020 fffff802`6c6226e8 nt!ExFreePoolWithTag+0x937 // TAG'lenen bellek kısmının serbest bırakılması - Çökme noktası
05 ffffab80`7f0af120 fffff802`6c620cc0 afd!AfdFreePollInfo+0x38 // AFD yapısının belli bir belleği serbest bırakması
06 ffffab80`7f0af150 fffff802`6c62016b afd!AfdPoll64+0xb30
07 ffffab80`7f0af250 fffff802`6c622d9c afd!AfdPoll+0x2b
08 ffffab80`7f0af280 fffff802`cd28da6b afd!AfdDispatchDeviceControl+0x6c // AFD'ye gelen IOCTL
09 ffffab80`7f0af2b0 fffff802`cd28d9e3 nt!IopfCallDriver+0x5b
0a ffffab80`7f0af2f0 fffff802`cd8b9e55 nt!IofCallDriver+0x13 // IRP hazırla ve hedef sürücünün rutinine ilet
0b ffffab80`7f0af320 fffff802`cd8b8c9c nt!IopSynchronousServiceTail+0x1c5
0c ffffab80`7f0af3d0 fffff802`cd8b82ee nt!IopXxxControlFile+0x99c
0d ffffab80`7f0af640 fffff802`6d1aa2cf nt!NtDeviceIoControlFile+0x5e // UE üzerinden gelen çağrı
0e ffffab80`7f0af6b0 00000000`00000000 vgk+0x4a2cf // VANGUARD SÜRÜCÜ MODÜLÜ
Vanguard sürücüsünün de dahil olduğu stack'ten de görebildiğin gibi bu çağrıların öncesinde bizzat UserMode üzerinden gelen
NtDeviceIoControlFile çağrısı I/O Manager tarafından
IopXxxControlFile ve senkron kuyruk mantığıyla hazırlanıp Iof/IopfCallDriver üzerinden AFD’ye iletiliyor; AFD IOCTL dispatcher’ı isteği AfdPoll üzerinden AfdPoll64 yoluna yönlendiriyor ve poll işlemi için oluşturulan kernel havuz yapısı iş bitiminde AfdFreePollInfo ile serbest bırakılmak istenirken
ExFreePoolWithTag içinde erişilmemesi gereken/bozulmuş bir adres ya da bozulmuş pool header nedeniyle kernel-mode page fault tetikleniyor.
Devamında KiPageFault → MmAccessFault → MiSystemFault zincirinde “çözülemez sistem hatası” olarak değerlendirildiği için kernel güvenli şekilde toparlanamayıp KeBugCheckEx ile mavi ekran verip sistemi KURTARIYOR.
Sorun aslında AFD yapısının boşalttığı bellek havuzunda.
Rich (BB code):
rax=ffff800000000000 rbx=0000000000000000 rcx=ffffc0853f6c8080
rdx=ffffc0851f5baa90 rsi=0000000000000000 rdi=0000000000000000
rip=fffff802cdb69607 rsp=ffffab807f0af020 rbp=ffffab807f0af0b9
r8=00000000000000ff r9=ffffc0851ae936a0 r10=fffff802cdb68cd0
r11=0000000000000099 r12=0000000000000000 r13=0000000000000000
r14=0000000000000000 r15=0000000000000000
iopl=0 nv up ei pl nz na pe nc
nt!ExFreePoolWithTag+0x937:
fffff802`cdb69607 0fb607 movzx eax,byte ptr [rdi] ds:00000000`00000000=??
Zira erişilen adres NULL. - Geçersiz.
Rich (BB code):
9: kd> !pte 0000000000000000
VA 0000000000000000
PXE at FFFF954AA552A000 PPE at FFFF954AA5400000 PDE at FFFF954A80000000 PTE at FFFF950000000000
contains 0A000001477B6867 contains 0000000000000000
pfn 1477b6 ---DA--UWEV contains 0000000000000000
not valid
Burada vanguard, acaba ağ yığını/AFD ile aynı anda çalışan bir kernel bileşeni olarak bellek/havuz kurallarını bozan bir yan etki yaratıp, AFD’nin daha sonra serbest bırakacağı bir yapıyı
erken serbest bırakma, çift serbest bırakma, use-after-free, yanlış adres yazma gibi bir biçimde bozmuş olabilir mi? Stack’te vgk en başta göründüğü için basit bir yorum sadece. Vanguard kernel seviyede çalışan ve sisteme etki eden bir AC olduğu için çok sık
MAVİ EKRAN HATALARINDA GÖRÜNÜR.
Bundan dolayı Vanguard ilk aşamada yeniden yüklenip denense mantıklı olur diye bir öneri sunuyorum. Vanguard o an çalıştığından da burda görünüyor olabildiğinden Ağ sürücüleri ile ilgili bir hata olabilir direkt olarak diye ikisini de vurguladım.
Rich (BB code):
9: kd> lmDvmrt640x64
Browse full module list
start end module name
fffff802`6cca0000 fffff802`6cdba000 rt640x64 (deferred)
Image path: rt640x64.sys
Image name: rt640x64.sys
Browse all global symbols functions data
Timestamp: Wed Jan 19 11:47:39 2022 (61E7D02B)
CheckSum: 0012A27A
ImageSize: 0011A000
Translations: 0000.04b0 0000.04e4 0409.04b0 0409.04e4
Information from resource tables:
Yani dosyada görünen tek ağ sürücüsü de zaten güncel değil ve nerdeyse 4 yıllık
Yine de içinizi daha rahatlatacak veya kafanıza göre hareket edebilmenize olanak sağlanan mesajlarla ilerleyecekseniz konu açmayıp Arkadaşınızla tartışıp sorunu çözersiniz.