IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

[POINTER] - ReadProcessMemory


Sujet :

C++

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    15
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (�le de France)

    Informations forums :
    Inscription : Avril 2012
    Messages : 15
    Par d�faut [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 :

    Nom : 1.JPG
Affichages : 380
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 : 376
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 !

  2. #2
    Expert confirm�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2005
    Messages
    5 505
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 5 505
    Par d�faut
    Vous utilisez les offsets dans le mauvais ordre.
    L'IHM de votre cheater n'est pas convivial, faites les calculs vous-m�mes.

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    15
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (�le de France)

    Informations forums :
    Inscription : Avril 2012
    Messages : 15
    Par d�faut
    Merci bacelar !!!

    J'�tais en train de devenir fou

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [RTTI] TObject.FieldAdress(Name : String) : Pointer
    Par Clorish dans le forum Langage
    R�ponses: 3
    Dernier message: 30/09/2004, 14h41
  2. Pointer sur un fichier FILE *
    Par Biou Pink Powa dans le forum C
    R�ponses: 3
    Dernier message: 29/01/2004, 14h45
  3. templates et smart pointers
    Par delire8 dans le forum C++
    R�ponses: 9
    Dernier message: 10/07/2003, 16h26
  4. R�ponses: 5
    Dernier message: 05/07/2003, 11h52
  5. [Pointer]Treeview.Data
    Par rbag dans le forum Composants VCL
    R�ponses: 7
    Dernier message: 31/08/2002, 01h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo