2

由于我不清楚之前我会重写我的问题。

我需要获取分配给VirtualAllocEx().

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

我需要一种使用值 0x5015000 获取地址 0x5000000 的方法。

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

所以我需要一种不同的方法来找到任何分配的内存部分的基地址。

4

1 回答 1

3

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

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

据我了解文档VirtualQuery()返回一个包含多条信息的结构,包括...

基址

指向页区域基地址的指针。

分配基础

指向函数分配的一系列页面的基地址的指针VirtualAllocBaseAddress成员指向的页面包含在此分配范围内。

难道是你只检查BaseAddress而不检查AllocationBase?因为后者听起来与您正在寻找的完全一样...

于 2015-07-21T13:33:01.080 回答