C Aide code error
vengeurstrike
Messages postés
93
Statut
Membre
-
fiddy Messages postés 441 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 441 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour, dans le but d'une réalisation d'un programme permettent de décrypter des psedo et des pass sous forme : 65_52_14_<>_36_65_14.
#include <stdio.h>
#include <stdlib.h>
int main()
{
char psedo[20] ="";
char pass[20] ="";
char code[200] = "";
int classePsedo = 0;
int classePass = 0;
char partie =0;
int i,e,a;
printf("Enter the code : ");
scanf("%s", code);
i = 0;
e = 0;
a = 0;
while(1)
{
if(code[i]=="_")
{
i++;
classePass=0;
classePsedo=0;
}
else if(code[i]=="<")
{
i++;i++;
partie = 1;
}
else if(code[i]=="/0") i=9999;
else
{
if(partie = 0)
{
while(code[i]!="_"&&code[i]!="<"&&code[i]!=">")
{
switch(classePsedo)
{
case 1 :
psedo[e]*= 10;
case 2 :
psedo[e]*=100;
default :
psedo[e]+= code[i];
}
classePsedo++;
i++;
}
}
else
{
while(code[i]!="_"&&code[i]!="<"&&code[i]!=">")
{
switch(classePass)
{
case 1 :
pass[a]*= 10;
case 2 :
pass[a]*=100;
default :
pass[a]+= code[i];
}
classePass++;
i++;
}
}
}
i++;
}
printf("\n%s___%s", psedo, pass);
system("PAUSE");
return 0;
C:\Users\marc\Desktop\Aplications en C\SteamDecrypter\main.c||In function `main':|
C:\Users\marc\Desktop\Aplications en C\SteamDecrypter\main.c|20|warning: comparison between pointer and integer|
C:\Users\marc\Desktop\Aplications en C\SteamDecrypter\main.c|26|warning: comparison between pointer and integer|
C:\Users\marc\Desktop\Aplications en C\SteamDecrypter\main.c|31|warning: comparison between pointer and integer|
C:\Users\marc\Desktop\Aplications en C\SteamDecrypter\main.c|34|warning: suggest parentheses around assignment used as truth value|
C:\Users\marc\Desktop\Aplications en C\SteamDecrypter\main.c|36|warning: comparison between pointer and integer|
C:\Users\marc\Desktop\Aplications en C\SteamDecrypter\main.c|36|warning: comparison between pointer and integer|
C:\Users\marc\Desktop\Aplications en C\SteamDecrypter\main.c|36|warning: comparison between pointer and integer|
C:\Users\marc\Desktop\Aplications en C\SteamDecrypter\main.c|55|warning: comparison between pointer and integer|
C:\Users\marc\Desktop\Aplications en C\SteamDecrypter\main.c|55|warning: comparison between pointer and integer|
C:\Users\marc\Desktop\Aplications en C\SteamDecrypter\main.c|55|warning: comparison between pointer and integer|
||=== Build finished: 0 errors, 10 warnings ===|
Quand je lance le programme sa me demende le code et sa plante ! help me ! merci de votre aide
#include <stdio.h>
#include <stdlib.h>
int main()
{
char psedo[20] ="";
char pass[20] ="";
char code[200] = "";
int classePsedo = 0;
int classePass = 0;
char partie =0;
int i,e,a;
printf("Enter the code : ");
scanf("%s", code);
i = 0;
e = 0;
a = 0;
while(1)
{
if(code[i]=="_")
{
i++;
classePass=0;
classePsedo=0;
}
else if(code[i]=="<")
{
i++;i++;
partie = 1;
}
else if(code[i]=="/0") i=9999;
else
{
if(partie = 0)
{
while(code[i]!="_"&&code[i]!="<"&&code[i]!=">")
{
switch(classePsedo)
{
case 1 :
psedo[e]*= 10;
case 2 :
psedo[e]*=100;
default :
psedo[e]+= code[i];
}
classePsedo++;
i++;
}
}
else
{
while(code[i]!="_"&&code[i]!="<"&&code[i]!=">")
{
switch(classePass)
{
case 1 :
pass[a]*= 10;
case 2 :
pass[a]*=100;
default :
pass[a]+= code[i];
}
classePass++;
i++;
}
}
}
i++;
}
printf("\n%s___%s", psedo, pass);
system("PAUSE");
return 0;
C:\Users\marc\Desktop\Aplications en C\SteamDecrypter\main.c||In function `main':|
C:\Users\marc\Desktop\Aplications en C\SteamDecrypter\main.c|20|warning: comparison between pointer and integer|
C:\Users\marc\Desktop\Aplications en C\SteamDecrypter\main.c|26|warning: comparison between pointer and integer|
C:\Users\marc\Desktop\Aplications en C\SteamDecrypter\main.c|31|warning: comparison between pointer and integer|
C:\Users\marc\Desktop\Aplications en C\SteamDecrypter\main.c|34|warning: suggest parentheses around assignment used as truth value|
C:\Users\marc\Desktop\Aplications en C\SteamDecrypter\main.c|36|warning: comparison between pointer and integer|
C:\Users\marc\Desktop\Aplications en C\SteamDecrypter\main.c|36|warning: comparison between pointer and integer|
C:\Users\marc\Desktop\Aplications en C\SteamDecrypter\main.c|36|warning: comparison between pointer and integer|
C:\Users\marc\Desktop\Aplications en C\SteamDecrypter\main.c|55|warning: comparison between pointer and integer|
C:\Users\marc\Desktop\Aplications en C\SteamDecrypter\main.c|55|warning: comparison between pointer and integer|
C:\Users\marc\Desktop\Aplications en C\SteamDecrypter\main.c|55|warning: comparison between pointer and integer|
||=== Build finished: 0 errors, 10 warnings ===|
Quand je lance le programme sa me demende le code et sa plante ! help me ! merci de votre aide
Configuration: Window Vista 32bits Intel core 2 duo E4400 ATI Radeon HD 2400 3GO de RAM
13 réponses
-
Un boulet "savant" qu'il en est un l'est un peu moins !
ooh.. purée.. on dis "sachant" ! -
-
Très juste ! De plus, je viens de me rendre compte que nous aidons un pirate... ce que notre charte interdit formellement ! Nous devrions le signaler aux modos..
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
-
N'empeche que... ! Nous ne pouvons pas savoir pourquoi tu utilise ce logiciel...
-
"programme permettent de décrypter des psedo et des pass "
-
je veut juste faire passer des psedo et des pass par msn ou autre sans risque que quelqu'un les intercepte et s'en serve
-
oui mais c'est moi qui ait pense le système de cryptage c'est pur les crypter et que mon correspondant les décrypte
-
je crois que la bibilothèque de #include<conio.h> t'en manque!!
-
Salut,
Pour les autres : Il a bien le droit de se concevoir son propre système de chiffrement...
Les mots de passe de toute façon sur les systèmes ne sont pas chiffrés mais hacher, donc rien à voir avec son algo.
Sinon pour vengeurstrike :
if(code[i]=="_")
Attention tu compares un char avec une chaîne de caractères ("_"). Pour comparer avec un char, il faut le mettre entre apostrophes (code[i]=='_';)
De même pour les autres if.
pass[a]*= 10;
Attention, à ne pas dépasser la limite maximale d'un char. Tu peux utiliser le modulo pour ça (%).
code[i]=="/0")
/0 ? \0 caractère de fin de chaîne plutôt non ? Pareil entre apostrophe.
J'ai vite fait regarder, il y a sûrement d'autres erreurs, tiens moi au courant ;-))). -
merci je vais modifier sa tout de suie et je te donne le resultat
-
#include <stdio.h>
#include <stdlib.h>
int main()
{
char psedo[20] ="";
char pass[20] ="";
char code[200] = "";
int classePsedo = 0;
int classePass = 0;
char partie =0;
int i,e,a;
printf("Enter the code : ");
scanf("%s", code);
i = 0;
e = 0;
a = 0;
while(1)
{
if(code[i]=='_')
{
i++;
classePass=0;
classePsedo=0;
}
else if(code[i]=='<')
{
i++;i++;
partie = 1;
}
else if(code[i]=='\0') i=9999;
else
{
if(partie = 0)
{
while(code[i]!='_'&&code[i]!='<'&&code[i]!='>')
{
switch(classePsedo)
{
case 1 :
psedo[e]*= 10;
case 2 :
psedo[e]*=100;
default :
psedo[e]+= code[i];
}
classePsedo++;
i++;
}
}
else
{
while(code[i]!='_'&&code[i]!='<'&&code[i]!='>')
{
switch(classePass)
{
case 1 :
pass[a]*= 10;
case 2 :
pass[a]*=100;
default :
pass[a]+= code[i];
}
classePass++;
i++;
}
}
}
i++;
}
printf("\n%s___%s", psedo, pass);
system("PAUSE");
return 0;
}
C:\Users\marc\Desktop\Aplications en C\SteamDecrypter\main.c||In function `main':|
C:\Users\marc\Desktop\Aplications en C\SteamDecrypter\main.c|34|warning: suggest parentheses around assignment used as truth value|
||=== Build finished: 0 errors, 1 warnings ===|
pareil la code plante-
Tu as une autre erreur.
if(partie = 0) est équivalent à : partie=0; if(0)
L'opérateur de comparaison en C est le double égal. Le simple égal est réservé à l'affectation.
Par contre, je n'ai pas regardé en détail ton algorithme. Mais j'ai l'impression qu'il n'est pas très propre et que ça va faire un segmentation fault^^.
Tiens moi au courant si c'est le cas ;-).
-