HeapAlloc 由HeapAlloc看内存堆块的分配过程
调试环境
Win7 32bit
Windbg
IDA Pro
调试代码
准备跟进HeapAlloc看看内存的分配过程。对应的代码如下
64
因为分配过程比较复杂,涉及到多种可能情形,因此按照上述一个简单的程序以此跟进。
简单看一下这个程序,先创建一个私有堆,大小为0xfff,不可扩展,然后尝试申请一个大堆块,观察分配过程。
HeapCreate申请最大大小为0xfff,按照分配的必须是一个页的整数倍,因此扩展为一个普通页(0x1000) 4KB.
65
调用ntdll!RtlAllocateHeap(HANDLE HeapHandle, ULONG Flags, ULONG Size)
会