C Aide code error

vengeurstrike Messages postés 77 Date d'inscription   Statut Membre Dernière intervention   -  
fiddy Messages postés 11069 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

13 réponses

pierre.d51 Messages postés 1505 Date d'inscription   Statut Contributeur Dernière intervention   1 270
 
Un boulet "savant" qu'il en est un l'est un peu moins !

ooh.. purée.. on dis "sachant" !
0
l'inconue
 
cherche pas mème si tu trouve t'on ordi n'est pas assé puissant pour ce tipe de logiciel
0
pierre.d51 Messages postés 1505 Date d'inscription   Statut Contributeur Dernière intervention   1 270
 
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..
0
vengeurstrike Messages postés 77 Date d'inscription   Statut Membre Dernière intervention  
 
non non sa marche très bien
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
vengeurstrike Messages postés 77 Date d'inscription   Statut Membre Dernière intervention  
 
un pirate pk ?
0
pierre.d51 Messages postés 1505 Date d'inscription   Statut Contributeur Dernière intervention   1 270
 
N'empeche que... ! Nous ne pouvons pas savoir pourquoi tu utilise ce logiciel...
0
pierre.d51 Messages postés 1505 Date d'inscription   Statut Contributeur Dernière intervention   1 270
 
"programme permettent de décrypter des psedo et des pass "
0
vengeurstrike Messages postés 77 Date d'inscription   Statut Membre Dernière intervention  
 
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
0
vengeurstrike Messages postés 77 Date d'inscription   Statut Membre Dernière intervention  
 
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
0
mya1 Messages postés 334 Date d'inscription   Statut Membre Dernière intervention   42
 
je crois que la bibilothèque de #include<conio.h> t'en manque!!
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Non, ce n'est pas conio.h qui manque. Conio.h c'est lorsque tu utilises des fonctions spécifiques à windows.

Cdlt
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
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 ;-))).
0
vengeurstrike Messages postés 77 Date d'inscription   Statut Membre Dernière intervention  
 
merci je vais modifier sa tout de suie et je te donne le resultat
0
vengeurstrike Messages postés 77 Date d'inscription   Statut Membre Dernière intervention  
 
#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
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
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 ;-).
0