[C++] Stéganographie BMP
|
17-02-2012, 23h27
(Modification du message : 17-02-2012, 23h30 par Dobry.)
Message : #1
|
|
Dobry
Tueur de lamouz Messages : 206 Sujets : 25 Points: 73 Inscription : Aug 2011 |
[C++] Stéganographie BMP
Bon, voilà quelques jours que je bosse sur un tool de stéganographie pouvant cacher n'importe quel type de fichier dans un autre.
Pour le moment, je me suis restreint au BMP, car leur fonctionnement est vraiment très simple, mais vous pourrez très bien l'utiliser sur un fichier texte, rendant celui-ci illisible, mais cachant des données 'importantes'. (Bon ok je m'emballe, j'ai pas codé le tout dernier algo de crypto encore inconnu des services secrets, mais bon, ce fut un bon entrainement en C++) Par contre, il n'y à pas de restrictions quand au fichier que vous souhaitez cacher, tant que ca taille ne dépasse pas 65535 octets et que sa taille est inférieur à la taille du fichier destination/4 -54, on peut expliquer cela par le fait que la méthode utilisée, la méthode LSB (least significant bits) utilise 8 octets du fichier destination, pour cacher 4 octets du fichier source et que le header du BMP fait 54 octets, donc ce sont des octet inutilisables (mais qui le serait différent, avec d'autre type de fichier). Le code est composé en fonction, pour qu'il puisse être réutilisé, je me suis fait un petit délire en écrivant toutes mes variables et commentaires en anglais (pour faire genre ). Si vous voulez plus de détails sur tel ou tel fonction, n'hésitez pas, ca fait 4 jours que je me bats avec ce code xD alors je le connais par coeur, donc tout me semble logique est clair (ce qui n'est probablement l'effet ressentit par ceux qui lirons le code). Code PHP : #include <iostream> Pour tester le tool, je vous propose d'essayer avec les deux images suivantes : http://www.eecs.qmul.ac.uk/~phao/CIP/Images/Baboon.bmp http://xartrick.free.fr/images/63d96f367...cd1d8a.png (oui Xartrick, j'étais sur ton blog quand je l'ai codé) Pour éviter de vous embêtez avec les nom à rallonge, j'appellerais le BMP, Baboon.bmp et le second (le cake) encrypt.png Cachon encrypt dans Baboon ./steg e encrypt.png Baboon.bmp Puis pour extraire le fichier de Baboon.bmp, on fait ./steg d Baboon.bmp output.png Vous devriez avoir deux fichiers identiques, output.png et encrypt.png. Précisions, vous pouvez décrypter le fichier autant de fois que vous le souhaitez, car le programme ne 'remet' pas à 0 l'image lors de la decryption. Necromoine
Aestuārium Erudītiōnis
There are only two hard things in Computer Science: cache invalidation, naming things, and off-by-one errors.
|
|
« Sujet précédent | Sujet suivant »
|
Utilisateur(s) parcourant ce sujet : 1 visiteur(s)