#ifdef SECURE RtlCopyMemory(KernelBuffer, UserBuffer, (SIZE_T)POOL_BUFFER_SIZE); #else DbgPrint("[+] Triggering Buffer Overflow in NonPagedPool\n"); //sizeof(KernelBuffer) = 504,Size=544 RtlCopyMemory(KernelBuffer, UserBuffer, Size); #endif if (KernelBuffer) { //到这里就蓝屏 ExFreePoolWithTag(KernelBuffer, (ULONG)POOL_TAG); KernelBuffer = NULL; } }
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
yy虫子yy RtlCopyMemory后就ExFreePoolWithTag? 这是要干嘛?然而这段代码并不能说明什么 蓝屏原因很多,用windbg分析下dump
吴俊 就是从用户内存空间复制了一段数据到内核内存空间,复制的大小超过了内核池申请的大小。我刚才测试了,在32位上能运行,64位不行。HackSysExtremeVulnerableDriver这个实验64位 ...