ASM -> langage binaire (win32)

ASM -> langage binaire (win32) - ASM - Programmation

Marsh Posté le 11-08-2002 à 22:57:38    

Bonjour,
 
j'ai désassemblé un petit prog (compilé avec vc++6)
et, à l'offset 10E9 (004010E9)
il y a l'instruction call 00401000 (qui renvoit donc à l'offset 1000 du code (dans le fichier, c'est la ou le code commence (mais pas l'entrypoint)))
traduite en binaire : E812FFFFFF
je ne comprends pas comment ca marche ?
je suppose que le E8 correspond à call, mais 12FFFFFF, à quoi cela correspond-il ?
je cherche à faire un rapprochement ...
 
merci a vous si qquelqu'un pouvait m'aider
 
bonne prog, @+
BlackGoddess


---------------
-( BlackGoddess )-
Reply

Marsh Posté le 11-08-2002 à 22:57:38   

Reply

Marsh Posté le 11-08-2002 à 23:11:19    

>> traduite en binaire : E812FFFFFF
 
hein ?
 
>> je ne comprends pas comment ca marche ?
 
je ne comprends pas ta 'traduction'.
 
>> mais 12FFFFFF, à quoi cela correspond-il ?
 
c'est sûrement une adresse relative, donc négative. regarde l'ordre des bytes losque tu écris un dword ...

Reply

Marsh Posté le 11-08-2002 à 23:21:32    

E812FFFFFF c'est le fichier .exe édité en hexadécimal, ce qu'il y a dans le fichier qui correspond à call 00401000 dans le désassembleur
 
pour le dword ... je ne sais pas comment on le traduit, je sais juste que les octets sont inversés, ce qui donne FFFFFF12.


---------------
-( BlackGoddess )-
Reply

Marsh Posté le 11-08-2002 à 23:32:50    

c'est bon, g converti le dword en signed long, et ca donne -238, ce qui est l'écart entre l'offset de l'instruction suivant le call et l'offset 1000


---------------
-( BlackGoddess )-
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed