-
-
[求助]关于 大 非分页池问题
-
发表于:
2020-5-25 20:00
6073
-
各位老师,windbg利用!pool 8521000可以看到该地址为非分页池,且大小为0x11000
然后在利用 nt!PoolBigPageTable 进行遍历,获取所有"大池"结构
windbg脚本
#!c
r? @$t0 = (nt!_POOL_TRACKER_BIG_PAGES*)@@(poi(nt!PoolBigPageTable))
r? @$t1 = *(int*)@@(nt!PoolBigPageTableSize) / sizeof(nt!_POOL_TRACKER_BIG_PAGES)
.for (r @$t2 = 0; @$t2 < @$t1; r? @$t2 = @$t2 + 1)
{
r? @$t3 = @$t0[@$t2];
.if (@@(@$t3.Va != 1))
{
.printf "VA: 0x%p Size: 0x%lx Tag: %c%c%c%c Freed: %d Paged: %d CacheAligned: %d\n", @@((int)@$t3.Va & ~1), @@(@$t3.NumberOfBytes), @@(@$t3.Key >> 0 & 0xFF), @@(@$t3.Key >> 8 & 0xFF), @@(@$t3.Key >> 16 & 0xFF), @@(@$t3.Key >> 24 & 0xFF), @@((int)@$t3.Va & 1), @@(@$t3.PoolType & 1), @@(@$t3.PoolType & 4) == 4
}
}
发现并没有该池的地址0x85f21000,按理说该地址也应该在这个列表中啊,也不知道各位老师可不可以复现该问题,我是在调试永恒之蓝,在memmove的时候查看的pool结构然后遍历的。是我哪里理解的不到位吗?
[招生]系统0day安全班,企业级设备固件漏洞挖掘,Linux平台漏洞挖掘!