Protéger les tedit contre les révélateurs de mots de passe

Soyez le premier à donner votre avis sur cette source.

Vue 9 627 fois - Téléchargée 679 fois

Description

Informez-vous en lisant bien toute la page...

C'est un composant. Si vous envisagez de l'installer à l'aide de paquets, dans le fichier "ProtectedEdit.pas", enlevez les accolades qui mettent Register en commentaire. Le Zip est très clair, la capture d'écran aussi...

Il existe des logiciels malicieux qui s'amusent à décacher les étoiles des TEdit dédiés à la saisie d'un mot de passe. D'autres lisent carrément le texte contenu dans l'édit. Grâce au composant de ce Zip, vous allez pouvoir limiter fortement ces actions.

Il y a 2 astuces:
- contrôle des messages entrant et sortant.
- mise en place d'un système de patte blanche.

Toute action sur les 3 messages EM_SetPasswordChar, WM_GetText et WM_SetText doit faire l'objet d'une prédéclaration à travers la variable FPatteBlanche. Ensuite, les procédures de contrôle donnent ou non suite à ces actions grâce à INHERITED.

Des choses ont changé dans la nouvelle version de ce composant.
- Pour récupérer le caractère de cache, on peut utiliser la propriété PasswordChar. Mais pour changer ce caractère, il faut utiliser OBLIGATOIREMENT la fonction SetPW incluse dans la classe.
- La propriété TEXT doit être bannie dans le cas où la protection est active (par défaut). Vous devez utiliser les fonctions GetText et SetText du composant. Elles résument la prédéclaration et l'action. Leur utilisation est OBLIGATOIRE, sinon le composant ne fonctionnera pas correctement.

Conclusion :


Vous pouvez toujours aller voir http://altert.family.free.fr/

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
1237
Date d'inscription
samedi 8 novembre 2003
Statut
Membre
Dernière intervention
3 septembre 2006
14
Par rapport à ma phrase «En fait, j'aimerais récupérer une énorme liste dans un EXE que j'ai pas envie recopier.», voir le code N°29812.
Messages postés
1237
Date d'inscription
samedi 8 novembre 2003
Statut
Membre
Dernière intervention
3 septembre 2006
14
Pour delphimaniac, c'est exactement ce que je pensais. J'ai téléchargé Snadboy's Revelation 2. Je confirme donc les impressions de mon commentaire précédent : ce logiciel utilise une technique qui n'a absolument rien à voir avec la protection que je proposais (c'est presque la même idée que le Spy de DelphiCool). Je suggèrais en effet de protéger l'édit contre EM_SetPasswordChar et non contre WM_GetText.

Mais comme je suis malin sur le coup, je le bloque et on l'oublie. Cette nouvelle version du composant élimine Snadboy du rang que delphimaniac lui donnait. Il ne marche plus...

Cependant, le Spy de Delphicool continue de résister. Je ne vois pas comment bloquer GetWindowText. A moins que cette fonction utilise le message WM_GetTextEx, contre lequel il n'y a toujours pas de protection.
Messages postés
455
Date d'inscription
mardi 24 juillet 2001
Statut
Modérateur
Dernière intervention
10 mars 2009

cette api marche bien mais si tu met un tedit puis un tgroupbox par dessu, ça ne marche plus.

mais j'ai un autre moyen de parer les controls qui serait au dessus
Messages postés
455
Date d'inscription
mardi 24 juillet 2001
Statut
Modérateur
Dernière intervention
10 mars 2009

j'utilise l'api getwindowtext
Messages postés
1237
Date d'inscription
samedi 8 novembre 2003
Statut
Membre
Dernière intervention
3 septembre 2006
14
Je ne peux pas tout connaître de vos softs... Avec Spy++, il faut repérer le bon message et agir en csq. Mais j'assure que mon code marche très bien. Ton Snadboy peut utiliser une autre technique, mais SendMessage ne marche pas!! Et c'était bien là le but de ce code source.

Snadboy: http://www.snadboy.com/RevelationV2.zip

Le Spy de DelphiCool me rebute. Pourrait-il nous révéler qq secrets de fabrication, car c'est juste des appels de fonctions. Rien de bien mystérieux a priori... A moins que je me trompe.

Actuellement, je peux difficilement faire qqch. Mais je vais encore jetter des coups d'yeux.

Sinon, le message est WM_GetText et non pas EM_GetText.
Afficher les 8 commentaires

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.