Crypter Password chaine caractere -- DEBUTANT

Signaler
Messages postés
6
Date d'inscription
samedi 15 septembre 2007
Statut
Membre
Dernière intervention
20 novembre 2011
-
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
-
Bonjour,

surement déjà dit et vu mais je ne m'en sort pas, je débutes en C...

J'ai besoin dans un programme qui automatise certaines tâches d'utiliser un mot de passe...
Dans mon programme j'ai quelque chose comme ça:

char PassWord[5]= "toto";

Problème, n'importe qui éditant mon petit prog en hexadecimal trouve le pass "toto" en clair...
Donc question, comment crypter ce pass au sein de mon programme sans pour autant le rendre inutilisable en sortie...

Merci d'avance!

5 réponses

Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
12
Tu peux le hasher avec un sel assez long pour éviter ce genre de problèmes ...

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
24
Le hasher, ouh la ce sera pour plus tard.

On va aller dans l'ultra simpliste.

L'utilisateur aura rempli de sa saisie:
char psz[8];
On verifie si c'est bien "toto":
if(psz[0] != 't') goto progEND;
if(psz[1] != 'o') goto progEND;
if(psz[2] != 't') goto progEND;
if(psz[3] != 'o') goto progEND;
if(psz[4] != 0) goto progEND;
ICI c'est ok pour continuer le prog.

ciao...
BruNews, MVP VC++
Messages postés
6
Date d'inscription
samedi 15 septembre 2007
Statut
Membre
Dernière intervention
20 novembre 2011

Brunews tu ne m'a pas compris, aucun utilisateur ne rentre de mot de passe, c'est le programme qui utilise un de mes mot de passe pour automatiser des tâches sur mon PC, le programme en question tourne tout seul, aucune saisie utilisateur...

Merci quand même...
Par contre pour le sel je pige pas...

Un petit exemple? ce serait sympa

Merci pour les réponses en tout cas!!
Messages postés
181
Date d'inscription
mardi 6 avril 2010
Statut
Membre
Dernière intervention
7 janvier 2012
8
Et en mettant en shellcode, ou encore plus simple en rentrant la valeur ascii :

char PassWord[5]= {84,111,116,111}; // ça marche


cout << PassWord renvoi bien Toto


ou plus tordu encore

int PassWord[5]= {84,111,116,111};
for (int i = 0; i < 5; i++)
cout << (char*)(PassWord+ i); //ça marche aussi




Pop70
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
12
En fait, le hasher n'irait pas vu que tu veux l'utiliser pour impersonner un utilisateur. Tu peux le mettre dans un fichier séparé si tu veux et/ou l'encrypter, y'a pas mal d'exemples sur le net

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question