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 ?