Rich (BB code):
KERNEL_MODE_HEAP_CORRUPTION (13a)
The kernel mode heap manager has detected corruption in a heap.
Arguments:
Arg1: 0000000000000012 Yığın, geçerli işlem sırasında geçersiz dahili durum algıladı. Bu genellikle bir tampon taşmasının sonucudur.
Arg2: ffffbc0db8100140, Address of the heap that reported the corruption.
Arg3: ffffbc0de3445000, Address at which the corruption was detected.
Arg4: 0000000000000000.
Heap'ler, Thread'e özgü verileri depolamak için thread tarafından yapılan bir Memory allocation olarak tanımlanabilirler. User-mode kodu bu Heap'leri olutşurmak veya yok etmek için NT'i çağırır tabii ancak içerikleri onları oluşturan user-mode kodu(bir .exe, bir süreç vs.) Tarafından eklenir veya kaldırılır. Aldığın hata Heap'le ilgili bir sorun olduğunu gösteriyor ve genellikle arabellek aşımı oluyor (tahsis edilen Heap'in dışında bir bellek adresini kullanmak) buna user-mode süreci ya da bir sürücü veya bozuk bir bellek sebep olabilir...
Rich (BB code):
2: kd> k
# Child-SP RetAddr Call Site.
00 ffffcc00`53247418 fffff807`a7bb2358 nt!KeBugCheckEx
01 ffffcc00`53247420 fffff807`a7bb23b8 nt!RtlpHeapHandleError+0x40
02 ffffcc00`53247460 fffff807`a798d4be nt!RtlpHpHeapHandleError+0x58
03 ffffcc00`53247490 fffff807`a7885505 nt!RtlpHpVsContextFree+0xc3e
04 ffffcc00`53247530 fffff807`a7807d28 nt!RtlpHpSegFreeInternal+0xa5
05 ffffcc00`53247570 fffff807`a81360d1 nt!RtlpHpFreeHeap+0x110 << Heap sorunu ve çökme
06 ffffcc00`532475b0 fffff807`a78bb095 nt!ExFreePoolWithTag+0x411 << Spesifik bir belleği serbest bırakmak
07 ffffcc00`532476a0 fffff807`a78bae23 nt!IopAllocateIrpPrivate+0x235 << Oluşturulan IRP'i tahsillemek?
08 ffffcc00`53247710 fffff807`a78ba2a0 nt!IopAllocateIrpExReturn+0x13
09 ffffcc00`53247740 fffff807`a7e838a8 nt!IopAllocateAndPopulateWriteIrp+0xb0 << Yazma işlemi için IRP oluşturmak?
0a ffffcc00`532477c0 fffff807`a7e835af nt!IopWriteFile+0x108
0b ffffcc00`532478e0 fffff807`a7c8c555 nt!NtWriteFile+0x2cf << Bir string buffer alır ve bir dosyaya veri yazar
0c ffffcc00`532479b0 00007ffc`1d97f8d4 nt!KiSystemServiceCopyEnd+0x25 << User Mode'dan NT'e geçiş
0d 00000074`467fe588 00000000`00000000 0x00007ffc`1d97f8d4
Çok da bir şey öğrenebildiğim bir dosya değil, IO tahsilleri kaldırıldığı için hiçbir ırp değerine bakamadım. Sadece tahmin olarak, NT! Iopallocateırp - NT! Exfreepoolwithtag fonksiyonlarından ilerleyerek ya işletim sistemi random bir sürücünün cihaz nesnesine ait belleğin artık kimse tarafından kullanılmadığını düşündüğü için bu alanı tahsis edip baştan başlatıyor ve bu da haliyle o sürücünün cihaz nesnesine gereğinden fazla
dereference (başvuru kaldırma) yapıyor... Ki bu sistemde bellek bozulması yaratan bir durumdur.
Ya sistem kaldırılan, boşa çıkarılan bir bellek alanına tekrar erişip boşa çıkarıyor. Bu da
çifte kaldırma hatasını tetikleyip sistemin çökmesine yol açıyor.
Ya da gerçekten bir bellek bozulması var.
Rich (BB code):
rax=0000000000000012 rbx=0000000000000000 rcx=000000000000013a
rdx=0000000000000012 rsi=0000000000000000 rdi=ffffbc0de34f55d0
rip=fffff807a81360d1 rsp=ffffcc00532475b0 rbp=ffffcc0053247639
r8=ffffbc0db8100140 r9=ffffbc0de3445000 r10=0000000000000000
r11=fffff78000000708 r12=0000000000000000 r13=ffffbc0de34f55d0
r14=ffffbc0de34f55c0 r15=ffffbc0db8100000
iopl=0 nv up ei ng nz ac po cy.
cs=0010 ss=0018 ds=002b es=002b fs=0053 gs=002b efl=00040297
nt!ExFreePoolWithTag+0x411:
fffff807`a81360d1 4c8bb424b8000000 mov r14,qword ptr [rsp+0B8h] ss:0018:ffffcc00`53247668=ffffac01602a2180
Öncelik tahminlerimizden dolayı,
sürücü doğrulayıcı çalıştırıp sistemini kontrol etmek isteyebilirsin... Daha fazla bilgi için
buraya da mutlaka göz at.
RAM için de laptop olduğu için şu testi yap bu testi yap çok sonuç elde edemediğimiz yöntemler oluyor. Bundan dolayı da fiziksel olarak RAM'lerini tek tek kontrol etmen iyi olur diyebilirim sadece. 2 tane 32 GB RAM sahibi olduğunu görüyorum.