3. taraf sürücüler genellikle kendi hatalarını doğrudan raporlamaz. Bunun yerine hatalı bir işlem yaptıklarında bu hata, çekirdek tarafından tespit edilir. Çekirdek, hatayı algıladığında ve sistemin devam etmesinin güvenli olup olmadığını belirleyemediğinde, kontrolü eline alır ve bir mavi ekran hatası oluşturur. Bu yüzden, hatanın asıl kaynağı üçüncü taraf bir sürücü olsa bile, ntoskrnl.exe hatanın raporlandığı modül olarak görünür. İncelediğin program WinDbg kadar iyi olmadığından dolayı da hatanın aslında
tpm.sys modülünden ortaya çıktığını anlayamamıştır.
Kod:
KERNEL_SECURITY_CHECK_FAILURE (139)
A kernel component has corrupted a critical data structure. The corruption
could potentially allow a malicious user to gain control of this machine.
Arguments:
Arg1: 0000000000000003, A LIST_ENTRY has been corrupted (i.e. double remove).
Arg2: fffffd8a162576e0, Address of the trap frame for the exception that caused the BugCheck
Arg3: fffffd8a16257638, Address of the exception record for the exception that caused the BugCheck
Arg4: 0000000000000000, Reserved
Tam olarak da, eklendiği bir liste yapısının bozulmasıyla ilgilidir.
Kod:
EXCEPTION_RECORD: fffffd8a16257638 -- (.exr 0xfffffd8a16257638)
ExceptionAddress: fffff800686e51f8 (tpm!Tpm20ResourceMgr::RemovedLoadedResource+0x00000000000000c0)
ExceptionCode: c0000409 (Security check failure or stack buffer overrun)
ExceptionFlags: 00000001
NumberParameters: 1
Parameter[0]: 0000000000000003
Subcode: 0x3 FAST_FAIL_CORRUPT_LIST_ENTRY
Tpm 2.0 modülüne ait kaynak yöneticisi, yüklenen kaynakları kaldırırken 0xc0000409 ile sistem uyarı veriyor. Bu istisna kodu, bir güvenlik kontrolünün başarısız olduğunu veya bir yığın arabelleğinin aşıldığını gösterir; bu durumda, bağlantılı bir liste bozuk olduğu için bir güvenlik kontrolünün başarısız olduğu görülüyor. Yani, güvenlik doğrulamasını da başlatan bu işlevdir.
Peki bunu neden yapıyor?
Kod:
tpm!Tpm20ResourceMgr::RemovedLoadedResource+0xc0:
fffff800`686e51f8 cd29 int 29h < Kesme
fffff800`686e51fa cc int 3 < Breakpoint
fffff800`686e51fb cc int 3
fffff800`686e51fc cc int 3
fffff800`686e51fd cc int 3
fffff800`686e51fe cc int 3
fffff800`686e51ff cc int 3
fffff800`686e51e0 48ff15793f0400 call qword ptr [tpm!_imp_ExFreePoolWithTag (fffff800`68729160)]
Muhtemelen ilgili kaynak için referans edilen bellek bölgesindeki tutarsızlık veya bozulma bu noktada bir geçersiz adres erişimi yaratıyor. >
8: kd> !pte 0000000000000003
VA 0000000000000003
PXE at FFFFC964B2592000 PPE at FFFFC964B2400000 PDE at FFFFC96480000000 PTE at FFFFC90000000000
contains 8A0000012592E867 contains 0A0000012592F867 contains 0000000000000000
pfn 12592e ---DA--UW-V pfn 12592f ---DA--UWEV contains 0000000000000000
not valid
TPM modülünü kullanan sürücüler veyahut bu hataya direkt olarak sebep olan sürücüler özellikle anti cheat sürücüleri oluyor. Bu noktada bir tespit için sürücü doğrulayıcı çalıştırmanı öneririm.
Driver Verifier aracı, Windows 2000'den bu yana her Windows sürümüne dahil edilen ve sistem bozulmasına, arızalara veya diğer öngörülemeyen davranışlara neden olan birçok sürücü sorununu tespit etmek ve gidermek için kullanılan bir araçtır. Bu konuda, sistemdeki bir sürücüyü tespit etmek ve...
techolay.net
AMD ekran kartı sürücün olmadan bilgisayarı kullanmak zor olmalı, özellikle Windows'un basic ekran sürücüsü ile. Yükle sürücünü de.
Image name: amdkmdag.sys
Browse all global symbols functions data
Timestamp: Thu Jun 30 06:51:01 2022 (62BD1DA5)