Stocker des variables dans le code

Résolu
sp40 Messages postés 1276 Date d'inscription mardi 28 octobre 2003 Statut Contributeur Dernière intervention 3 juillet 2015 - 13 avril 2012 à 14:45
sp40 Messages postés 1276 Date d'inscription mardi 28 octobre 2003 Statut Contributeur Derniè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 ?

Simon

8 réponses

cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
14 avril 2012 à 17:30
Bonjour,

essaie comme ça:

Composant.caption := 's' + 'e' + 'c' + 'r' + 'e' + 't';



cantador
3
Utilisateur anonyme
15 avril 2012 à 09:53
Salut,

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
3
sp40 Messages postés 1276 Date d'inscription mardi 28 octobre 2003 Statut Contributeur Dernière intervention 3 juillet 2015 15
16 avril 2012 à 09:54
Bonjour Cantador et Francky,

Désolé Cantador, mais ta solution ne marche pas

Je vais plutôt m'orienter vers la solution de Francky

Merci pour vos réponses !

Simon
0
dubois77 Messages postés 675 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 19 février 2019 14
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
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.

cantador
0
sp40 Messages postés 1276 Date d'inscription mardi 28 octobre 2003 Statut Contributeur Dernière intervention 3 juillet 2015 15
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




Simon
0
dubois77 Messages postés 675 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 19 février 2019 14
21 avril 2012 à 16:08
Finalement c'est Francky qui a raison comme le dit simonpelloquin !
et c'est simple à faire !
cordialement
Dubois77
0
sp40 Messages postés 1276 Date d'inscription mardi 28 octobre 2003 Statut Contributeur Dernière intervention 3 juillet 2015 15
23 avril 2012 à 10:07
Merci à tous pour vos solutions, ça m'a bien aidé.

Simon
0
Rejoignez-nous