获取已分配节的基址

C++ get the base address of a allocated section

本文关键字:分配 获取      更新时间:2023-10-16

由于我之前没有说清楚,我将重写我的问题。

我需要获得分配给VirtualAllocEx()的一段内存的绝对基址。

例如,如果我分配0x20000字节并获得地址0x5000000。

我需要一个方法来获得地址0x5000000使用值0x5015000。

VirtualQuery()返回值0x5015000所在的页地址,而不是分配的内存段的基址。

所以我需要一个不同的方法来找到任何分配的内存段的基址

免责声明:这里没有任何WinAPI经验。

VirtualQuery()返回值0x5015000所在的页地址,而不是分配的内存段的基址。

根据我对文档的理解,VirtualQuery()返回一个包含多条信息的结构,包括…

BaseAddress

指向页所在区域的基址的指针。

AllocationBase

指向VirtualAlloc函数分配的一组页的基址的指针。BaseAddress成员所指向的页面包含在此分配范围内。

是否您只检查了BaseAddress而没有检查AllocationBase ?