1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| #include <windows.h>
#include <iostream>
#include <cstdlib>
int main (int argc, char **argv)
{
DWORD processId = 42; //À remplacer par l'ID affiché
int *ptr_mavariable = (int*)0x2c7f90; // Chez moi, l'adresse affichée était celle là.
HANDLE hProcess = OpenProcess(PROCESS_VM_READ, FALSE, processId);
if(hProcess == NULL) {
DWORD err = GetLastError();
std::cerr << "Echec d'ouverture du processus #" << processId << ": Erreur #" << err << std::endl;
return EXIT_FAILURE;
}
int mavariable_copy = 0;
if(!ReadProcessMemory(hProcess, ptr_mavariable, &mavariable_copy, sizeof(int), NULL)) {
DWORD err = GetLastError();
std::cerr << "Echec de lecture de la mavariable: Erreur #" << err << std::endl;
return EXIT_FAILURE;
}
CloseHandle(hProcess);
std::cout << "Le contenu de la variable a l'adresse " << ptr_mavariable << " est " << mavariable_copy << "\n";
std::cin.ignore (1);
return 0;
} |
Partager