Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 12/10/2011, à 17:39

thom-armax

Création image JPG à partir d'un fichier .HEX

Salut à tous,

Je suis face à un petit problème.
J'aimerai modifier manuellement le code hexadécimal d'une image JPG, le modifier, puis la sauvegarder.
Le but est d'insérer un "code secret ASCII" dans une image JPG.

Pour cela j'ai fait :

hexdump image.jpg > img.hex

Ensuite, je modifie le fichier hexa (en passant ce que je suppose être des entêtes de description de fichier)

0000000 d8ff e0ff 1000 464a 4649 0100 0001 0100
0000010 0100 0000 feff 3b00 5243 4145 4f54 3a52
0000020 6720 2d64 706a 6765 7620 2e31 2030 7528
0000030 6973 676e 4920 474a 4a20 4550 2047 3676
0000040 2932 202c 7571 6c61 7469 2079 203d 3539
0000050 ff0a 00db 0043 0102 0101 0101 0102 0101
0000060 0202 0202 0402 0203 0202 0502 0404 0403
0000070 0506 0606 0506 0606 0706 0809 0706 0709
0000080 0606 0b08 0908 0a0a 0a0a 060a 0b08 0b0c
0000090 0c0a 0a09 0a0a dbff 4300 0201 0202 0202
00000a0 0502 0303 0a05 0607 0a07 0a0a 0a0a 0a0a
00000b0 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a 0a0a
*
00000d0 0a0a 0a0a 0a0a 0a0a 0a0a ff0a 00c0 0811
00000e0 3200 3200 0103 0022 1102 0301 0111 c4ff
00000f0 1f00 0000 0501 0101 0101 0101 0000 0000
0000100 0000 0000 0201 0403 0605 0807 0a09 ff0b
0000110 00c4 10b5 0200 0301 0203 0304 0505 0404
0000120 0000 7d01 0201 0003 1104 1205 3121 0641
0000130 5113 0761 7122 3214 9181 08a1 4223 c1b1
0000140 5215 f0d1 3324 7262 0982 160a 1817 1a19
0000150 2625 2827 2a29 3534 3736 3938 433a 4544
0000160 4746 4948 534a 5554 5756 5958 635a 6564
0000170 6766 6968 736a 7574 7776 7978 837a 8584
0000180 8786 8988 928a 9493 9695 9897 9a99 a3a2
0000190 a5a4 a7a6 a9a8 b2aa b4b3 b6b5 b8b7 bab9
00001a0 c3c2 c5c4 c7c6 c9c8 d2ca d4d3 d6d5 d8d7
00001b0 dad9 e2e1 e4e3 e6e5 e8e7 eae9 f2f1 f4f3
00001c0 f6f5 f8f7 faf9 c4ff 1f00 0001 0103 0101
00001d0 0101 0101 0101 0000 0000 0000 0201 0403
00001e0 0605 0807 0a09 ff0b 00c4 11b5 0200 0201
...

Puis j'écris l'image :

dd if=./img.hex of=./img.jpg

Mais le problème est que le fichier ne peut être lu ...
Bien sûr, je n'ai pas modifié les adresses.

Avez vous une idée ?

Merci d'avance

Hors ligne

#2 Le 12/10/2011, à 18:20

sputnick

Re : Création image JPG à partir d'un fichier .HEX

Pourquoi faire de la stéganographie en hexa ? autant le faire en binaire !

par exemple :

vi image.jpeg

Il existe un tunnel obscur dans la lumière infinie. Lao-Tseu
https://sputnick.fr

Hors ligne

#3 Le 12/10/2011, à 18:33

thom-armax

Re : Création image JPG à partir d'un fichier .HEX

sputnick a écrit :

Pourquoi faire de la stéganographie en hexa ? autant le faire en binaire !

par exemple :

Oui, mais le problème c'est que je voudrais pouvoir faire en sorte de pouvoir ouvrir l'image après avoir changé son code binaire.
Il faudrait pouvoir réencoder le code HEX et JPG, mais je ne sais pas comment faire...

vi image.jpeg

Me permet de "lire" le code de l'image en ASCII, mais  lorsque je le fais avec une image dont j'ai modifié le code, vi me redonne que des valeurs n hexa, celle que j'ai obtenu en faisant un hexdump ...

Hors ligne

#4 Le 12/10/2011, à 20:01

sputnick

Re : Création image JPG à partir d'un fichier .HEX

regardes ça : http://calque.pagesperso-orange.fr/lang … ssage.html

ou recherche sur google

pil python steganography


Il existe un tunnel obscur dans la lumière infinie. Lao-Tseu
https://sputnick.fr

Hors ligne

#5 Le 12/10/2011, à 20:17

thom-armax

Re : Création image JPG à partir d'un fichier .HEX

sputnick a écrit :

regardes ça : http://calque.pagesperso-orange.fr/lang … ssage.html

ou recherche sur google

pil python steganography

Ah merci ;-)
Je vais regarder tout ça ^^

Hors ligne

#6 Le 12/10/2011, à 21:19

gniourf_gniourf

Re : Création image JPG à partir d'un fichier .HEX

C'est normal que le dd ne fonctionne pas : regarde ton fichier img.jpg après

dd if=./img.hex of=./img.jpg

tu verras, c'est le même que img.hex

Je peux te proposer un truc qui fonctionne :

Pour avoir le fichier en hexadécimal, utilise la commande hd :

hd image.jpg > img.hex

Tu obtiens un fichier img.hex du genre :

00000000  ff d8 ff e0 00 10 4a 46  49 46 00 01 01 00 00 00  |......JFIF......|
00000010  01 00 00 ff fe 00 3b 43  52 45 41 54 4f 52 20 67  |......;CREATOR g|
00000020  64 2d 6a 70 65 67 20 76  31 2e 30 20 28 73 69 6e  |d-jpeg v1.0 (sin|
00000030  67 20 49 4a 47 20 4a 50  45 47 20 76 32 29 2c 20  |g IJG JPEG v2), |
00000040  71 75 61 6c 69 74 79 20  3d 20 39 0a ff db 00 43  |quality = 9....C|
00000050  00 02 01 01 01 01 01 02  01 01 02 02 02 02 02 04  |................|
00000060  03 02 02 02 02 05 04 04  03 06 05 06 06 06 05 06  |................|
00000070  06 06 07 09 08 06 07 09  06 06 08 0b 08 09 0a 0a  |................|
00000080  0a 0a 0a 06 08 0b 0c 0a  0c 09 0a 0a 0a ff db 00  |................|
00000090  43 01 02 02 02 02 02 05  03 03 05 0a 07 06 07 0a  |C...............|
000000a0  0a 0a 0a 0a 0a                                    |.....|

Tu modifies ce que tu veux (mais uniquement les codes ASCII, pas le bazar dans la colonne de droite), tu sauves dans un fichier img-mod.hex, puis tu utilises ce script:

#!/bin/bash

# Sauve ce script dans un fichier hd2ascii
# Rends-le executable : chmod +x hd2ascii

while read -a A ; do
   M=${#A[@]}-2
   ((M>16)) && ((M=16))
   for ((i=1;i<=M;++i)); do
      (( u=(16#${A[i]}) ))
      printf \\$((u/64*100+u%64/8*10+u%8))
   done
done

Pour utiliser le script :

./hd2ascii < img-mod.hex > img-mod.jpg

Sinon, plus simple, il existe des éditeurs hexadécimaux :
hexcurse, hexer, hexedit, ghex, bless, okteta, lfhex, shed, tweak, jeex, ...

a+
- GG

Dernière modification par gniourf_gniourf (Le 12/10/2011, à 21:21)

Hors ligne