我正在读这样一个过程的记忆:
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]值?
答案 0 :(得分:0)
将偏移量添加到指针的内容会给出您想要的地址:
Static = 0x12BCAC8;
Offset_1 = 0x07F8;
ReadProcessMemory(hProcess,(void *) (Static + Offset_1), &value, 4, NULL);