Underlayer › Narzędzie online

Ukryj tekst w obrazie online — darmowa steganografia

Umieść tajną wiadomość w zdjęciu albo sprawdź, czy obraz kryje wiadomość. Wszystko dzieje się tutaj, w przeglądarce: obraz nie jest nigdzie wysyłany, a wynik otworzysz też w aplikacji Underlayer.

Tryb

Prywatność z założenia: obraz i tekst są przetwarzane w tej karcie przeglądarki i nigdy nie są wysyłane. Zamknięcie karty je usuwa.

Jak ukryć tekst w obrazie

  1. Wybierz obraz. Najlepiej sprawdzają się zdjęcia z dużą ilością szczegółów; większe obrazy pomieszczą dłuższe wiadomości.
  2. Wpisz wiadomość i wybierz tryb: Ukryty, jeśli wyślesz plik jako dokument, lub Otwarty, jeśli obraz pójdzie przez komunikator jako zwykłe zdjęcie.
  3. Kliknij Ukryj wiadomość i pobierz PNG.
  4. Aby odczytać, otwórz tutaj kartę Odczytaj wiadomość albo otwórz obraz w aplikacji Underlayer.

Czym jest steganografia

Steganografia to ukrywanie wiadomości wewnątrz czegoś, co wygląda zupełnie zwyczajnie — tak, żeby nikt nawet nie podejrzewał, że jakaś wiadomość istnieje. Szyfrowanie sprawia, że tekst staje się nieczytelny; steganografia sprawia, że staje się niewidoczny. W cyfrowych obrazach oznacza to zmianę wartości pikseli tak delikatną, że zdjęcie wygląda dokładnie tak samo.

Jak działa tryb Ukryty: steganografia LSB w prostych słowach

Każdy piksel zapisuje swój kolor jako trzy liczby — czerwony, zielony i niebieski — od 0 do 255. Zmiana liczby o 1 przesuwa kolor o tyle, że oko tego nie widzi. Steganografia LSB (least significant bit, najmniej znaczący bit) wykorzystuje ten ostatni, najmniejszy bit liczby do przeniesienia jednego bitu wiadomości.

Underlayer zamienia tekst na bajty (UTF-8, więc działa każdy język i emoji), dodaje krótki znacznik, żeby program odczytujący wiedział, gdzie wiadomość się zaczyna i kończy, i zapisuje bity w najmłodszym bicie kanału zielonego jednego piksela w każdym bloku 8×8. Dodatkowe kopie trafiają do innych układów pikseli, a przy odczycie są ze sobą porównywane. Przed zapisem obraz jest raz ponownie zapisywany w wysokiej jakości; wynik wygląda jak oryginał, ale nie jest jego kopią bajt w bajt.

Ceną jest pojemność: jeden bit na 64 piksele. Zdjęcie 1080×1080 mieści około 18 000 bitów, a odczytywane są wiadomości do 740 bajtów — to około 740 liter łacińskich bez polskich znaków (ą, ę, ł i inne zajmują po 2 bajty) albo 370 liter cyrylicy.

Dlaczego komunikatory niszczą ukryte wiadomości

Dane trybu Ukrytego żyją w najdrobniejszych szczegółach pikseli, a właśnie te szczegóły wyrzuca kompresja JPEG. Messenger, WhatsApp, Instagram, Facebook, Telegram i większość serwisów społecznościowych ponownie kompresują zdjęcia, żeby oszczędzać transfer, i ukryte bity zostają nadpisane. W naszych testach ponowne zapisanie obrazu z trybu Ukrytego jako JPEG — nawet w jakości 90 — za każdym razem usuwało wiadomość. Dlatego narzędzie zwraca plik PNG.

Zwykle przetrwaZwykle niszczy wiadomość z trybu Ukrytego
Wysłanie jako plik lub dokument, załączniki e-mail, dyski w chmurze, pendriveWysłanie jako zwykłe zdjęcie w komunikatorach, publikacja w mediach społecznościowych, zrzuty ekranu, edycja, zmiana rozmiaru, konwersja do JPEG

Jak wysłać zdjęcie, żeby ukryta wiadomość nie zniknęła

W trybie Ukrytym obraz musi dotrzeć do odbiorcy jako ten sam plik PNG, bez ponownej kompresji:

Jeśli nie da się wysłać pliku, ukryj wiadomość w trybie Otwartym: jego ramka jest przygotowana na zwykłe wysyłanie zdjęć.

Kiedy używać trybu Otwartego

Tryb Otwarty nie ukrywa samego faktu, że wiadomość istnieje. Rysuje wokół obrazu ramkę z kolorowych kwadratów; kolor każdego kwadratu koduje dwa bity. Wyraziste kolory na czarnym tle przetrwają ponowną kompresję: w naszych testach wiadomość dawała się odczytać nawet po zapisaniu obrazu jako JPEG w jakości 75. Używaj go, gdy obraz zostanie wysłany jako zwykłe zdjęcie przez Telegram lub WhatsApp.

Na małych obrazach ramka mieści mniej tekstu — około 90 znaków na 640×480, 280 na 1080×1080 i 560 na 1600×1200 (polskie litery zajmują więcej miejsca) — a mocne zmniejszenie małego obrazu nadal może ją uszkodzić.

Ukrycie to nie szyfrowanie

Underlayer nie ma hasła i nie szyfruje. Każdy, kto otworzy obraz w Underlayer lub na tej stronie, może odczytać wiadomość, a analiza statystyczna może wykazać, że piksele były zmieniane. To narzędzie do liścików, gier i dyskretnych znaków wodnych. Jeśli sam tekst musi pozostać tajny, najpierw zaszyfruj go osobnym narzędziem, a potem ukryj zaszyfrowany tekst.

Jak znaleźć ukrytą wiadomość w zdjęciu

Karta Odczytaj wiadomość sprawdza obraz pod kątem wiadomości z obu trybów utworzonych w Underlayer — na tej stronie lub w aplikacji. Nie odczyta wiadomości ukrytych innymi programami, bo każdy program ma własny format. Jeśli nic nie zostało znalezione, obraz najpewniej nie zawiera wiadomości Underlayer albo został skompresowany już po jej ukryciu.

Ten sam format co aplikacja Underlayer

Ta strona używa tego samego kodu ukrywania i odczytu co aplikacja Underlayer na Androida i iOS, więc możesz ukryć wiadomość na komputerze i odczytać ją na telefonie — albo odwrotnie. Aplikacja pozwala dodatkowo udostępnić obraz do Underlayer z galerii lub innej aplikacji i od razu ukryć albo odczytać wiadomość, bez zapisywania plików.

Pobierz z Google Play Pobierz w App Store

Pomysły na wykorzystanie

Najczęstsze pytania

Czy to narzędzie jest darmowe? Czy moje zdjęcia są gdzieś wysyłane?

Jest darmowe, bez rejestracji i bez znaku wodnego. Obraz i wiadomość nie opuszczają urządzenia: wszystko przetwarza JavaScript w przeglądarce i nic nie jest wysyłane na serwer.

Czy aplikacja Underlayer odczyta wiadomość ukrytą na tej stronie?

Tak. Strona używa tego samego kodu ukrywania i odczytu co aplikacja, więc obraz przygotowany tutaj otworzy się w aplikacji, a przygotowany w aplikacji — tutaj. Ważne, żeby po drodze nie został skompresowany.

Dlaczego pojawia się komunikat, że nie znaleziono ukrytej wiadomości?

Albo w obrazie nic nie ukryto, albo wiadomość ukryto innym programem, albo obraz został ponownie skompresowany — na przykład wysłany jako zdjęcie przez komunikator lub opublikowany w mediach społecznościowych. Ponowna kompresja usuwa wiadomości z trybu Ukrytego.

Czy można odczytać wiadomości ukryte innymi programami do steganografii?

Nie. Każdy program do steganografii ma własny układ danych i znaczniki. To narzędzie odczytuje wiadomości ukryte za pomocą Underlayer.

Czy ukryta wiadomość to to samo co zaszyfrowana?

Nie. Underlayer nie szyfruje i nie ma hasła: każdy, kto otworzy obraz w Underlayer lub na tej stronie, może odczytać wiadomość. Poufny tekst najpierw zaszyfruj, a potem ukryj zaszyfrowany tekst.

Dlaczego ukryta wiadomość zniknęła po wysłaniu zdjęcia?

Komunikator ponownie skompresował zdjęcie. Wysyłaj PNG jako plik lub dokument albo użyj trybu Otwartego.

Jak długa może być wiadomość?

Do 740 bajtów: około 740 znaków łacińskich lub 370 znaków cyrylicy; polskie litery z ogonkami zajmują po 2 bajty. Tryb Ukryty potrzebuje też odpowiednio wielu pikseli, a tryb Otwarty mieści mniej tekstu na małych obrazach — około 90 znaków na 640×480 i około 280 na 1080×1080.

Dlaczego wynik jest plikiem PNG?

PNG to format bezstratny, więc zmienione piksele są zapisane dokładnie. Zapis do JPEG ponownie skompresowałby obraz i usunął wiadomość z trybu Ukrytego.