2 pièce(s) jointe(s)
[POINTER] - ReadProcessMemory
Bonjour,
Depuis peu je m’intéresse au programme CheatEngine, qui permet d'explorer les adresses d'un processus.
J'arrive bien à récupérer les valeurs qui m’intéressent quand celle-ci dépendent uniquement de l'adresse du base du processus + un offset.
Sous CheatEngine cela resemble à ça :
Pièce jointe 239707
Puis en C++ :
Code:
1 2 3
|
int currentMana;
ReadProcessMemory(hProcess, (LPCVOID)(baseAdress + 0xAE01BC), ¤tMana, sizeof(DWORD), NULL); |
Cette partie fonctionne très bien.
Maintenant je voudrais récupérer une valeur ayant pour aspect sous CheatEngine :
Pièce jointe 239709
En c++ voila ce que j'ai fait :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
DWORD pointer1;
DWORD pointer2;
DWORD offset1 = 0x3C;
DWORD offset2 = 0x240;
BYTE result;
ReadProcessMemory(hProcess, (LPCVOID)(baseAdress + 0xAE01BC), &pointer1, sizeof(DWORD), NULL);
ReadProcessMemory(hProcess, (LPCVOID)(pointer1 + offset1), &pointer2, sizeof(DWORD), NULL);
ReadProcessMemory(hProcess, (LPCVOID)(pointer2 + offset2), &result, sizeof(BYTE), NULL);
std::cout << "Value : " << (BYTE)result << std::endl; |
Je ne récupère pas du tout la bonne valeur.
Si quelqu'un à une idée du pourquoi.
Merci d'avance ! :)