Съдържание:
- Консумативи
- Стъпка 1: Какво е стеганография
- Стъпка 2: Как се кодира текстът на компютрите
- Стъпка 3: Как работи програмата
- Стъпка 4: Заключение
Видео: Това PNG е тайно отделение: 4 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-31 10:17
Вашето предизвикателство, скъпи читателю, е да разберете какво съобщение е скрито в изображението output.png, което съм поставил на github за вас. Можете да използвате кода на MessageHider там, за да извлечете съобщението. Ако сте объркани, моля, коментирайте по -долу и ще ви помогна да получите отговора! Можете дори да спрете да четете в момента, просто отидете на github, вземете кода и започнете да правите стеганография. Достатъчно казано, но моля, останете и аз ще ви кажа повече.
Двете снимки тук изглеждат идентични, но не са. Това са изображенията greenman-p.webp
Тази инструкция е вдъхновена от страхотно видео в YouTube. След като изгледахме това видео късно през нощта един ден и се мъчехме да измислим готина лекция и междинен изпит за напреднал клас по програмиране на Java, този проект се роди. Изображенията по -горе, заедно с кода, описан в тази инструкция, са безплатни в Github.
Консумативи
Ще ви трябва компютър и ще трябва да знаете как да компилирате и стартирате Java програма. Тази програма е само два кратки файла и ще трябва да я стартирате в командния ред.
Стъпка 1: Какво е стеганография
Трябва да гледате видеоклипа в YouTube, който свързах в предишната стъпка, но ето резюмето:
Ако трябва да скриете тайно съобщение до приятел, готин начин да го направите е със стеганографията. Идеята за стеганографията на изображението е проста; компютърните изображения са направени от пиксели и всеки пиксел е комбинация от червено, зелено и синьо. В много компютърни формати на изображения количествата червено, зелено и синьо във всеки пиксел се изразяват като стойности от 0-127. Така например, един много червен пиксел би имал червена стойност 127 и зелени и сини стойности нула. Номерът е следният: червеният интензитет 126 не се различава от червения интензитет 127 (за човешкото око). И така, като играем с плюс или минус един във всеки червен пиксел, можем да скрием битове в пиксели. Ако намерим подъл начин да съберем битовете обратно, можем да извлечем данните, които се промъкнахме в изображението!
Бъди креативен! Стеганографията може да се прави с всякакви цифрови носители! Можете да играете с битове в музикални или видео файлове например, но това изисква да направите повече изследвания извън обхвата на тази инструкция.
Стъпка 2: Как се кодира текстът на компютрите
Това, което следва тук, може да изисква диплома по CS или много хобистка страст, за да се разбере. Компютрите съхраняват данни в битове като 1s и 0s. Тези 1 и 0 обикновено са групирани в групи от 8 и се наричат "байтове". Както е обяснено тук и тук, има няколко начина, по които можем да кажем на компютъра да интерпретира байтове като текст. За да извлечете максимума от тази лекция/инструкции по стеганография, трябва повече или по -малко да разбирате ASCII и UTF8. Това са два често срещани начина за кодиране на езикови данни в поредица от байтове.
След като имате представа за тази тема, ще разберете това: В ASCII и UTF8 думата „the“е представена от следните байтове (в шестнадесетичен код) 0x74 0x68 0x65. В двоичен формат тези байтове са: 01110100b 01101000b 01101101b
Освен това ще разберете, че в UTF8 емоджи с усмихнато лице е представено от следните байтове (в шестнадесетичен) 0xF0 0x9F 0x98 0x80. В двоичен формат тези байтове са 11110000b 10011111b 10011000b 10000000b.
Във всеки случай ще видите на прикачения екран, че компютърът ми прави нещо с тези байтове. Подчертал съм ги в изхода на програмата със стрелки и голямо „ГЛЕДАЙТЕ!“.
Стъпка 3: Как работи програмата
Компилирането на програмата от github е лесно. Вземете репо, показан на първа страница тук и след това
Програмата се изпълнява така от командния ред: java Main input-p.webp
в приложените примери ще видите, че съм изпълнявал java Main greenman-p.webp
Вие ще направите същото.
Ако погледнете Main.java, ще видите, че това се случва:
- Програмата чете изображението в 2D масив
- Програмата превръща съобщението, което сте предоставили, в байтов масив (байт )
- След това програмата използва клас MessageHider, за да скрие байтовете на съобщенията в масива с изображения.
- След това програмата записва изображението 2d масив във файл (output.png) със скритите данни вътре. Ако погледнете това изображение, то не се различава от оригинала
- След това програмата чете output-p.webp" />
Така че почти кодът работи, както очакваме.
Стъпка 4: Заключение
Затова ви дадох някакъв работен код, доказателство, че работи под формата на изображение, и няколко бележки за лекции, които давам на студентите си. Аз също ти дадох предизвикателство! Прекарах няколко часа в писане на кода и подготовка на бележки за лекции, така че съжалявам, че тази инструкция няма много снимки. Ако смятате, че стеганографията е интересна, приемете моето предизвикателство!
Препоръчано:
Огледало за разпознаване на лице със секретно отделение: 15 стъпки (със снимки)
Огледало за разпознаване на лица с тайно отделение: Винаги съм бил заинтригуван от вечно творческите тайни отделения, използвани в истории, филми и други подобни. Така че, когато видях конкурса за тайни отделения, реших сам да експериментирам с идеята и да направя обикновено изглеждащо огледало, което отваря
Ако това, тогава това ArDino: 3 стъпки
Ако това тогава онова ArDino: За нашия училищен проект ако това тогава трябваше да направим интерактивен обект с помощта на arduino. Реших да направя едно приятно Ардино. Той е много талантлив и с едно натискане на бутон ще изпее темата за юрския парк за вас
Nike LED Swoosh! Това е чудесен декор за стая. Това е единственият проект, който всеки може да повтори .: 5 стъпки
Nike LED Swoosh! Това е чудесен декор за стая. Това е единственият проект, който всеки може да повтори .: Инструменти-измервателна лента-отвертка-запояващо желязо-трион-електрическа бормашина-шкурка Доставка -LED лента (RGB) 5m-LED контролер-Захранване 12V 4A-дървен материал 50-50-1500 2x-дървен материал 20-20-3000 2x-шперплат 500-1000mm-винтове (45mm) 150x-винтове (35mm) 30x-scr
Мини чекмедже за секретно отделение: 5 стъпки
Мини чекмедже за тайно отделение: Тази инструкция ще ви покаже как направих шкаф с чекмедже с тайно отделение. Ще използвам главно малки детайли, за да опиша действията, които извърших
Ако това, след това онова: Blackbox: Бягай, избягвай и скачай: 4 стъпки
Ако това тогава онова: Blackbox: Run, Dodge and Jump: My Name is Remco Liqui дробове и това е училищен проект If This Then That. Черната кутия: Run, Dodge and Jump е кутия, в която се съдържа игра, която може да се играе. Идеята зад това е, че играете игра и когато достигнете определен резултат (100 точки)