-3
我想弄清楚讀取偏移量最合乎邏輯的一步一步,這裏是當前正在處理的代碼。分解ReadProcessMemory函數,讀取多個偏移量
DWORD BaseOFFSET = 0x000000;
DWORD address2 = ReadProcessMemory(pHandle, (void*)(BaseOFFSET + 0x50),0, sizeof(DWORD), 0); //50 doors down in baseoffset
DWORD address3 = ReadProcessMemory(pHandle, (void*)(address2 + 0x0500),0, sizeof(DWORD), 0); // address 3 is address2 + another 500 doors down the line
DWORD address4 = ReadProcessMemory(pHandle, (void*)(address3 + 0x140),0, sizeof(DWORD), 0); // and so on...
DWORD address5 = ReadProcessMemory(pHandle, (void*)(address4 + 0x100), 0, sizeof(DWORD), 0); //Final offset is stored in address5
因爲我知道一個浮標存儲在最終的地址,我會用這個來清點值多數民衆贊成在地址
float* Data = (float*)(&address5);
if (Data != nullptr)
Sleep(2000);
cout << *Data << std::endl;
我在那裏有睡眠(2000年),因爲它是一個長環檢查地址中的值,看看它是否發生變化,並取決於變化,我會做不同的事情。代碼編譯並運行正常,但返回的值是錯誤的,當我在循環中執行時,我得到0。
您可能想要參考ReadProcessMemory的[文檔](https://msdn.microsoft.com/en-us/library/windows/desktop/ms680553%28v=vs.85%29.aspx)。它不會返回讀取的值,您正在使用它不正確。 – 2015-04-02 23:15:17
我很驚訝代碼沒有崩潰。輸出參數不是可選的,並且您傳遞NULL。 – 2015-04-02 23:38:30