Oprogramowanie

Ukrywanie plików w obrazach JPEG (JPG)

folder na dłoni

Czy nigdy nie miałeś ochoty ukrycia jakiegoś pliku przed oczami rodziny, narzeczonej czy innych użytkowników? Zapewne miałeś i to nie raz 😉 W tym poradniku zajmiemy się ukrywaniem danych w plikach graficznych.

Sam proces ukrywania nie jest skomplikowany. Wykorzystamy do tego celu polecenie copy, które wraz z przełącznikiem /B, posłuży do łączenia zawartości plików. A więc zaczynamy!

Czym jest ukrywanie danych w plikach graficznych?

Ukrywanie danych w plikach graficznych, znane także jako steganografia, to proces, w którym informacje są dyskretnie ukrywane w obrazach cyfrowych, tak aby były niewidoczne dla nieświadomego obserwatora. Na pierwszy rzut oka to skomplikowana technika kodowania, która pozwala na przechowywanie poufnych informacji, takich jak wiadomości tekstowe, pliki dźwiękowe, wideo, a nawet programy, bez wzbudzania podejrzeń. W przeciwieństwie do kryptografii, która koncentruje się na zabezpieczaniu informacji poprzez ich szyfrowanie, steganografia dąży do tego, aby ukryte informacje były w ogóle niezauważalne dla przeglądającej obraz osoby.

Technika ta może być wykorzystywana zarówno w legalnych, jak i niestety nielegalnych celach. Na przykład, może być stosowana przez korporacje do ochrony własności intelektualnej lub przez osoby poszukujące skutecznego sposobu przechowywania danych wewnętrznych, takich jak hasła lub numery kont bankowych. Z drugiej strony, przestępcy mogą wykorzystywać steganografię do przechowywania i przesyłania nielegalnych materiałów, takich jak choćby materiały propagandowe, które wzbudzałyby podejrzenia, gdyby nie były ukryte lub do przesyłania i infekowania komputerów złośliwym kodem. W tym poradniku zajmiemy się wyłącznie kwestiami legalnymi, które są powszechnie dostępne nie tylko dla studentów informatyki.

Na czym polega steganografia? W dużym skrócie mówiąc, działanie steganografii polega na manipulacji niewielkimi wartościami pikseli obrazu, zmieniając je tak, aby prezentowały ukryte dane. Istnieje wiele metod umieszczania takich informacji, jedną z nich jest metoda LSB (Least Significant Bit), która polega na zmianie ostatniego (najmniej istotnego) bitu piksela, tak aby wartość ta reprezentowała dane wejściowe.

Jak ukryć dane w obrazach JPG?

Tworzymy na Pulpicie dwa pliki, archiwum ZIP o przykładowej nazwie archiwum1.zip oraz plik graficzny grafika1.jpg, które będzie kontenerem dla poufnych danych. Aby dodatkowo zwiększyć stopień bezpieczeństwa, można zastosować szyfrowanie (założyć hasło).

  • Otwieramy wiersz poleceń, Start => Uruchom => cmd
  • Zmieniamy katalog, w naszym przykładzie pliki są na Pulpicie więc wpisujemy:

    cd /d "%userprofile%/Desktop"

  • Łączymy pliki przy użyciu polecenia copy:

    copy /B grafika1.jpg + archiwum1.zip grafika2.jpg

    grafika1.jpg – plik graficzny, w którym ukrywamy dane.
    archiwum1.zip – archiwum ZIP z poufnymi danymi.
    grafika2.jpg – plik wynikowy.

Aby dostać się do archiwum wystarczy otworzyć zdjęcie JPG w dowolnym programie do kompresji plików i folderów. Z drugiej strony, otwierając ten sam plik, przy użyciu przeglądarki grafiki pojawi się zdjęcie. Jest to bardzo prosta metoda, aby szybko ukryć jakieś dane. W ten sposób możemy ukrywać inne typy plików jak TXT, RAR, a nawet EXE.

Proces ukrywania danych w plikach JPG można zautomatyzować przy pomocy skryptu batch. Otwieramy notatnik (Start => Uruchom => notepad) i wklejamy poniższy kod:

echo off
cd /d "%userprofile%/Desktop"
copy /B grafika1.jpg + archiwum1.zip grafika2.jpg

Z menu wybieramy Plik => Zapisz jako. Typ ustalamy na wszystkie pliki, a nazwę pliku jako ukryj.bat (należy pamiętać, aby podać rozszerzenie pliku – BAT).

Analogicznie do ręcznej metody, na Pulpicie tworzymy archiwum ZIP, w tej samej lokalizacji umieszczamy zdjęcie. Dopasowujemy nazwy pliku do schematu i uruchamiamy plik ukryj.bat. W tym akurat przypadku zastosowaliśmy skrypt pod konkretne nazwy plików i dla z góry ustalonej lokalizacji.

Jak widać, metoda jest banalna, lecz niezwykle przydatna. Opisałem tę metodę w ramach wstępu do ukrywania danych, albowiem tę tematykę będę chciał szerzej omówić, prezentując ciekawe oprogramowanie do ukrywania informacji w plikach (nie tylko graficznych).

O autorze

Mariusz Kołacz

Z zawodu mgr inż. informatyk, zwolennik nowoczesnych technologii i fan Nikoli Tesla. Prowadzi kilka blogów o tematyce technologicznej. Po godzinach lubi przeczytać dobrą książkę, pozwiedzać ciekawe miejsca w Polsce lub spędzić wolny czas na łonie natury.