Sécuriser du texte dans un prog

0/5 (6 avis)

Vue 3 541 fois - Téléchargée 278 fois

Description

Une fois qu'un programme a été compilé, les chaînes de caractères qu'il contient peuvent être facilement lues à l'aide de n'importe quel éditeur hexadécimal. Il est parfois nécessaire de les crypter, soit pour qu'il soit impossible de les modifier, soit parce qu'elles contiennent des mots de passe ou des informations confidentielles. Diverses méthodes sont envisageables, mais la plus efficace consiste à crypter avec l'opérateur Xor (correspondant à OU exclusif en anglais) en utilisant un mot de passe. L'opération est réversible : pour le décodage, on utilise la même fonction que pour le chiffrement. Le programme ici en illustre le fonctionnement.

Conclusion :


Astuces :
Pour contrôler la saisie d'un mot de passe, vous pouvez définir un délai pendant lequel l'utilisateur est autorisé à entrer son sésame. Cela permettra d'éviter de multiples tentatives de la part de fraudeurs.

Pour cela, ouvrez un nouveau projet exécutable et placez un contrôle TextBox sur le formulaire. Dans la feuille de Propriétés du contrôle, mettez un astérisque (*) dans le champ PasswordChar. Insérez ensuite un bouton de commande, puis un Timer. Dans les propriétés de ce dernier, Enabled doit être à True et Interval doit prendre la valeur de 10 000, soit dix secondes.

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
91
Date d'inscription
jeudi 18 novembre 2004
Statut
Membre
Dernière intervention
17 décembre 2008

L'idee est la, mais effectivement le resultat n'y est pas puisque tout est en clair dans l'exe.

En fait il faudrait crypter les phrases avant de coder puis inserer la chaine cryptee dans le code. Lequel devra contenir une fonction Decrypt() pour afficher correctement les phrases cachees.
Bon le mieux, c'est de prendre un exemple :

Souvent pour hacker un prog, ce qu'on cherche c'est des mots tels que "acces refuse" pour faire sauter la condition.
Et bien disons qu'on crypte "acces refuse" en "esufer secca" et qu'on ajoute dans le code un fonction "reverse()"
au final, ca donne :

Sub Controle()
If Password=False Then
MsgBox Reverse("esufer secca")
End If
End Sub

Le texte "acces refuse" est invisible dans le code et dans un editeur hexa mais il est pourtant affiche a l'utilisateur.
Messages postés
185
Date d'inscription
vendredi 20 décembre 2002
Statut
Membre
Dernière intervention
10 janvier 2008

J'avais déjà utilisé cette méthode pour voir ce que ca donnait. Mais il me semble que la taille de l'execution augmente énormément ac ca... non?
Messages postés
13
Date d'inscription
mercredi 23 janvier 2002
Statut
Membre
Dernière intervention
2 mars 2003

Moi j'utilise la methode dite par Zog2002 pour cacher des mots ou des phrases que je ne souhaite pas qu'on puisse les lire avec un editeur hexa ou meme avec un decompilateur. Et jusqu'a la ca marche bien et en plus c'est directement traduit par le programme donc pas besoin d'un lourd traitement a part pour l'ecrire mais ayant fait un programme qui traduit "Hello" en chr$(72)&chr$(101)&chr$(108)&chr$(108)&chr$(111) arrange vite le probleme.
Voila.
Messages postés
20
Date d'inscription
mercredi 22 novembre 2000
Statut
Membre
Dernière intervention
18 septembre 2007

peut-être qu'en utilisant des "CHR$(xx)+CHR$(yy)+..." ça serait encore plus caché... celà dit, je dit ça et je ne dit rien vu que je n'ai jamais essayé.
Messages postés
656
Date d'inscription
mercredi 22 août 2001
Statut
Membre
Dernière intervention
11 mars 2005
13
une fois compiler désolé de te dire que ton prog contiendra toujours les chaines non crypter, car elles sont stocker dans ton prog avant que tu les cryptes., compile et regarde si tu as un doute.
Afficher les 6 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.