Filipe35
Messages postés470Date d'inscriptionvendredi 14 novembre 2003StatutMembreDernière intervention23 octobre 2007
-
8 mai 2005 à 11:53
Filipe35
Messages postés470Date d'inscriptionvendredi 14 novembre 2003StatutMembreDernière intervention23 octobre 2007
-
19 mai 2005 à 20:13
bonjour à tous,
Tous est dans le titre.
Mon programme contient une variable "sensible", (pass:=123;)
lorsque je le désassemble avec W32dasm cette variable apparait.
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 18 mai 2005 à 21:30
Si tu as besoin d'utiliser des valeurs codées puis en clair, alors il vaut mieux utiliser une méthode de cryptage et non de hashage comme MD5 suggéré plus haut.
<HR>
"Est-ce possible qu'une variable contienne du code à éxecuter ?"
Tu peux déclarer une variable qui soit un pointeur de méthode ou de fonction.
<HR color=#008000>
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 8 mai 2005 à 19:30
Mieux que de décrypter à l'exécution : crypter le mot de passe saisi par l'utilisateur et compare les deux valeurs cryptées
Il existe des algorithmes sur ce site à ce sujet. Tu n'as que l'embarras du choix. Il te suffit d'utiliser la fonction de recherche ci-dessus.
<HR color=#008000>
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Filipe35
Messages postés470Date d'inscriptionvendredi 14 novembre 2003StatutMembreDernière intervention23 octobre 20071 9 mai 2005 à 15:21
Nico: Je viens de lire cette source sur le MD5, mais il disent que c'est "irreversible" (?)
Est-ce qu'en hashant ma donnée je pourrais la retrouvée en "clair". ?
Autre question: N'y a t il pas moyen tous simplement de masquer toutes nos variables,
de les rendres invisibles sur W32dasm et autres débuggers ?
(Ormis les pactés (UPX,....) car reverssible) => Créer son propre pacteur ?
ni69
Messages postés1418Date d'inscriptionsamedi 12 juin 2004StatutMembreDernière intervention 5 juillet 201012 9 mai 2005 à 15:31
Le principe d'utilisation du MD5 n'est pas de décrypter la donnée, mais de comparer la valeur sauvegardée (cryptée) avec une autre valeur que l'on crypte après sa saisie dans l'application.
Cela est utile pour les mots de passe par exemple :
1. tu choisis un mot de passe, tu le cryptes, et cela te donne une chaîne que tu sauvegardes dans l'application (ex: "AJ5DfdJ6c3q24")
2. Lors de l'exécution, l'utilisateur entre le mot de passe (ex: "MonMotDePasse")
3. L'application crypte "MonMotDePasse" et compare la chaîne cryptée obtenue avec celle contenue en mémoire. Si elles sont identiques, le mot de passe est correct, sinon, il est incorrect.
Il n'est en aucun cas mention d'un décryptage dans cette méthode
Pour ton autre question, cela me paraît impossible avec delphi...
@+
Bonne Prog'
Nico
<HR>
N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient !
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 9 mai 2005 à 18:23
Filipe35 : crypter toutes les variables est un peu excessif. Cela relève de la paranoia chronique !
Par définition, une variable est une donnée qui est susceptible de changer au cours de l'exécution du logiciel.
En revanche, un mot de passe est plutôt constant et comme c'est un point sensible, alors un hashage est alors souhaitable. La démarche décrite par ni69 est surement la meilleure qui soit.
Dis toi bien que si tu peux décrypter un mot de passe, alors d'autres le peuvent aussi.
<HR color=#008000>
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
Filipe35
Messages postés470Date d'inscriptionvendredi 14 novembre 2003StatutMembreDernière intervention23 octobre 20071 18 mai 2005 à 16:34
Merci à vous deux pour votre aide,
Une partie de mon problème est résolu.
La partie restante est que j'ai besoin de réutiliser
une de mes variables dans un TWebBrowser
et pour cela j'ai besoin qu'elle soit en 'clair'.
Comment faire ceci simplement ?
(Crypter dans le prog, décrypter avant son utilisation ?)
"Pour mon autre question" (pactés).
Est-ce possible qu'une variable contienne du code à éxecuter ???
j'ai confiance en les possibilités Delphi :-D
Encore merci de suivre mon problème.
Filipe
Ps: désolé de ne pas avoir répondu plus tot mais j'avais quelques problèmes de FAI.
Filipe35
Messages postés470Date d'inscriptionvendredi 14 novembre 2003StatutMembreDernière intervention23 octobre 20071 19 mai 2005 à 20:13
Merci beaucoup delphi prog.
Je vais voir de ce coté, aurais-tu une source toute prête (pourquoi réinventer la roue)
---
pointeur de méthode ?? quelques explications ne serait pas de refus.
autre question: cette variable peut elle être chargé d'un fichier txt (par ex),
recompilation nécessaire ?.......