sp40
Messages postés1276Date d'inscriptionmardi 28 octobre 2003StatutContributeurDernière intervention 3 juillet 2015
-
13 avril 2012 à 14:45
sp40
Messages postés1276Date d'inscriptionmardi 28 octobre 2003StatutContributeurDernière intervention 3 juillet 2015
-
23 avril 2012 à 10:07
Bonjour,
En éditant un exécutable avec notepad, on peut voir que les propriétés des composants utilisés sur la form apparaissent en clair. Pas terrible... J'aimerais masquer certaines valeurs desdites propriétés. Je vais regarder si ça change quelque chose en stockant certaines de ces valeurs dans un fichier .res. Connaissez-vous sinon un composant qui stockerait ça de manière cryptée (enfin, de façon à ce qu'on ne puisse pas le voir dans l'exécutable) ? Un genre de TCryptedStrings ?
Si c'est juste les captions et autre textes que tu veux cacher, tu peux tres bien les définir à l'ouverture de ton executable compilé : cela te permettrait de crypter et décrypter ces derniers.
Concrètement tu les cryptes et tu fais dans le OnCreate de ta fiche :
Edit1.text:=Decrypt('Mon-Text-Cryptée');
C'est lourd mais ca répond pleinement à ta demande
dubois77
Messages postés675Date d'inscriptionjeudi 17 avril 2008StatutMembreDernière intervention19 février 201914 16 avril 2012 à 13:00
Bonjour
" Edit1.text:=Decrypt('Mon-Text-Cryptée'); "
Je pense que dans l'EXE créé, le texte 'Mon-Text-Cryptée' apparaitra en clair également !
cordialement
Dubois77
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_cantador
Messages postés4720Date d'inscriptiondimanche 26 février 2006StatutModérateurDernière intervention31 juillet 202113 16 avril 2012 à 14:40
Bonjour,
Désolé Cantador, mais ta solution ne marche pas
Ce n'était pas une solution mais une simple pichenette permettant d'éviter l'association entre la propriété du composant et son texte..
Maintenant, si tu veux plus, il faut passer par les ressources
et charger toutes les propriétés par un load :
[b]
Res := TResourceStream.Create(hinstance, 'CAPTION', RT_RCDATA);
jpg.LoadFromStream(Res);/b
mais c'est très lourd à gérer..
tu peux aussi stocker avec TFileStream (il y a plein d'exemples sur le net)
chaque composant avec ses propriétés,
il faudra ajouter un cryptage de chaque propriété (avant) et mettre une fonction de décryptage avant le chargement.
tu auras caption := decrypt (crypt)
lourd également..
Autre idée, plus simple et d'utiliser un compresseur d'exe, ce qui entre autre présente l'avantage d'accélérer l'ouverture du programme (la compression est rapide)
Inconvénient, il faut compresser à chaque fois, avant de mettre l'appli en service.
Je pense que l'on peut automatiser, s'agissant d'un exe externe.
sp40
Messages postés1276Date d'inscriptionmardi 28 octobre 2003StatutContributeurDernière intervention 3 juillet 201515 16 avril 2012 à 18:03
Bonjour Monsieur Dubois,
A priori, vu que c'est le texte crypté qu'il faut mettre en paramètre de Decrypt, je pense qu'on verra plutôt un truc avec des hiéroglyphes.
Bonne nouvelle avec XE2, la valorisation de variables n'apparait pas dans l'exécutable... par contre on voit toujours les propriétés des composants.
A Cantador :
Je suis effectivement passé par des ressources cryptées. ça m'a permis de réviser les fichier .res ...
merci encore