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

x86 32-bits / 64-bits Assembleur Discussion :

Comment calculer l'adresse d'un pointeur en ASM


Sujet :

x86 32-bits / 64-bits Assembleur

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2011
    Messages : 11
    Points : 4
    Points
    4
    Par défaut Comment calculer l'adresse d'un pointeur en ASM
    Bonjours à tous!

    J'ai un petit problème de compréhension je ne comprend pas comment calculer les pointeurs une fois que le code ASM est assemblé... EX j'ai un MOV EAX,Variable
    ce mov quand je décompile le programme avec cheat engine me donne ceci

    MOV EAX,00403000 mais..... l'adresse de ma variable dans le fichier est 600h et non pas 00403000h....... je ne sais pas si vous comprenez mon problème mais si oui merci de m'éclairer et de me donner le calcule à effectuer, car ça fais 3 jours que je cherche une explication en vain et merci à vous.


    http://imageshack.us/photo/my-images/689/5qzu.png/

    Comme vous pouvez le voir dans l'instruction sais 00403000 mais pourtant les donnés commence à 600.... je pige pas trop...

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 169
    Points : 251
    Points
    251
    Par défaut
    Salut,

    L'adresse de ta variable est en fait son emplacement en mémoire lors de l'exécution. Le 600h correspond à l'adresse mémoire de ta variable par rapport au début du segment dans lequel elle est chargée.

    Au final, ta variable se situe à SEGMENT+600h. Après, il peut y avoir d'autres variations en fonction de l'architecture/modèle mémoire que tu utilises, mais c'est le principe de base.

  3. #3
    Candidat au Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2011
    Messages : 11
    Points : 4
    Points
    4
    Par défaut ???
    Dac. Bon l'adresse est statique vue quelle est créer par l'assembleur et ton calcule SEGMENT+600h me permeterais de trouver son adresse et de l'utiliser dans me code source directement par exemple, mais je trouve comment SEGMENT à risque d'avoir l'aire stupide...

  4. #4
    Candidat au Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2011
    Messages : 11
    Points : 4
    Points
    4
    Par défaut A je voie
    Bon le programme commence à l'adresse 400000h mais je ne voie absolument pas pourquoi il commence à cette adresse

  5. #5
    Candidat au Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2011
    Messages : 11
    Points : 4
    Points
    4
    Par défaut tous est dit.
    En fais j'ais remarqué que se son des choix qui se fon dans le PE Header de windows "dans le fichier exe" merci de vôtre aide le prob est résolut!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment calculer une adresse physique ?
    Par princess_peace dans le forum x86 16-bits
    Réponses: 4
    Dernier message: 27/01/2009, 01h31
  2. Réponses: 3
    Dernier message: 22/07/2008, 10h46
  3. Comment calculer des adresses réseau ?
    Par timal78 dans le forum C#
    Réponses: 2
    Dernier message: 31/03/2008, 16h16
  4. Comment récupérer les adresses WWW dans Internet Explorer ?
    Par chaours dans le forum Web & réseau
    Réponses: 7
    Dernier message: 03/09/2003, 14h27
  5. Comment récupérer une adresse MAC ?
    Par psau dans le forum Développement
    Réponses: 7
    Dernier message: 19/07/2002, 17h26

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