Page 1 sur 1
Registre IP
Publié : mer. 01/avr./2009 22:23
par Anonyme
Comment connaître la valeur de ce registres ?
j'ai compris qu'on ne pouvais pas le manipulé , logique.
mais comment "pushé" sa valeur sur une pile manipulable ?
Publié : jeu. 02/avr./2009 14:58
par Ollivier
Code : Tout sélectionner
JeSuisLaValeurActuelleDuRegistreEIP:
Debug "EIP = 0x0" + Hex(?JeSuisLaValeurActuelleDuRegistreEIP) + "h"
Publié : jeu. 02/avr./2009 15:05
par Ollivier
Et si tu ne veux pas de la petite Lulu, je te présente la grosse Léa:
Code : Tout sélectionner
Procedure GetEIP()
! Lea eax,[l_jesuislavaleuractuelleduregistreeip]
ProcedureReturn
EndProcedure
JeSuisLaValeurActuelleDuRegistreEIP:
Debug "EIP = 0x0" + Hex(?JeSuisLaValeurActuelleDuRegistreEIP) + "h"
Debug "EIP = 0x0" + Hex(GetEIP() ) + "h"
Publié : jeu. 02/avr./2009 15:07
par Ollivier
Sinon, il y a Berthes, mais là, faut que tu te décides!
Code : Tout sélectionner
Macro InitGetEIP
Declare.I GetEIP()
Define EIPDiffA.I
Define EIPDiffB.I
Global EIPDiff.I
InitTest:
EIPDiffA = GetEIP()
EIPDiffB = ?InitTest
EIPDiff = EIPDiffA - EIPDiffB
EndMacro
InitGetEIP
Procedure.I GetEIP()
! pop eax
! push eax
! sub eax, [v_EIPDiff]
ProcedureReturn
EndProcedure
; Prog
AddressAuPifPourTester:
A = GetEIP()
Debug A
Debug ?AddressAuPifPourTester
Publié : jeu. 02/avr./2009 18:58
par tonton
Je n' jamais utilisé ce registre, que je trouve totalement inutile
y a d autre moyen pour savoir la position du programme
tu peux "pusher" un label et lire son contenu
l' instruction "lea" aussi
bwai bon!! je ne sais pas ce que tu veux faire avec EIP!!
Publié : sam. 04/avr./2009 1:56
par Ollivier
Ho le râleur d'élite! "Et gnagna jamais et gnagna totalement inutile!"
Ben oui que c'est inutile! Parce qu'on exécute son programme et qu'on s'en branle du reste! Mais sa question à Cpl.Bator elle est loin d'être con. S'il ne connait pas l'Asm ça n'est pas plus mal qu'il se pose des questions sur le registre qui joue un rôle crucial dans l'exécution de la moindre opération.
C'est un joli doute conceptuel de débutant en Asm! Ne l'aggresse pas: il ne fait que découvrir son "core"! ça n'est pas sale
Maintenant, s'il a d'autres questions, je ferais comme dans "Question pour un champion", je n'appuierai pas sur le buzzer et je te laisserai la main! Tu auras le plaisir de lui présenter une ou plusieurs des copines à Lea!! (AAA!!!)
Publié : sam. 04/avr./2009 9:32
par djes
On peut le manipuler, mais c'est "pour les experts"

Publié : sam. 04/avr./2009 10:02
par Fig
Bein, ça peut être utile indirectement ...
Tu call un sous programme: ca empile eid et ensuite tu push une adresse et tu ret ça t'envoie à cette adresse.... Puis tu n'oublie pas de dépiler l'adresse initiale d'eid pour éviter les embrouilles...
bon ok, ça ne sert à rien
ha, si, peut être pour perdre un amateur qui essaye de reverser ton code

(pis encore, meme pas sûr)
Publié : sam. 04/avr./2009 10:34
par Anonyme
Merci messieurs.
ton code est parfait Olivier!
