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 :

Nom : 1.JPG
Affichages : 377
Taille : 17,2 Ko

Puis en C++ :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
int currentMana;
ReadProcessMemory(hProcess, (LPCVOID)(baseAdress + 0xAE01BC), &currentMana, sizeof(DWORD), NULL);
Cette partie fonctionne très bien.

Maintenant je voudrais récupérer une valeur ayant pour aspect sous CheatEngine :

Nom : 2.JPG
Affichages : 373
Taille : 25,8 Ko

En c++ voila ce que j'ai fait :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 !