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

Soyez le premier à donner votre avis sur cette source.

Vue 10 263 fois - Téléchargée 747 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
cs_grandvizir Messages postés 1106 Date d'inscription samedi 8 novembre 2003 Statut Membre Dernière intervention 3 septembre 2006 22
21 mai 2005 à 09:48
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.
cs_grandvizir Messages postés 1106 Date d'inscription samedi 8 novembre 2003 Statut Membre Dernière intervention 3 septembre 2006 22
28 août 2004 à 13:28
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.
DelphiCool Messages postés 455 Date d'inscription mardi 24 juillet 2001 Statut Membre Dernière intervention 10 mars 2009
24 août 2004 à 20:25
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
DelphiCool Messages postés 455 Date d'inscription mardi 24 juillet 2001 Statut Membre Dernière intervention 10 mars 2009
24 août 2004 à 20:23
j'utilise l'api getwindowtext
cs_grandvizir Messages postés 1106 Date d'inscription samedi 8 novembre 2003 Statut Membre Dernière intervention 3 septembre 2006 22
24 août 2004 à 19:55
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.

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.