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
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
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.
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