坚持读取偏移/指针

时间:2012-01-28 13:49:42

标签: c++ memory pointers process offset

我正在读这样一个过程的记忆:

int MEM_BATTLESPEED_ADDR = 0x12EC900; // <- this is a static address
int MEM_battleSpeed;
if (ReadProcessMemory(hProcess,(void *) MEM_BATTLESPEED_ADDR, &MEM_battleSpeed, 4, NULL))   
{
   cout << "MEM_battleSpeed: " << MEM_battleSpeed << "\r\n"; 
}

地址是静态的,因此当我重新启动应用程序时它永远不会改变。我可以毫无问题地读到这个。一切都好。

我的问题是,有些地址不是静态的。我知道偏移和指针,但我不知道如何阅读以下内容:

[Info]
$Static   = 0x12BCAC8
$Offset_1 = 0x07F8
$Offset_2 = 0x000C
$Offset_3 = 0x0284

如何阅读[Info]值?

1 个答案:

答案 0 :(得分:0)

将偏移量添加到指针的内容会给出您想要的地址:

Static   = 0x12BCAC8;
Offset_1 = 0x07F8;

ReadProcessMemory(hProcess,(void *) (Static + Offset_1), &value, 4, NULL);