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 :

Explication (petites modification d'un code source)


Sujet :

x86 32-bits / 64-bits Assembleur

  1. #1
    Candidat au Club
    Homme Profil pro
    Chargé de référencement
    Inscrit en
    Août 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Afrique Du Sud

    Informations professionnelles :
    Activité : Chargé de référencement

    Informations forums :
    Inscription : Août 2015
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Explication (petites modification d'un code source)
    Bonjour,
    Je voudrais effectuer quelques modification sur un code source en asm 32-bits qui utilise l'api windows et j'aimerais avoir vos conseils et idée qui pourrait m'aider et me faire avancer plus vite, ces quelques jours j'ai plus revu le code et moi qui fait du C j'ai trouver ça plutôt finalement facile a lire surtout du fait que le code est bien commenté.
    Donc voilà j'ai quelques question que je vous expose ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Function proc uses ebx edi
    ; some code here
    ret
    Function endp
    Donc ici clairement c'est la déclaration d'une fonction mais j'aimerais savoir a quoi sert uses ebx edi ? je pense que c'est pour modifier ces variables globalement mais pas sûr ! et a quoi sert ret il retournera quoi ici ? 0? 1?

    Ensuite en plein dans cette function j'ai un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mov edi, offset szSomething
    , offset je ne suis pas sûr de sa signification mais "szSomething" est nul part dans tout le projet !! il sort de null part j'ai vérifier dans tout les fichiers .asm du projet cette valeur sort de nul part je perd espoir de savoir d'ou elle sort j'aimerais avoir votre avis...

    Des initialisation de ce type cella veut dire quoi ? un DWORD initialisé a 0 ? Dans les fonctions les registre tout les registre sont mis a 0 sauf en cas d'utilisation d'un "uses" ?

    Merci d'avance, je débute tout juste depuis 3 jours si vous avez des tutoriels spécifique a l'asm windows pour débutant je suis preneur merci.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Donc tu utilises masm et voici des docs: https://msdn.microsoft.com/en-us/library/afzk3475.aspx - http://people.sju.edu/~ggrevera/arch...61PROGUIDE.pdf

    ton ret est égal à:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    add     esp, 4
    jmp     dword [esp + 4]
    Ton szSomething est juste une sorte de insert_var_here et apparement cela doit affecter l'adresse de szSomething et non sa valeur peut-être.
    Le '?' sert apparemment à ne pas toucher aux valeurs pointées par le label dans le fichier exe, en somme juste une réservation d'octets sans init lors de la compilation.
    Dernière modification par Invité ; 03/08/2015 à 19h56.

  3. #3
    Candidat au Club
    Homme Profil pro
    Chargé de référencement
    Inscrit en
    Août 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Afrique Du Sud

    Informations professionnelles :
    Activité : Chargé de référencement

    Informations forums :
    Inscription : Août 2015
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Super merci c'est ce qu'il me fallait pour les docs

Discussions similaires

  1. Modification dans un code source FORTRAN
    Par Praetor.Fenix dans le forum Fortran
    Réponses: 7
    Dernier message: 12/07/2010, 23h49
  2. Modification d'un code source d'une alarme
    Par spedy dans le forum Autres architectures
    Réponses: 2
    Dernier message: 20/08/2009, 21h54
  3. Réponses: 8
    Dernier message: 12/06/2006, 22h40

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