C ++获取分配部分的基地址
C++ get the base address of a allocated section
因为我之前没说清楚所以我会重写我的问题。
我需要获取分配给VirtualAllocEx()
的一段内存的绝对基地址。
比如我分配了0x20000字节,得到地址0x5000000。
我需要一种使用值 0x5015000 获取地址 0x5000000 的方法。
VirtualQuery() returns 值 0x5015000 所在的页面地址,而不是已分配内存部分的基地址。
所以我需要一种不同的方法来找到任何已分配内存部分的基地址。
免责声明:此处没有任何 WinAPI 经验。
VirtualQuery() returns the page address that the value 0x5015000 resides in and not the base address of the allocated section of memory.
据我了解the docs, VirtualQuery()
returns a structure包含多条信息,包括...
BaseAddress
A pointer to the base address of the region of pages.
AllocationBase
A pointer to the base address of a range of pages allocated by the VirtualAlloc
function. The page pointed to by the BaseAddress member is contained within this allocation range.
难道你只勾选了BaseAddress
,没有勾选AllocationBase
?因为后者听起来和你要找的完全一样......
因为我之前没说清楚所以我会重写我的问题。
我需要获取分配给VirtualAllocEx()
的一段内存的绝对基地址。
比如我分配了0x20000字节,得到地址0x5000000。
我需要一种使用值 0x5015000 获取地址 0x5000000 的方法。
VirtualQuery() returns 值 0x5015000 所在的页面地址,而不是已分配内存部分的基地址。
所以我需要一种不同的方法来找到任何已分配内存部分的基地址。
免责声明:此处没有任何 WinAPI 经验。
VirtualQuery() returns the page address that the value 0x5015000 resides in and not the base address of the allocated section of memory.
据我了解the docs, VirtualQuery()
returns a structure包含多条信息,包括...
BaseAddress
A pointer to the base address of the region of pages.
AllocationBase
A pointer to the base address of a range of pages allocated by the
VirtualAlloc
function. The page pointed to by the BaseAddress member is contained within this allocation range.
难道你只勾选了BaseAddress
,没有勾选AllocationBase
?因为后者听起来和你要找的完全一样......