Değiştirdin ve o kadar mı? Eğer ki sistemleri baştan kurduysan bunu da dipnot olarak geçmeni isterim.
Rich (BB code):
KERNEL_MODE_HEAP_CORRUPTION (13a)
The kernel mode heap manager has detected corruption in a heap.
Arguments:
Arg1: 0000000000000012, Type of corruption detected
Arg2: ffffcd0750010100, Address of the heap that reported the corruption
Arg3: ffffcd0771867000, Address at which the corruption was detected
Arg4: 0000000000000000
Yığınlar, iş parçacığına (çalışan sürece ait) özgü verileri depolamak için iş parçacıkları tarafından yapılan dinamik bellek tahsislerinden ibaretlerdir. Kullanıcı modu kodu bu yığınları kurmak ve yok etmek için çekirdeği çağırır (ntoskrnl) dipnot olarak ancak ve ancak içerikleri onları oluşturan kullanıcı modu kodu tarafından eklenir ve kaldırılır. KERNEL_MODE_HEAP_CORRUPTION ise bize bir yığınla ilgili bir sorun olduğunu söyler; tipik olarak bir arabellek aşı mıdır (tahsis edilen yığının dışında bir adres kullanmak) ve bu genellikle bir kullanıcı modu kodu tarafından ortaya çıkar ya da muhtemelen bir sürücü hatasıdır diyebiliriz. Kırmızı olarak işaretlediğim hatanın Type'ı ise Microsoft tarafından şöyle
belgelenmiş:
Rich (BB code):
0x12 : The heap detected invalid internal state during the current operation. This is usually the result of a buffer overflow.
Sistemde çalışan belli bir iş parçacığı ya da process yok, bu yüzden yığını inceleyebilir ve suçlu sürücüyü görebiliriz:
Rich (BB code):
3: kd> k
# Child-SP RetAddr Call Site
00 ffff8589`589074e8 fffff804`3a58e588 nt!KeBugCheckEx
01 ffff8589`589074f0 fffff804`3a58e5e8 nt!RtlpHeapHandleError+0x40
02 ffff8589`58907530 fffff804`3a58e215 nt!RtlpHpHeapHandleError+0x58
03 ffff8589`58907560 fffff804`3a43d896 nt!RtlpLogHeapFailure+0x45
04 ffff8589`58907590 fffff804`3a289424 nt!RtlpHpVsContextFree+0x1b2f86
05 ffff8589`58907630 fffff804`3a34ad29 nt!ExFreeHeapPool+0x4d4
06 ffff8589`58907710 fffff804`38908a19 nt!ExDeleteWakeTimerInfo+0x9 < Uyku modu sırasında zamanlayıcı görevleri işlemek?
07 ffff8589`58907740 fffff804`38904382 tcpip!PplGenericFreeFunction+0x59
08 ffff8589`58907770 fffff804`38904059 tcpip!WfpAlepEndpointCleanup+0x6b2
09 ffff8589`589077f0 fffff804`388d9907 tcpip!WfpAlepEndpointCleanup+0x389
0a ffff8589`58907870 fffff804`388eef03 tcpip!TcpCleanupTcbWorkQueueRoutine+0x1d7
0b ffff8589`589079d0 fffff804`387bbf36 tcpip!TcpCloseTcbWorkQueueRoutine+0x113
0c ffff8589`58907a70 fffff804`3a274783 NETIO!NetiopIoWorkItemRoutine+0x56 < netIO ile ağ rutinlerindeki süreçleri yönetmeye başlama çağrısı / çökme noktası
0d ffff8589`58907ac0 fffff804`3a2b8515 nt!IopProcessWorkItem+0x93
0e ffff8589`58907b30 fffff804`3a355855 nt!ExpWorkerThread+0x105
0f ffff8589`58907bd0 fffff804`3a3fe808 nt!PspSystemThreadStartup+0x55
10 ffff8589`58907c20 00000000`00000000 nt!KiStartSystemThread+0x28
Sistem ya uyku sırasında ya da uykudan çıkış sırasında muhtemelen bu uyku sırasında önceden zamanladığı bir takım ağ görevlerini düzenliyor ya da işi olmadığı için kaldırıyor. NetIO çağrısı ile bu görevleri sıraya alıp işliyor ve sonrasında gelen TCPIP süreçleri, özellikle TCB protokülüne ait, muhtemelen 2 uygulamaya dahil olan ağ bağlantılarını kaldırıp WFP'e bağlı olan katmandaki verileri temizlemesi ve sonunda aldığı objeleri serbest bırakarak bu görevleri bitirmesi sonrası ya da sırasında bir bellek taşması yaratması sorunun kaynağı oluyor.
Rich (BB code):
3: kd> ub fffff804387bbf14
NETIO!NetiopIoWorkItemRoutine:
fffff804387bbef0 33c0 xor eax,eax
fffff804387bbef2 488d542420 lea rdx,[rsp+20h]
fffff804387bbef7 488bcb mov rcx,rbx
fffff804387bbefa 4889442430 mov qword ptr [rsp+30h],rax
fffff804387bbeff 0f11442420 movups xmmword ptr [rsp+20h],xmm0
fffff804387bbf04 4c8b15fd580600 mov r10,qword ptr [NETIO!_imp_KeAcquireInStackQueuedSpinLock (fffff80438821808)]
fffff804387bbf0b e8204eb001 call nt!KeAcquireInStackQueuedSpinLock (fffff8043a2c0d30)
fffff804387bbf10 488b7b10 mov rdi,qword ptr [rbx+10h]
3: kd> r rbx
rbx=0000000000000012 < Tespit edilen çökme
Klasik olarak, bir ağ sürücü ya da ağ bağlantısını kullanan bir başka ağ protokolü ile ilgili bir hata. Bu dosyaya özel tabii ki. Diğer tüm çekirdekleri tek tek inceledim ve sadece bu çekirdekte oluşan bir hata.
Rich (BB code):
3: kd> lmDvmrt640x64
Browse full module list
start end module name
fffff804`4a590000 fffff804`4a63d000 rt640x64 (deferred)
Mapped memory image file: C:\ProgramData\dbg\sym\rt640x64.sys\5CE7AF86ad000\rt640x64.sys
Image path: \SystemRoot\System32\drivers\rt640x64.sys
Image name: rt640x64.sys
Browse all global symbols functions data
Timestamp: Fri May 24 11:47:02 2019 (5CE7AF86)
CheckSum: 000B965B
[........]
ProductName: Realtek 8125/8136/8168/8169 PCI/PCIe Adapters
[........]
FileDescription: Realtek 8125/8136/8168/8169 NDIS 6.40 64-bit Driver
Lütfen ağ bağlantızını güncelleyin ve durumu bildirin.