Un password en c

Soyez le premier à donner votre avis sur cette source.

Snippet vu 5 381 fois - Téléchargée 35 fois

Contenu du snippet

en ajoutant le chemin ou se trouve le ficheir executable dans l'autoexec.bat se password se met au démarrage de votre pc.

fonctionne sous 98,je ne sais pas sous XP

penser à changer le password dans le code source avant de compiler

Source / Exemple :


/*********CREATE : 19/01/2001******************/
/*********REMOVE : 19/01/2001******************/

/***LIBRARY***/
#include<stdio.h>
/*#include<conio.h>*/

/***STRUCTURE***/

typedef enum{TRUE,FALSE}BOOL;

/***PROTOTYPE***/

BOOL funcScanPassword(char*);

/***GLOBAL PARAMETER***/

char * gPass="toto";/*pointeur initialisé avec la valeur du mot de passe*/
					/*penser à changer le pass avant de compiler
/***MAIN FUNCTION***/

main(void){

char * password;
BOOL test; 
int ind;

/*take the place for the pointer*/

password = (char*)malloc(sizeof(strlen(gPass)));/*prend la taille de la chaine composé du
mot de passe réel

/*asking user*/

printf("Enter the password \n");
scanf("%s",password);

test = funcScanPassword(password);

	/*if test is false, the password is asking again*/
	
	while (test==FALSE){
		printf("ERROR,your password is false, \n try again...\n");
		printf("enter your password...\n");
		scanf("%s",password);
		test = funcScanPassword(password);
		
	}
	/*graphic simulation*/
	
	for (ind =0;ind<=100;ind++){
		printf("...");
	}
	printf("\n starting Windows 98\n");

}
/***************

	AIM : scan the password with the real password 
	PROTOTYPE : input : the pointer(the string)
		    output: a boolean

                              • /
BOOL funcScanPassword(char * pPass){ if (strcmp(pPass,gPass)==0) return TRUE; return FALSE; }

A voir également

Ajouter un commentaire

Commentaires

Messages postés
113
Date d'inscription
lundi 24 février 2003
Statut
Membre
Dernière intervention
5 janvier 2004

Je trouve cette source pitoyable: mot de passe visible. Alors si c'était pour montrer l'utilisation de strcmp, bravo mais je crois que tt le monde sait le faire !!!
En plus:
malloc() est définie dans <malloc.h> et strcmp dans <string.h>
Et il y a une très, très grave erreur:
ton malloc est un caractère trop petit:
strlen renvoie la longueur de la chaîne. Et du fait quoi du !!??
Je sais que ça marche, mais l'erreur est grave, parce que lorsque je rentre toto (le bon mot de passe), il va mettre le à coté, un endroit qui ne t'es pas réservé. Et si cette case était prise par une autre donnée? Tu l'écraserais. => strlen() + 1.
Mais ce n'est pas tout: imagine que je rentre abcdefghijklmnopqrstuvwxyz:meme le + 1 ne sera pas suffisant
=> il faut imposer une taille maximale lors de la saisie du mot de passe pour eviter ce qu'on appelle le buffer overun. C'est un des moyens utilisé par les hacjers pour faire planter les programmes.
Enfin, on est la pour apprendre ...
Messages postés
2
Date d'inscription
mercredi 5 février 2003
Statut
Membre
Dernière intervention
6 août 2006

marche pas ?
Messages postés
137
Date d'inscription
lundi 17 décembre 2001
Statut
Membre
Dernière intervention
30 septembre 2004

Non moi je trouve pas ca vraiment bien. Paske le mot de passe est lisible dans l'éxécutable en hexa. Faudrait donc que le mot de passe soit crypter dans la source du prog, via un notre prog de ta conception, auquel tu rentre le mot de passe que tu veux, et il t'en ressort un mot de passe crypter complètement différent (en longueur, en lettre, ... du cryptage koi), et ca tu le met dans ton prog. Qui lui est capable de passer de la version non crypter à la version crypter.
Ainsi, pour trouvé le mot de passe, il faudrait que avoir la clef de cryptage.

Je sais po si j'ai été clair.

Ah ouais aussi, pour que ca fasse plus classe, faudrait qu'au bout de 3 essais, il éteint le PC.

Voilà, bon courage
Messages postés
269
Date d'inscription
mercredi 24 avril 2002
Statut
Membre
Dernière intervention
9 juin 2003

pas mal
tu pourrais rajouter la fonction de régler le password via le prog

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.