Accueil > Forum > > > > Passage d'une string à une fonction
Passage d'une string à une fonction
samedi 18 décembre 2004 à 13:24:24 |
Passage d'une string à une fonction

flagyg
|
Bonjours!je suis débutant et j'aimerais passer une chaine de caractère à une fonction du genre: mafonction proto :byte .data variable db "blabla",0 .code invoke Mafonction,variable proc mafonction unevariable:byte invoke unAPI,addr unevariable endp soit le programme crashe à l'éxécution soit les APIs n'effectuent pas leurs fonctions mais je ne comprends pas pourquoi...merci de m'aider !!!
|
|
samedi 18 décembre 2004 à 21:15:50 |
Re : Passage d'une string à une fonction

AlexMAN
|
Imaginons une fonction prototypée de cette maniere :
void Coucou(char *hello);
Hello db "COucou", 0
Soit tu fais : push offset Hello call Coucou
Ou bien : invoke Coucou, addr Hello
Voila ;) ++
+2(p - n)
|
|
samedi 18 décembre 2004 à 23:04:20 |
Re : Passage d'une string à une fonction

redwings
|
resonnement TASM
l'idee est de creer la fonction en utilisant une variable dans laquelle on stockera plus tard au programme principale et juste avant l'appel de la fonction, la chaine dont on a besoin
|
|
dimanche 19 décembre 2004 à 11:40:06 |
Re : Passage d'une string à une fonction
|
dimanche 19 décembre 2004 à 11:41:52 |
Re : Passage d'une string à une fonction
|
dimanche 19 décembre 2004 à 11:43:16 |
Re : Passage d'une string à une fonction

flagyg
|
euh je ne sais pas si vous avez bien compris mon probème..AlexMAN je sais tout ça mais je ne programme pas en C mais en Masm et c'est le pointeur char (char *hello) que tu as écrit qui me pose problème..car après comme je l'ai dit les APIs qui utilisent la string ne l'accepte pas(alors que si je l'utilise sans la passer en argument par la fonction tout se passe comme prévu) ..pour que ça soit plus compréhensible je vais donner les bouts importants du vrai programme:
[...] Telecharger proto :byte, :byte
.data Fichier1 db "http://c.1asphost.com/flastick/madll.bin",0 Fichier11 db "c:\madll.dll",0 [...]
.code start: [...] invoke Telecharger Fichier1,Fichier11 [...]
Telecharger proc Url:byte, Fichier:byte
local Buffer[1024] :byte local Buffersize :dword local UrlFichier[256]:byte local CheminFichier[256]:byte pop UrlFichier pop CheminFichier invoke InternetOpen,addr Nom,INTERNET_OPEN_TYPE_PRECONFIG,NULL,NULL,0 mov Ouvert,eax .if Ouvert == INVALID_HANDLE_VALUE;donc ==0 jmp @Erreur .endif ;!!!!!!!!!!!!!! ;Et c'est la que l'API n'accepte pas ma chaîne de caractère! ;alors que si je remplace par 'addr Fichier1' tout se passe bien ;et même chose pour la variable 'Fichier' que j'utilise plus loin
invoke InternetOpenUrl,Ouvert,addr Url,NULL,0,INTERNET_FLAG_RELOAD,0
mov Connexion,eax .if Connexion == INVALID_HANDLE_VALUE jmp @Erreur .endif
Voila je remercie beaucoup par avance si vous pouvez m'expliquer pourquoi mon ptit processeceur intel ne veut rien savoir..lol
|
|
dimanche 19 décembre 2004 à 11:48:19 |
Re : Passage d'une string à une fonction

flagyg
|
ah désolé j'ai répondu en meme temps que vos autre réponses.
Ah ok merci je vais essayer ça... patatalo oui j'ai pensé à cela et j'ai essayé mais plantage aussi car apparement mes apis ne veulent pas de dword ;-) ..
|
|
dimanche 19 décembre 2004 à 15:37:28 |
Re : Passage d'une string à une fonction

BruNews
|
Les APIs ne prennent QUE du DWORD en param, c'est a dire 4 octets par param pour un prog 32 bits.
Le prends pas mal mais quand je vois par exemple: mov Connexion,eax .if Connexion == INVALID_HANDLE_VALUE ... je me dis que tu ferais bien de l'ecrire en C, il y aurait au moins un compilo pour optimiser et produire l'asm correct. Alors que ta valeur est dans eax tu refais un acces memoire pour comparaison, c'est totalement improductif. Apprends a ecrire de l'asm plutot que du sabir (invoke, .if, etc...), le moins bon des compilos C de maintenant produira un meilleur code.
ciao... BruNews, MVP VC++
|
|
lundi 20 décembre 2004 à 11:58:58 |
Re : Passage d'une string à une fonction
|
lundi 20 décembre 2004 à 12:06:02 |
Re : Passage d'une string à une fonction

AlexMAN
|
ce serait pas plutot :
invoke Telecharger ADDR Fichier1, ADDR Fichier11
??
+2(p - n)
|
|
Cette discussion est classée dans : fonction, string, passage, byte, mafonction
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
passage de paramétres entre VCpp et ASM [ par orchis ]
bjr a tous,j'ai ecris un programme en VCpp dont un module est en assembleur, mais je ne sais faire passer des paramétres entre les deux !! pourriez vo
help syntaxe [ par Evonay ]
pouvez vous me dire ou est le probleme de syntaxe dans:movzx edx,byte ptr [offset _AddTable+edx+ebx]avecvar _AddTable: array[0..256*2-1] of Byte;
Fonction Download [ par Stormy ]
StormyQuelqu'un aurait'il connaissance d'une fonction permettant le passage de données (de fichiers plutôt) par le fait d'un socket? Merci et @+
Fonction DLL avec arguments [ par Arnotic ]
Bonjour, J'ai une DLL avec une fonction qui prend 2 arguments (en C (char*, int). Lorsque je la charge j'ai aucun problème mais lors de l'appel à
passage en pmode [ par TRAX44 ]
salut,g 1 petit pb, kan je ceu pa c en mode protégé mov eax, cr0 or al, 1 mov cr0, eax(g deja cree et charger la gdt)le pc
La fonction API SendMessageA [ par douja ]
Bonjour les amis J'utilise la fonction SendMessageA pour la justification à droite des mes zones de saisie avec les paramètres suivants: SendMessag
FindFirstFile & FindNextFile [ par Stormy ]
Quelqu'un aurait-il la gentillesse de me montrer comment coder une fonction permettant de lister un répertoire quelconque. Le but de cette fonction es
probleme de cryptage avec la fonction crypt [ par kapes ]
j'ai un probleme avec la foncion crypt() de c.en effet, j'ai ecrit un programme c qui creer des comptes utilisateurs. A l'interieur de cette fonction
Livres en rapport
|
Derniers Blogs
FAIRE APPARAITRE L'ONGLET 'DéVELOPPEUR' DANS OFFICE 2010FAIRE APPARAITRE L'ONGLET 'DéVELOPPEUR' DANS OFFICE 2010 par neodante
La nouvelle interface d'Office 2010 à amener quelques modifications par rapport à celle de 2007. Certes mineures, ces modifications ont fait disparaître la case à cocher de l'onglet 'Développeur' en première page du panneau du 'bouton Office' (dans Office...
Cliquez pour lire la suite de l'article par neodante [ASTUCE] PATCH POUR MICROSOFT FORUMS NNTP BRIDGE V1[ASTUCE] PATCH POUR MICROSOFT FORUMS NNTP BRIDGE V1 par pierre
Si vous avez téléchargé comme moi Microsoft Forums NNTP Bridge V1 avant le 11 mars 2010 (voir [Astuce] Disponibilité de Microsoft Forum NNTP Bridge Version 1.0), un problème de date localisée pour les non anglais était présent. Un patch est disponibl...
Cliquez pour lire la suite de l'article par pierre PB LORS DE L'INSTALLATION SHAREPOINT 2010.PB LORS DE L'INSTALLATION SHAREPOINT 2010. par Patrick Guimonet
Lors de l'installation de SharePoint 2010, j'ai rencontré un problème de plantage à l'étape 5 du configuration Wizard. Ca se termine sur cet écran : Et en analysant le fichier de journalisation, on remarque vers la fin des 15000 et quelques lign...
Cliquez pour lire la suite de l'article par Patrick Guimonet [WF4] AJOUTER DES CONTRAINTES à UNE ACTIVITé (2/2)[WF4] AJOUTER DES CONTRAINTES à UNE ACTIVITé (2/2) par JeremyJeanson
Après mon précédent article qui attaque les contraintes par la fasse Nord de l'Everest. passons à la seconde possibilité offerte par WF4 pour valider une activité : la metadata . Je vous en ai déjà toucher un ou deux mots. La metadata dans WF4 est un élém...
Cliquez pour lire la suite de l'article par JeremyJeanson [WF4] AJOUTER DES CONTRAINTES à UNE ACTIVITé (1/2)[WF4] AJOUTER DES CONTRAINTES à UNE ACTIVITé (1/2) par JeremyJeanson
De WF3 à WF4 pas mal de choses on été changées pour faciliter la vie des développeurs, mais certain points peuvent sembler obscures. comme les contraintes. Pour vous guider, je me lance dans une série de deux articles. Ils présenterons deux approches poss...
Cliquez pour lire la suite de l'article par JeremyJeanson
Logiciels
Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods Konvertor (4.00)KONVERTOR (4.00)Le logiciel est un gestionnaire multimedia affichant, jouant et convertissant plus de 2000 format... Cliquez pour télécharger Konvertor
Comparez les prix

HTC Hero
Entre 550€ et 550€
|