2015-11-21 2 views
2

Итак, я пытался получить значение из динамического адреса на некоторое время теперь, и результаты этого https://gyazo.com/82ef5920d01c4452840764111c60e046 Когда Infact моего значения Здоровья 100,Как я могу использовать базовый адрес для получения динамического?

Это то, что я пытался сделать до сих пор , Я попытался прочитать Базовый адрес сохранить его в temp, а затем снова запустил temp + HealthOffset в temp, затем я прочитал temp в целое число и попытаюсь его распечатать. Она не работает, когда я пытаюсь писать, чтобы написать на него либо

#include <Windows.h> 
#include <iostream > 
#define base 0x0050f4f4 

using namespace std; 

int main() 
{ 
    DWORD healthoffset[] = { 0xF8 }; 
    HWND hWnd = FindWindow(NULL, "AssaultCube"); 
    DWORD iProc = GetWindowThreadProcessId(hWnd, 0); 
    HANDLE hProc = OpenProcess(PROCESS_ALL_ACCESS, 0, iProc); 
    DWORD temp; 
    int storage; 
    ReadProcessMemory(hProc, (LPCVOID)base, &temp, sizeof(temp), 0); 
    ReadProcessMemory(hProc, (LPCVOID)(temp + healthoffset[1]),  &temp, sizeof(temp), 0); 
    ReadProcessMemory(hProc, (LPCVOID)temp, &storage, sizeof(int), 0); 
    cout << storage; 
    system("PAUSE"); 
    return 0; 
} 
+0

Поправьте меня, если я ошибаюсь, но бы не «Windows» в теге быть хорошим? –

+0

Да, я исправлю это плохо! –

ответ

1

Может healthoffset [1] должен быть healthoffset [0].

Это массив длины 1 и вы получаете доступ к первому элементу с индексом 0.

+0

Я попробую, и он дал тот же номер –

Смежные вопросы