Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : [MASM32] Probleme de conversion [ Archives / Aide a la programmation Windows ] (Noit)

dimanche 12 décembre 2004 à 14:06:14 | [MASM32] Probleme de conversion

Noit

Bonjour,

J'ai dans EAX une valeur: 67B54
J'aimerai afficher cette valeur, plutot que la chaine correspondante, dans une MessageBox.

Merci de m'expliquer la procedure a suivre.

dimanche 12 décembre 2004 à 20:36:56 | Re : [MASM32] Probleme de conversion

Noit

Bon, j'ai "un peu resolu" le probleme...

J'ai une fonction qui prend en parametre une chaine et qui renvoie le hash md5:


MaFonction PROC uses esi Str:DWORD,dLen:DWORD
mov esi,eax
mov eax,Str
push eax
push esi
push offset BUF_1
call lpMD ;fonction de hash
mov eax,BUF_1
ret
MaFonction ENDP


Maintenant EAX contient une adresse qui pointe vers la zone de memoire ou se trouve le hash md5

Comment afficher ce hash (valeurs hexa) au lieu d'avoir une chaine de caracteres quand je fais:

push 0
push Str
push eax
push 0
call MessageBox

Merci pour toute info

dimanche 12 décembre 2004 à 20:47:08 | Re : [MASM32] Probleme de conversion

AlexMAN

Membre Club
include \masm32\include\masm32.inc
includelib \masm32\lib\masm32.lib

Et fais appel a dwtoa.

VOila, ++

+2(p - n)

dimanche 12 décembre 2004 à 22:29:34 | Re : [MASM32] Probleme de conversion

Noit

Ce qui m'amene a poser la question:
Comment utiliser dwtoa?


.data
BUF_1 db 100 dup (0)
BUFTmp db 100 dup (0)
...
push eax
push esi
push offset BUF_1
call lpMD

;maintenant BUF_1 contient l'adresse
;vers le hash (valeur hexa a afficher)

invoke dwtoa,ADDR BUF_1,ADDR BUFTmp


Ca compile mais ca plante au lancement...

dimanche 12 décembre 2004 à 22:37:25 | Re : [MASM32] Probleme de conversion

AlexMAN

Membre Club
BUF_1 est une 'chaine de caracteres' et celle ci contient une adresse ?! Ya un pb kelk part...

invoke dwtoa, eax, ADDR buffer

Debrouille toi pour avoir la valeur a convertir dans un registre, et puis appelle la fonction comme montré plus haut.
Personnellement, ce n'est kune kestion de gout, je prefere cette syntaxe :

push offset buffer
push eax
call dwtoa

Voila ++

+2(p - n)

lundi 13 décembre 2004 à 00:25:09 | Re : [MASM32] Probleme de conversion

Noit

pffouulala...
Je fatigue... impossible de trouver ce qui ne va pas...
La routine du md5 tourne bien et renvoie le bon hash.

Par contre avec le dwtoa... c'est la panique a bord...


.data
BUF_1 db 100 dup (0)
BUFTmp db 100 dup (0)
...
push eax
push esi
push offset BUF_1
call lpMD

;maintenant BUF_1 contient
;le hash (valeur hexa a afficher)

mov eax,offset BUF_1
push offset BUFTmp
push eax
call dwtoa


Ce code est censé fonctionner?

En debugant:


0040118C |. B8 36304000 MOV EAX,prog.00403036
00401191 |. 68 68304000 PUSH prog.00403068
00401196 |. 50 PUSH EAX
00401197 |. E8 08000000 CALL prog.004011A4 ;dwtoa


00403036 contient mon hash.
EAX contient l'offset de ce hash.
00403068 est le buffer qui recoit le resultat de dwtoa
apres le dwtoa, le buffer (00403068) recoit 4206646
alors qu'il devrait recevoir le hash ci-dessous:

00403036: 9D CA F5 88 85 D1 43 A1
0040303E: E7 32 FF E8 80 26 6A 9D

Quelque chose ne va pas avec cette fonction dwtoa ?

lundi 13 décembre 2004 à 07:06:32 | Re : [MASM32] Probleme de conversion

AlexMAN

Membre Club
Ton 'hash MD5' doit etre un nombre de 32bits pour ke dwtoa marche, dans ton cas ca ne fonctionnera pas...
Essaye de voir si tu peux utiliser sprintf().

++

+2(p - n)



Cette discussion est classé dans : valeur, probleme, conversion, masm32


Répondre à ce message

Sujets en rapport avec ce message

Probleme de dll! (arguments...) [ par BlackWizzard ] salut les pro!voila, G une fonction contenu dans une dll mais cette fonction, je ne sait pas comment lui ajouter des arguments...voici un extrait du c PROBLEME DE LINK [ par gg00xiv ] je cree deux .obj avec le compilateur NASMW et la commande suivante : "nasmw -f obj hello.asm -o hello.obj" . Le probleme c que je veux les linker ens valeur retournée [ par gblade ] selon la convention ANSI-C/C++ qd une fonction retourne une valeur plus grde que 32bits, elle est stockée ou ? dans edx:eax ? probleme avec l interruption affichage de chaine [ par M0NTOYA ] bon voila mon probleme ,qd j utilse cette procedure(presentation) pour afficher une chaine de caractere presentation PROC PUSHA MOV AH,09h INT 21h POP probleme avec l interruption affichage de chaine [ par M0NTOYA ] bon voila mon probleme ,qd j utilse cette procedure(presentation) pour afficher une chaine de caractere presentation PROC PUSHA MOV AH,09h INT 21h POP Simple addition [ par nostra ] Big totoJe n'arrive pas à afficher les valeurs A (=3) et B(=2) ainsi que le résultat de l'addition. Merci de trouver le ou les erreurs commises.;----- Addition pourtant simple [ par nostra ] Big totoJe n'arrive pas à afficher le résultat de l'addition malgré les remarques de Nemesis. Merci de trouver le ou les erreurs commises. ;---------- conversion [ par knetus ] pourrait t'on m'indiquer l'instruction pour convertir de l'hexa vers le decimal et inversement.merciknetus@aol.com Probleme avec le serveur [ par TotalIllusion ] jai poster ma source (un prog sur les ISR et le serveur veut pas mettre le .zip (isr.zip).sa a cree 3 message comme dequoi jaurrais poster 3 source et conversion [ par jolindji ] salut a toutes et a tous... j'ai besoin d'un programme en assembleur qui convertit des nombres entrés au clavier (des nombres en bases 2,8,10,16) en n


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,265 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.