Bonjour,
J'ai du mal à comprendre ce bout de code :
(c'est dans une boucle qui incrémente l'indice tant qu'il est inferieur à la taille du buffer)
buffer = 0x4592f501 0x41414141
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 mov indice, %eax add buffer, %eax movsbl (%eax), %eax
J'execute en pas à pas, et je vous note, ce que j'en pense.
Indice = 0
eax pointe donc sur 0x4592f501
Ok, c'est le dernier bit de buffer[0] (buffer[0] étant égal à 0x4592f501).eax = 0x1
Indice = 1
eax pointe donc sur 0x414592f5
Et c'est là que je coince..car pour moi eax devrait valloir 0xf5...eax = 0xfffffff5
Je dois me tromper quelque part...
Merci à ceux qui pourront m'éclairer un peu.
Sorry
Mise à jour :
Je continue de dérouler le programme :
Indice = 3
eax pointe donc sur 0x41414592
Idem je ne comprends pas pourquoi il y a tous ces f...eax = 0xffffff92
Indice = 4
eax pointe donc sur 0x41414145
Là ok !eax = 0x45
Indice = 5
eax pointe donc sur 0x41414141
Là ok aussi !eax = 0x41
Etc...
Donc il y a deux itérations étranges que je ne saisie pas![]()
Partager