Page 1 sur 3

encrypter une image

Publié : mer. 02/mars/2011 15:37
par blendman
salut

Je souhaite encrypter mes images, et ensuite les packer (avec packer()).
pour l'utilisation de packer, c'est très simple. Mais pour l'encryptage (encryption?) des images avant de les packer, j'ai quelques questions.

Tout d'abord, j'ai trouvé quelques exemples qui permettent d'encrypter et de décrypter les images.
- Si j'ai bien compris le système, pour encrypter une image, il faut un mot de passe ou une phrase ou une clef.
- Ce mot de passe doit être contenu dans l'exécutable, pour que celui-ci puisse ouvrir l'image encryptée, après l'avoir "un-packée".
- ainsi, j'ai commencé par mettre le mot de passe (la clef) sous cette forme :

Code : Tout sélectionner

clef.s="ceciestmaclefparexemple"
- mais le problème est que lorsque je compile mon programme et que je change le *.exe en *.txt, je découvre le mot de passe très facilement.
- alors, j'ai changer en utilisant ceci comme méthode :

Code : Tout sélectionner

psw.s=Chr(108)+Chr(101)+etc....
- mais on voit encore le mot de passe en changeant le *.exe en *.txt

Existe-t-il une technique pour éviter de voir le mot de passe (=clef de décryptage de l'image) si on change l'extension de l'executable, à part d'utiliser un logiciel genre themida ou upx?
Sinon, existe-t-il un tutoriel pour débutant pour se servir de la lib cipher ?

Merci.

Re: encrypter une image

Publié : mer. 02/mars/2011 16:33
par Ar-S
Et si tu l'encryptes dans un fichier pref ?

Re: encrypter une image

Publié : mer. 02/mars/2011 17:45
par blendman
Ar-S a écrit :Et si tu l'encryptes dans un fichier pref ?
c'est à dire ? :)

Re: encrypter une image

Publié : mer. 02/mars/2011 17:47
par Backup
tu encode ton mot de pass, puisque c'est de l'ascii ;)

Re: encrypter une image

Publié : mer. 02/mars/2011 17:51
par Ar-S
J'ai fait un petit code pour locker des gadgets.
Je te parle de la façon dont est stocké le passe en md5

Code : Tout sélectionner

http://www.purebasic.fr/french/viewtopic.php?f=21&t=10425

Re: encrypter une image

Publié : mer. 02/mars/2011 18:40
par blendman
Dobro : merci beaucoup, je crois que j'ai compris le principe :). Même si on peut lire clairement l'alphabet, on ne rien en faire, car on ne connait pas la procédure, c'est ça ?

Ar-s : je vais regarder ça.

Sinon, en complément, j'avais aussi trouvé cette méthode de mythic qui est aussi très efficace, car le mot de passe disparait de l'exécutable, lorsqu'on le renomme, il est presque impossible de le retrouver :

Code : Tout sélectionner

c = 0
a$ = "m"
b = 2 + c
d$ = "oi"
b = 22367328 + Val(a$)
e$ = Mid("il était une fois !! je vous aime...",22,2)
c = 99237 + b + c + b + 12
k = 1
g$ = Chr(114+k) + Chr((Asc("u") + k - 1)) + Chr(104+k) + Chr(114+k)
c = 99237 - b + c + b + 12
h$ = Chr(76+k) + Chr((Asc("x") + k )) +  Mid("il était une fois !! je vous aime...",5,1) + Mid("il était une fois !! je vous aime...",7,1) +  Chr((Asc("b") + k ))

MessageRequester("xxxx", a$ + d$ + " " + e$ + " " + g$ + " " + h$)
c = 1
je pense que je vais donc mixer vos 2 méthodes pour avoir quelque chose d'un petit peu protéger, même si de toutes façons je posterai sans doute certaines sources, bien qu'elles n'auront pas un grand intérêt :D.

Sinon, ensuite, c'est avec ce mot de passe que l'on peut encrypter une image avec cipher, c'est ça ?

En tout cas, un grand merci, ça va m'être très utile :).

Re: encrypter une image

Publié : mer. 02/mars/2011 18:49
par Backup
ben un cryptage ne résistera pas a quelqu'un qui "trace"
le décodeur , mais disons, que ça protégé quand meme

en fait ; il faut regarder le rapport (intérêt/difficulté)
intérêt = l'intérêt de X pour ton logiciel
difficulté= ta protection

si difficulté est supérieur a intérêt , t'es tranquille

sinon faut faire en sorte que difficulté soit supérieur a intérêt :)

Re: encrypter une image

Publié : mer. 02/mars/2011 18:53
par Le psychopathe
Si tu veux, tu peux aussi la crypter via la méthode XOR. Je pense que c'est une technique qui peut être quasi inviolable si tu cryptes après l'entete de l'image.

Re: encrypter une image

Publié : mer. 02/mars/2011 19:29
par blendman
Dobro a écrit :ben un cryptage ne résistera pas a quelqu'un qui "trace"
le décodeur , mais disons, que ça protégé quand meme
tracer, c'est à dire ?
sinon faut faire en sorte que difficulté soit supérieur a intérêt :)
bah étant donné que si on veut les sources, je les donnerai. Enfin, pas tout, mais presque tout, ou du moins les techniques pour tel ou telle chose. Je ne sais pas s'il y aura un intérêt en fait :).
Le psychopathe a écrit :Si tu veux, tu peux aussi la crypter via la méthode XOR. Je pense que c'est une technique qui peut être quasi inviolable si tu cryptes après l'entete de l'image.
j'ai vu un exemple de cryptage xor sur le forum, mais je n'ai pas encore compris comment je peux l'utiliser dans mon exemple :). Tu pourrais m'expliquer ça ?

Re: encrypter une image

Publié : mer. 02/mars/2011 21:37
par SPH
Blendman, quand tu auras une routine de cryptage, tu pourras la donner et donner une image crypté pour voir si on arrive a la decrypter ? (car on a fait un concours de cassage de code et c'etait super)

Re: encrypter une image

Publié : mer. 02/mars/2011 23:05
par Le psychopathe
blendman a écrit :
Le psychopathe a écrit :Si tu veux, tu peux aussi la crypter via la méthode XOR. Je pense que c'est une technique qui peut être quasi inviolable si tu cryptes après l'entete de l'image.
j'ai vu un exemple de cryptage xor sur le forum, mais je n'ai pas encore compris comment je peux l'utiliser dans mon exemple :). Tu pourrais m'expliquer ça ?
Enf fait XOR est une opération mathématiques logique selon une table de vérité :
Image

Nous savons en informatique que au final tout est en code binaire, langage machine : 1001 1111 0101 1001
Donc une image, un executable, un fichier txt est en binaire. Le binaire c'est que des 0 et des 1 et la table XOR aussi ,)

Donc il faut que tu lises ton fichier image et que tu transposes chaque octet de celui-ci afin de faire une opération XOR avec l'octed de ton pass.

DOnc si tu as un mot de passe comme : 123456789 il fait 9 de longeur, donc 9 octet dans ce cas.
Tu compares chaque octets de fichier avec chaque octet de ton passe (en boucle car 9 de longeur). Pour une image l'avantage est qu'il est impossible de savoir des valeurs aléatoires sauf au debut. Il faut que tu verifies l'entête des fichiers images (jpg, gif ...).
Voilà une piste si tu veux que ton image soit bien protégé.

Re: encrypter une image

Publié : mer. 02/mars/2011 23:16
par SPH
Le psychopathe a écrit :
blendman a écrit :
Le psychopathe a écrit :Si tu veux, tu peux aussi la crypter via la méthode XOR. Je pense que c'est une technique qui peut être quasi inviolable si tu cryptes après l'entete de l'image.
j'ai vu un exemple de cryptage xor sur le forum, mais je n'ai pas encore compris comment je peux l'utiliser dans mon exemple :). Tu pourrais m'expliquer ça ?
Voilà une piste si tu veux que ton image soit bien protégé.
ENFIN, "bien protegé" pour le psychopathe

Re: encrypter une image

Publié : jeu. 03/mars/2011 0:02
par Backup
ENFIN, "bien protegé" pour le psychopathe
non, il a raison , mais biens sur, il faut que la clef soit plus grande que l'entete ;)

parceque sinon , vu que l'entete d'un jpg est connu
il est relativement facile de retrouver la clef ;)

mais si la clef est plus grande que l'entete connu , la ça deviens hard

si la clef est aussi grande que l'image , ça deviens impossible :)

Re: encrypter une image

Publié : jeu. 03/mars/2011 0:31
par case
Dobro a écrit :
ENFIN, "bien protegé" pour le psychopathe
non, il a raison , mais biens sur, il faut que la clef soit plus grande que l'entete ;)

parceque sinon , vu que l'entete d'un jpg est connu
il est relativement facile de retrouver la clef ;)

mais si la clef est plus grande que l'entete connu , la ça deviens hard

si la clef est aussi grande que l'image , ça deviens impossible :)

ou bien de ne pas encoder l'entête... car puisque l'entête est connue et peux aider a décrypter la clé autant ne pas la protéger.

Re: encrypter une image

Publié : jeu. 03/mars/2011 9:31
par SPH
case a écrit :ou bien de ne pas encoder l'entête... car puisque l'entête est connue et peux aider a décrypter la clé autant ne pas la protéger.
C'est bien ce qu'a dit Dobro. Tout dependra de la methode de cryptage utilisé. Je pense qu'un BMP est plus facile a decrypter qu'un JPG.