[ASM] Récupération registre EIP
|
13-01-2013, 19h57
Message : #1
|
|
Yttrium
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: Il vous suffira ensuite d'appeler la procédure eip comme ceci : Code : call eip_to_eax |
|
« Sujet précédent | Sujet suivant »
|
Messages dans ce sujet |
[ASM] Récupération registre EIP - par Yttrium - 13-01-2013, 19h57
RE: [ASM] Récupération registre EIP - par supersnail - 13-01-2013, 20h05
RE: [ASM] Récupération registre EIP - par gruik - 15-01-2013, 03h12
RE: [ASM] Récupération registre EIP - par Horgh - 15-01-2013, 19h34
|
Utilisateur(s) parcourant ce sujet : 1 visiteur(s)