• STATISTIQUES
  • Il y a eu un total de 0 membres et 37271 visiteurs sur le site dans les dernières 24h pour un total de 37 271 personnes!
    Membres: 2 605
    Discussions: 3 579
    Messages: 32 816
    Tutoriels: 78
    Téléchargements: 38
    Sites dans l'annuaire: 58


  • ANNUAIRE
  • [FR] frameip
    le site de partage des connaissances du monde TCPIP
    Protocole
    [FR] Le site du zero
    Découvrez gratuitement la programmation (C, C++, PHP, MySQL, XHTML, CSS...), Linux, le Mapping, la modé...
    Programmation
    [FR] Le top web
    Nous offrons une sélection la plus large possible de resources webmaster gratuites, hébergement gratuit...
    Webmaster
    [FR] Newbie Contest
    Crackme: 35, Cryptographie: 49, Hacking: 27, Javascript/Java: 17, Logique: 31, Programmation: 23, Stéganographie: 53
    Challenges
    [FR] Zenk-Security
    La communauté zenk-security a pour objet principal la sécurité informatique, nous sommes des tou...
    Hacking
    [FR] PHP France
    Pour tout savoir sur le PHP, en français. Vous trouverez des tutoriels, des exemples, des astuces, toute la do...
    Hacking
    [EN] Rosecode
    Programming: 36, Math: 29, Probability: 5, Sequence: 7, Crypto: 4, Brainf**k: 13, TimeRace: 4, Hack: 9
    Challenges

  • DONATION
  • Si vous avez trouvé ce site internet utile, nous vous invitons à nous faire un don du montant de votre choix via Paypal. Ce don servira à financer notre hébergement.

    MERCI!




Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
[ASM] Récupération registre EIP
13-01-2013, 19h57
Message : #1
Yttrium Hors ligne
Membre actif
*



Messages : 106
Sujets : 14
Points: 48
Inscription : Jul 2012
[ASM] Récupération registre EIP
Bonjour a tous !

Aujourd'hui, nous allons voir comment récupéré la valeur du registre EIP grâce a une procédure en Assembleur x86.
Cette dernière peux facilement être intégré à un code C grâce à la balise asm("");

Tout d'abord qu'est ce que le registre EIP.
Le registre EIP, est utilisé par le processeur pour connaitre l’adresse de la prochaine instruction à exécuter. Cependant, il ne peux pas être modifié avec la traditionnel instruction mov.
Vous le modifier sans le savoir lorsque vous faite un jump, car vous lui donner une valeur spécifique.
Mais malgré ça, il reste une solution qui permet de récupéré ça valeur, le pointeur de pile, ESP.

En faite, lorsque vous appelez une procédure avec l'instruction call, la variable EIP est stocké sur la pile avant d'être modifié. Et c'est la variable ESP qui contient l'adresse du haut de la pile, il nous suffira donc simplement de coder une fonction qui une fois appelé stock la variable pointé par ESP et la retourne ce qui nous donne :

Code :
eip_to_eax:
mov eax, [esp]
ret

Il vous suffira ensuite d'appeler la procédure eip comme ceci :


Code :
call eip_to_eax
BufferoverfloW

Всё минется, одна правда останется
+1 (4) -1 (0) Répondre


Messages dans ce sujet
[ASM] Récupération registre EIP - par Yttrium - 13-01-2013, 19h57

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
N-PN
Accueil | Challenges | Tutoriels | Téléchargements | Forum | Retourner en haut