zamek

Ukrywanie plików w obrazach JPEG (JPG)

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!

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).

Mariusz Kołacz jpeg, jpg, steganografia, ukrywanie

Skomentuj wpis - Komentarzy (2)

  1. Omen pisze:

    Bardzo ciekawy sposób :)
    Rozumiem, że można łączyć ze sobą dowolne pliki, na przykład w .doc zaszyć .jpg albo w jakimś .avi ukryć .rar?
    Muszę się pobawić :)

    Szczekam na więcej podobnych wpisów.

  2. Mariusz Kołacz pisze:

    Każdy format ma swą specyfikację, zapisu/odczytu przez aplikacje stąd też nie można dowolnie łączyć plików. Mimo to opisana metoda sprawdza się świetnie przy ukrywaniu danych skompresowanych w zdjęciach. Dodatkową zaletą takiego rozwiązania jest fakt, że można zaszyfrować archiwum, czyli niejako utworzyć podwójne zabezpieczenie, z jednej strony maskowanie, które jest trudne do wychwycenia gołym okiem (pomijam rozmiar pliku), z drugiej strony szyfrowanie, gdzie bez hasła lub pliku klucza nie dostaniemy się do danych.

    Samo maskowanie już jest skuteczne, aby zidentyfikować plik trzeba by było użyć odpowiednich programów do analizy obrazu lub też w edytorze heksadecymalnym poszukać charakterystycznych cech dla konkretnego typu pliku. Można też oczywiście otwierać każdy plik graficzny w innych aplikacjach na chybił trafił, lecz nietrudno sobie wyobrazić, że przy setkach zdjęć właściciel takiego pliku mógł ukryć dane w dowolnym z nich, otworzenie ich wszystkich ręcznie to sporo pracy. Pewnie osoby bardzo zdeterminowane wykorzystają gotowy skrypt do otwierania, lecz na ścisłość, gdy dodatkowo zaszyfrujemy dane, praktycznie taka osoba nie ma szans na dostanie się do ukrytych danych.

    Metodę z copy /B może praktycznie każdy zastosować, są też do tego specjalistyczne programy, które ułatwiają ukrywanie.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Poinformuj mnie o nowych komentarzach do tego wpisu.