[Stégano] Le padding BMP
|
14-12-2011, 16h45
(Modification du message : 19-12-2011, 18h32 par Luxerails.)
Message : #1
|
|
Luxerails
Bon membre Messages : 267 Sujets : 6 Points: 67 Inscription : Aug 2011 |
[Stégano] Le padding BMP
Pour cacher de l‘information dans une image au format bmp, on peut utiliser le padding bmp.
[SIZE="5"] Tout d'abord, comment est construit un BMP ?[/SIZE] Tout d‘abord, voyons comment un bmp est construit (ouvrez par exemple une image bmp avec un éditeur de texte ou un éditeur hexadécimal). BM...................................................image BM : Header du bmp. Permet de reconnaitre le format du fichier (chaque format en a un: par exemple, le format PNG commence toujours par ‰PNG) ... Plusieurs informations concernant l‘image, notamment sa longueur, ses dimensions, le système d‘exploitation sous lequel elle a été créer... Ce ne sera d‘aucune utilité pour notre tuto. image: L‘image, débutant à l‘octet 54. L‘image est codée de la façon suivante : bvr.bvr.bvr.bvr. ...où r, v et b sont les 3 composantes d‘un pixel (rouge, vert et bleu), et où le . est un octet reservé (inutilisé, et généralement nul). À noter que l‘octet reservé apparait que dans un bmp 32 bits, vu que 32 bits = 4 octets, donc 3 rvb et 1 inutile. Dans les bmp 24 bits, il n‘y a pas d‘octet reservé, donc un pixel = 3 octets. Il faut donc savoir que les composantes sont notées à l‘envers (bvr au lieu de rvb). Il faut aussi savoir que le bmp écrit les pixels en partant du bas-gauche de l‘image, et en allant de gauche a droite, en remontant l‘image de bas en haut. Par exemple, pour une image : abc def ghi jkl mno pqr stu vwx yz0 (où 3 lettres = un pixel, c‘est donc une image de taille 3px sur 3px) Le bmp l‘écrira de cette façon : uts xwv 0zy lkj onm rqp cba fed ihg (Pour plus de clarté, j‘ai laissé les espaces, mais il n‘y a pas d‘espaces dans le bmp) [SIZE="5"]Bon, c‘est bien beau mais... le padding bmp dans tout ça ?![/SIZE] Le problème dans un bmp, c‘est que il faut absolument qu‘une ligne dans un bmp soit multiple de quatre. Par exemple, dans notre exemple de tout à l‘heure : utsxwv0zylkjonmrqpcbafedihg Une ligne = 9 octets [=3 pixels], ce qui donne utsxwv0zy lkjonmrqp cbafedihg Or 9 n‘est pas un multiple de quatre ! Il va donc falloir rajouter des caractères afin que la "ligne" soit multiple de quatre. Ainsi, a chaque ligne, nous allons rajouter 3 octets nuls pour qu‘une ligne fasse douze caractères et douze est un multiple de quatre. On se retrouve donc avec : utsxwv0zy... lkjonmrqp... cbafedihg... Soit utsxwv0zy...lkjonmrqp...cbafedihg... dans notre bmp. (les . représentent des octets nuls) Seulement, qui nous empêche de mettre autre chose que des octets nuls ? Je peux très bien mettre : utsxwv0zymsglkjonmrqpcaccbafedihghé! Pour extraire le message caché, je regarde la longueur de l‘image qui est de neuf, le multiple de quatre qu‘il y a juste après est douze, donc je coupe tout les douze octets : utsxwv0zymsg lkjonmrqpcac cbafedihghé! Et je lis les 3 derniers octets de chaque ligne. [SIZE="5"]Pour finir[/SIZE] [SIZE="4"]Avantages et inconvénients[/SIZE] Les avantages de cette technique sont que la taille du fichier n‘est pas modifié, et que l‘image n‘a pas a été modifiée non plus (vu que la stéganographie ne se fait pas dans l‘image, mais dans la structure du bmp, contrairement à la technique du LSB par exemple). L‘inconvénient de cette technique est que l‘information cachée est en clair dans le bmp, et ainsi, par exemple, si l‘on cache un GIF dans du padding bmp, en sachant que les trois premières lettres d‘un fichier gif sont... "GIF", on peut peut-être voir le mot GIF en clair dans le fichier si la taille du padding d‘une ligne est de trois [SIZE="4"]Exemple : [/SIZE] Essayez de trouver le message caché dans cette image... http://luxerails.ru.nf/tutoimg/exemplebr.bmp Luxerails |
|
14-12-2011, 18h17
Message : #2
|
|
supersnail
Éleveur d'ornithorynques Messages : 1,609 Sujets : 71 Points: 465 Inscription : Jan 2012 |
[Stégano] Le padding BMP
Tuto sympa . Tu serais partant pour le publier dans le zine (ou nous en faire un spécialement pour lui :þ)
|
|
14-12-2011, 19h40
Message : #3
|
|
Luxerails
Bon membre Messages : 267 Sujets : 6 Points: 67 Inscription : Aug 2011 |
[Stégano] Le padding BMP
Bien sur :p
|
|
« Sujet précédent | Sujet suivant »
|
Sujets apparemment similaires… | |||||
Sujet | Auteur | Réponses | Affichages | Dernier message | |
Encodage, Hashage, Chiffrement Symétrique et Asymétrique, Stégano | InstinctHack | 4 | 320 |
20-02-2013, 17h07 Dernier message: InstinctHack |
Utilisateur(s) parcourant ce sujet : 1 visiteur(s)