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 :

Comprendre code dword ptr et <JMP.&USER32.MessageBeep>


Sujet :

x86 32-bits / 64-bits Assembleur

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 58
    Points : 49
    Points
    49
    Par défaut Comprendre code dword ptr et <JMP.&USER32.MessageBeep>
    bonjour
    je suis en train d'apprendre l'assembleur et je ne comprend pas ceci dans un desassembleur(ollydbg pour ceux qui connaissent):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    jmp dword ptr DS:[403194]
    en faite c'est le "dword ptr" que je ne comprend pas.

    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CALL <JMP.&USER32.MessageBeep>
    que veut dire ce "<JMP.&USER32.MessageBeep>"?

    merci d'avance

  2. #2
    Rédacteur
    Avatar de Neitsa
    Homme Profil pro
    Chercheur sécurité informatique
    Inscrit en
    Octobre 2003
    Messages
    1 041
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chercheur sécurité informatique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 041
    Points : 1 956
    Points
    1 956
    Par défaut
    Bonjour,

    Citation Envoyé par stephane543 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    jmp dword ptr DS:[403194]
    en faite c'est le "dword ptr" que je ne comprend pas.
    On peut résumer ça part:

    Saute (JMP) au double-mot (DWORD, soit 32 bits) pointé (PTR) par l'adresse 0x403194 située dans le segment de donnée (DS).

    Un exemple:

    Si le double mot à l'adresse 0x403194 contient 0x405000, alors le code "saute" en 0x405000 (c-a-d que EIP vaut 0x405000 après l'exécution de cette instruction).

    Un autre exemple:

    Code asm : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    movzx eax, byte ptr fs:[0x0]

    MOV (avec "zero-extend") dans EAX du byte (8 bits) pointé par l'adresse 0x0 du segment FS.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CALL <JMP.&USER32.MessageBeep>
    que veut dire ce "<JMP.&USER32.MessageBeep>"?
    C'est un CALL sur un JMP qui pointe lui-même vers la fonction MessageBeep() située dans la DLL USER32.dll

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 58
    Points : 49
    Points
    49
    Par défaut
    génial . merci beaucoup.

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

Discussions similaires

  1. comprendre code ? et :
    Par sebatlante dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 25/07/2009, 19h16
  2. Aide pour comprendre un code
    Par Spacy_green dans le forum Assembleur
    Réponses: 2
    Dernier message: 13/02/2006, 13h22
  3. Aide pour comprendre le code
    Par jfreuff dans le forum Assembleur
    Réponses: 2
    Dernier message: 31/01/2006, 17h54
  4. Comprendre un code asm relatif aux bitmaps
    Par sorry60 dans le forum Assembleur
    Réponses: 8
    Dernier message: 20/04/2005, 21h31
  5. Réponses: 12
    Dernier message: 08/02/2005, 23h42

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