Uważam, że szukasz steganografii , sposobu na ukrycie wiadomości w skądinąd niewinnie wyglądających treściach.
Wydaje się, że nie ma tam wielu narzędzi do tego w Linuksie, ale outguess 1 i steghide 2 zrobiłyby to, co chcesz. openstego to kolejny (z interfejsem wiersza poleceń).
Przykład z outguess
, skopiowałem / wkleiłem tekst twojego pytania w Q.txt
:
$ ../src/outguess/outguess -k 'Unix&Linux' -d Q.txt Tux.jpg Tux_steg.jpg
Reading Tux.jpg....
JPEG compression quality set to 75
Extracting usable bits: 10126 bits
Correctable message size: 5008 bits, 49.46%
Encoded 'Q.txt': 4592 bits, 574 bytes
Finding best embedding...
0: 2274(49.2%)[49.5%], bias 2008(0.88), saved: 2, total: 22.46%
3: 2269(49.1%)[49.4%], bias 2007(0.88), saved: 3, total: 22.41%
13: 2268(49.0%)[49.4%], bias 1977(0.87), saved: 3, total: 22.40%
62: 2237(48.4%)[48.7%], bias 1992(0.89), saved: 7, total: 22.09%
78: 2216(47.9%)[48.3%], bias 1964(0.89), saved: 10, total: 21.88%
78, 4180: Embedding data: 4592 in 10126
Bits embedded: 4624, changed: 2216(47.9%)[48.3%], bias: 1964, tot: 10119, skip: 5495
Foiling statistics: corrections: 1437, failed: 746, offset: 198.494881 +- 300.529142
Total bits changed: 4180 (change 2216 + bias 1964)
Storing bitmap into data...
Writing Tux_steg.jpg....
$ ../src/outguess/outguess -k 'Unix&Linux' -r Tux_steg.jpg out.txt
Reading Tux_steg.jpg....
Extracting usable bits: 10126 bits
Steg retrieve: seed: 78, len: 574
$ diff out.txt Q.txt
$ echo $?
0
Obraz źródłowy (z Tux.svg ):
Obraz z ukrytym w nim pytaniem:
Obrazy wyglądają inaczej, jeśli przyjrzysz się uważnie, ale wygląda to tak, jakby drugi został wygenerowany z wyższym poziomem kompresji JPEG. Fakt, że cały tekst pytania jest wmieszany (i chroniony hasłem), nie jest wcale widoczny.
Im mniejsza jest ukryta wiadomość, tym mniej różnią się wizualnie obrazy. (Nie mogę wizualnie odróżnić oryginału od pliku z osadzonym „Copyright YOU 2012”).
1 stary, ale dobrze się buduje.
2 nie buduje się przy pomocy nowoczesnego kompilatora C ++, konieczne jest kilka poprawek źródłowych.