Besoin d'aide programme en C
jfjava2002
Messages postés
34
Date d'inscription
Statut
Membre
Dernière intervention
-
jalico Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
jalico Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
Bonsoir
j'aurai beson d'aide pour débboguer un programme en C, langage que je ne maitrise pas mais que je suis obligé d'utiliser.
le but du prog est dispo ici : http://jfjava2002.free.fr/tp5.html
le compilateur (gcc sous linux) me renvoi une erreur : référencement indéfinie pour la fonction crypt().
le code :
Merci d'avance pour votre aide
j'aurai beson d'aide pour débboguer un programme en C, langage que je ne maitrise pas mais que je suis obligé d'utiliser.
le but du prog est dispo ici : http://jfjava2002.free.fr/tp5.html
le compilateur (gcc sous linux) me renvoi une erreur : référencement indéfinie pour la fonction crypt().
le code :
#include <stdio.h> #include <string.h> #include <unistd.h> // le prototype de main est int main(int argc, char *argv[]) // lorsqu'on ne veut pas utiliser les arguments de la ligne de commande : int main(void) { char ch[255], _salt[100]; //définition de la chaine char * clef; char chcrypt; char a,b,c,d,e,f,g,h; //definition des variables a=b=c=d=e=f=g=h=97; //initialisation des variables for (a=97;a<=98;a++) //pour 1 tour de boucle sinon mettre 105 au lieu de 98 { for (b=97; b<=122;b++) { for (c=97;c<=122;c++) { for (d=97; d<=122;d++) { for (e=97; e<=122; e++) { for (f=97; f<=122; f++) { for (g=97; g<=122; g++) { for (h=97; h<=122; h++) { ch[0] = a; ch[1] = b; ch[2] = c; ch[3] = d; ch[4] = e; ch[5] = f; ch[6] = g; ch[7] = h; ch[8] = 0; //puts(ch); permet l'affichage de la chaine chcrypt = crypt(ch,argv[2]); if (strcmp(ch,argv[1])==0) { printf("le mot de passe pour %s est %s",argv[1],ch); } } } } } } } } } // la fonction main doit retourner un entier ! //return 0; }
Merci d'avance pour votre aide
A voir également:
- Besoin d'aide programme en C
- Programme demarrage windows - Guide
- Mettre en veille un programme - Guide
- Message programmé iphone - Guide
- Programme word gratuit - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
4 réponses
Salut
Tu utilises bien la ligne de compilation suivante :
Je pars du principe que ton source est dans le fichier mon_crack.c
J'ai le même message d'erreur en ne mettant pas -lcrypt dans lors de la compil.
A+, crabs
Tu utilises bien la ligne de compilation suivante :
gcc -Wall -lcrypt -o mon_crack mon_crack.c
Je pars du principe que ton source est dans le fichier mon_crack.c
J'ai le même message d'erreur en ne mettant pas -lcrypt dans lors de la compil.
A+, crabs
Fais un 'man crypt' sur ton système Linux, il t'indiquera quelles sont les
lignes (include et define ) à mettre en tête de ton source afin d'éviter ce
warning.
lignes (include et define ) à mettre en tête de ton source afin d'éviter ce
warning.
Salut,
Généralement " implicit déclaration of function 'crypt' " signifie que le compilo n'a pas trouvé le prototypage avant l'utilisation de la fonction.
Vérifies qu'il est bien dans unistd.h sous la forme extern char *crypt(const char *, const char *);
sinon le pb peut venir du faite que les parametres ne soient pas du meme type que le prototypage utilisé => cast des paramètres et ajout de prototypage devrait résoudre ton pb.
+A
Généralement " implicit déclaration of function 'crypt' " signifie que le compilo n'a pas trouvé le prototypage avant l'utilisation de la fonction.
Vérifies qu'il est bien dans unistd.h sous la forme extern char *crypt(const char *, const char *);
sinon le pb peut venir du faite que les parametres ne soient pas du meme type que le prototypage utilisé => cast des paramètres et ajout de prototypage devrait résoudre ton pb.
+A