begin process at 2008 07 20 04:55:08
1 213 129 membres
50 nouveaux aujourd'hui
14 166 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

STÉGANOGRAPHIE OU COMMENT CACHÉ DU TEXTE DANS UNE IMAGE


Information sur la source

Description

Stéganographie ou comment caché du Texte dans une Image.
Volé un bit ou 2 pour chaque Jeu RGB ne fais de mal a personne et surtout a une Image...
Par cette methode on peut caché du texte dans une image et récuperer le texte caché
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  • Project1.dprTélécharger ce fichier [Réservé aux membres club]Voir ce fichier188 octets
  • Project1.drcTélécharger ce fichier [Réservé aux membres club]17 351 octets
  • Project1.resTélécharger ce fichier [Réservé aux membres club]876 octets
  • SteniG.JPGTélécharger ce fichier [Réservé aux membres club]Voir ce fichier59 103 octets
  • Unit1.dcuTélécharger ce fichier [Réservé aux membres club]6 567 octets
  • Unit1.dfmTélécharger ce fichier [Réservé aux membres club]3 247 048 octets
  • Unit1.pasTélécharger ce fichier [Réservé aux membres club]Voir ce fichier4 762 octets

Télécharger le zip

  • signaler à un administrateur
    Commentaire de bloom1 le 11/07/2005 03:30:38

    Euh, ca fonctionne pas !

  • signaler à un administrateur
    Commentaire de gildeplomb le 11/07/2005 11:17:53

    Euh si ca fonctionne tres bien

    Bravo

  • signaler à un administrateur
    Commentaire de DRJEROME le 11/07/2005 12:47:25

    Ben...moi j'ai pas encore essayé... mais bravo à l'avance ;)

  • signaler à un administrateur
    Commentaire de bloom1 le 13/07/2005 18:27:40

    Comment tu fais pour crypter du texte dedans ?

  • signaler à un administrateur
    Commentaire de japee le 13/07/2005 20:53:28 administrateur CS

    Très intéressant, ce code, aymenc.

    Pour les lignes :

    R := R and 248 or (C and 7);      // masquage (évident!)
    G := G and 248 or (C and 56) shr 3;
    B := B and 252 or (C and 192) shr 6;

    ton commentaire quant au masquage ("évident") démontre une belle maîtrise des mathématiques.
    Félicitations !
    Ceux qui sont moins brillants que toi auront un bon sujet de réflexion pour les vacances ! ;)

    Bonne continuation.

    japee

  • signaler à un administrateur
    Commentaire de Millenod le 16/07/2005 00:00:55

    Intéressant ma fois.
    je débute et suis pas tout à fait à l'aise dans la manipulation des bits... et je n'y connais rien sur les images bmp.
    (quel handicap!!!)


    col := MyImage.canvas.Pixels[x, y];
    On obteint la couleur d'origine du pixel, au format RGB.
    Le format est définit comme tel : PPRRGGBB, avec PP pour la valeur de la palette, le RR pour le rouge, le GG pour le vert, BB pour le bleu

    R := getRvalue(col);              // extraction du rouge
    G := getGvalue(col);              // extraction du vert
    B := getBvalue(col);              // extraction du bleu
    on a les intensité des couleurs.

    R := R and 248 or (C and 7);      // masquage (évident!)
    c'est la que ca devient rude.

    C and 7 : masque pour obtenir uniquement les valeurs contenu dans les 3derniers bits (GBB)
    R and 248 : masque pour obtenir uniquement les valeurs contenu dans les 5premiers bits (PPRRG)

    R := R and 248 or (C and 7); on regroupe les valeurs obtenu par les 2 masques dans la nouvelle valeur de R


    G := G and 248 or (C and 56) shr 3;
    y'a du décalage de bits dans l'air. rude!

    (C and 56) : masque pour obtenir uniquement les valeurs contenu dans les bits 6 à 4 (RRG)

    (C and 56) shr 3 : on décale ces bits pour les traiter comme si c'était les 3 premiers (GBB)

    G and 248 or (C and 56) shr 3 : on regroupe les masques en un nouveau


    etc


    un texte comprends les caractère dont le code hexa est compris enter $20 (=32) et $7E (=126)
    ce qui donne une valeur comprise entre :
    00100000 et 01111110

    ce qui indique que sur notre pixel, on ne va pas toucher au bit PP

    on va coder notre caractère sur les valeurs RRGGBB.

    pour la nouvelle valeur de R du code ci-dessus, on ne touchera pas à BB.
    ....



    je pense pas être trop loin de la solution...
    mais j'aurais besoin de qq explications en plus.
    si l'un de vous veut bien me donner les derniers détails, pour que moi aussi je puisse etre illuminé par la beauté de ce code, et surtout sa subtilité :)


    merci beaucoup de m'avoir fait creuser le ciboulot :)

  • signaler à un administrateur
    Commentaire de assemple le 18/07/2005 10:58:51

    cacheR : infinitif et non caché.
    Pour ne pas faire cette faute il suffit de remplacer le verbe douteux par le verbe FAIRE.
    2 exemples puisés dans votre texte, le verbe "cacher" dans 2 contextes. J'y ai remplacé "caché" par "FAIRE" ou "FAIT" :
    1) Stéganographie ou comment FAIRE du Texte dans une Image.
    2) ...et récuperer le texte FAIT


  • signaler à un administrateur
    Commentaire de aymenk le 18/07/2005 11:37:52

    Salut  Millenod,
    Rappelons que dans le type BMP en format 24 bit/pixel, chaque pixel est représenté par
    3 octets: un pour le rouge, un pour le vert et un pour le bleu. Chaque octet comporte
    8 bits permettant de coder une valeur entière de 0 à 255.
    Nous allons cacher un caractère (un octet) dans un pixel.
    Nous aurons donc un caractère caché dans chaque point de l'image. Nous devons
    répartir les 8 bits d'un octet parmi les 24 bits représentant le pixel. Arbitrairement
    nous choisissons d'utiliser:
    - les 3 bits de poids faible de l'octet du rouge
    - les 3 bits de poids faible de l'octet du vert
    - les 2 bits de poids faible de l'octet du bleu

    Il est essentiel d'utiliser comme container les bits de poids faible, car ils ont
    moins d'influence sur la couleur.

  • signaler à un administrateur
    Commentaire de assemple le 18/07/2005 12:12:28

    REPONSE à MILLENOD
    Tu confonds Bit et Octet
    Aymenk bloque le "cryptage" si l'image n'est pas en 24 bits donc :
    Pour chaque point :
    R         G       B
    xxxxxxxxxxxxxxxxxxxxxxxxxx
    x= 0 ou 1
    R, G et B variant de 0 à 255,  
    Un caractère = 1 octet soit xxxxxxxx (x= 0 ou 1)

    Le cryptage consiste à altérer R et B de 7/255 soit 2,7%, et B de 4/255 soit  1,5%, et dans la place libérée, stocker les 8 bits de chaque caractère du texte à crypter.
    R       G       B
    xxxxx123xxxxx456xxxxxx78
    x= 0 ou 1, issus de l'image
    1,2,3,4,5,6,7 = 0 ou 1, issus du caractère.
    123, comme 456 varie de 0 à 7, tandis que 78 varie de 0 à 4

    C'est à peu près ça (ou 8/256 et 5/256 ???)

    Le programme de cryptage est pas mal, simple, modifiable...
    Mais il eut été mieux que le dpr soit mieux conçu, par exemple en affichant les deux images, sans et avec texte

  • signaler à un administrateur
    Commentaire de Millenod le 18/07/2005 13:46:34

    @assemple
    merci pour les corrections d'orthographe. Même si je connais les règles, j’ai tendance à me laisser aller sur les forums, sans pour autant donner dans un style sms.

    @aymenk
    Merci, j’avais pas tout à fait vu le tout comme ça. Bien que maintenant, grâce à ton explication, c’était « presque » limpide.
    Je ne savais pas la subtilité sur la relation entre bits de poids faibles et couleur.

    assemple a d’ailleurs très bien illustré ton explication.


    Je vous remercie donc pour votre aide et m’avoir permis de mieux comprendre les subtilités de ce code, et de voir le soutien qu’offrent les membres du site.

  • signaler à un administrateur
    Commentaire de paustmart le 24/08/2005 14:06:01

    Extrèmement interessant ce cours sur les images. Merci.

  • signaler à un administrateur
    Commentaire de CloudStrife le 14/01/2006 19:12:52

    hum :) très intéressent :P

    Par contre, une petite amélioration pourrait être faite :)
    Une adaptation a la taille du texte et de l'image :)
    Au plus le texte est court au moins il consomme d'octet... hors pourquoi prendre 8bits par pixel sur une image de 1024x768, si le texte fait que 5000 caractères ? :) dans ce cas 1bit suffit plus que largement (puisqu'il permet de codé 96ko dans le fichier).
    Et pourquoi pas y planquer complètement un fichier et non que un texte ? :)

  • signaler à un administrateur
    Commentaire de Bidou le 11/05/2006 09:38:21 administrateur CS

    Je me suis permis de convertir ton code en C# :
    http://www.csharpfr.com/codes/CACHER-TEXTE-DANS-IMAGE_37542.aspx

Ajouter un commentaire

Pub



Appels d'offres

Dessins techniques
Budget : 60€
Animation Flash - Doma...
Budget : 370€
Application flash medi...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS