
Мазмуну:
2025 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2025-01-23 14:51


Сиздин көйгөйүңүз, урматтуу окурман, мен сиз үчүн githubго койгон output-p.webp
Бул жердеги эки сүрөт окшош, бирок алар эмес, булар мен жогоруда байланыштырган greenman-p.webp
Бул көрсөтмө улуу youtube видеосунун жетеги менен жазылган. Бир күнү бул видеону түн бир оокумда көргөндөн кийин, Java программалоо классынын эң сонун лекциясын жана орто сынагын ойлоп, бул долбоор жарыкка келди. Жогорудагы сүрөттөр, бул нускоочуда сүрөттөлгөн код менен бирге Githubда бекер.
Жабдуулар
Сизге компьютер керек болот жана сиз Java программасын кантип түзүүнү жана иштетүүнү билишиңиз керек болот. Бул программа болгону эки кыска файл жана сиз аны буйрук сабында иштетишиңиз керек.
1 -кадам: Steganography деген эмне?
Сиз мурунку кадамда байланыштырган youtube видеосун көрүшүңүз керек, бирок бул жерде кыскача:
Эгерде сиз досуңузга жашыруун билдирүүнү жашырышыңыз керек болсо, муну салкын ыкма Steganography менен жасоого болот. Сүрөт стеганографиясынын идеясы жөнөкөй; компьютердин сүрөттөрү пикселден жасалган жана ар бир пиксел кызыл, жашыл жана көк түстүн айкалышынан турат. Көптөгөн компьютерлердин сүрөт форматтарында ар бир пикселдеги кызыл, жашыл жана көк түстөр 0-127ге чейинки баалуулуктар катары көрсөтүлөт. Мисалы, абдан кызыл пикселдин кызыл мааниси 127, жашыл жана көк мааниси нөл болмок. Айла мындай: кызыл интенсивдүүлүк 126 кызыл интенсивдүүлүктөн айырмаланбайт (адамдын көзүнө). Ошентип, ар бир кызыл пикселде плюс же минус биринин жардамы менен биз биттерди пикселге жашыра алабыз. Эгерде биз биттерди кайра чогултуунун тымызын жолун тапсак, анда биз сүрөттүн ичине кирип кеткен маалыматтарды ала алабыз!
Чыгармачыл бол! Стеганографияны каалаган санарип медиа менен жасаса болот! Сиз, мисалы, музыкада же видео файлдарда биттер менен ойной аласыз, бирок бул сизге бул көрсөтмөнүн чегинен тышкары дагы көбүрөөк изилдөө жүргүзүүнү талап кылат.
2 -кадам: Текст компьютерде кантип коддолгон

Бул жерде айтылгандарды түшүнүү үчүн CS даражасын же көптөгөн хоббистик кумарды талап кылышы мүмкүн. Компьютерлер биттерди 1с жана 0с катары сакташат. Бул 1лер жана 0лер адатта 8ден турган топторго бөлүнөт жана "байт" деп аталат. Бул жерде жана бул жерде түшүндүрүлгөндөй, компьютерге байттарды текст катары чечмелөөнүн бир нече жолу бар. Бул стеганография лекциясынан көбүрөөк пайда алуу үчүн/аздыр -көптүр ASCII жана UTF8ди түшүнүшүңүз керек. Бул байттардын катарында тилдик маалыматтарды коддоонун эки жалпы жолу.
Сиз бул тема жөнүндө түшүнүккө ээ болгондон кийин, муну түшүнөсүз: ASCII жана UTF8де "the" сөзү төмөнкү байттар менен көрсөтүлөт (он алтылык) 0x74 0x68 0x65. Бинардык түрдө бул байттар: 01110100b 01101000b 01101101b
Мындан тышкары, UTF8де Grining Face Emoji төмөнкү байттар (он алтылык) менен көрсөтүлгөнүн түшүнөсүз 0xF0 0x9F 0x98 0x80. Бинардык бул байттар 11110000b 10011111b 10011000b 10000000b.
Кандай болбосун, тиркелген скриншотто менин компьютерим бул байттар менен бир нерсе кылып жатканын көрөсүз. Мен аларды программанын чыгарылышында жебелер жана чоң "LOOK!" Менен бөлүп көрсөттүм.
3 -кадам: Программа кантип иштейт
Githubдан программаны түзүү оңой. Бул жерде жана андан кийин алдыңкы бетте көрсөтүлгөн репо алыңыз
Программа буйрук сабынан мындай иштейт: java Main input-p.webp
тиркелген мисалдарда мен java Main greenman-p.webp
Сиз дагы ушундай кыласыз.
Эгер Main.java карасаңыз, анда эмне болуп жатканын көрөсүз:
- Программа сүрөттү 2D массивге окуйт
- Программа сиз берген билдирүүнү байт массивине айлантат (байт )
- Андан кийин программа MessageHider классын колдонуп, сүрөт массивиндеги билдирүү байттарын жашырат.
- Андан кийин программа сүрөттү 2д массивин ичинде жашырылган маалыматтары бар файлга (output.png) жазат. Бул сүрөттү карасаңыз, оригиналдан айырмаланбайт
- Андан кийин программа output-p.webp" />
Код дээрлик биз күткөндөй иштейт.
4 -кадам: Жыйынтык
Ошентип, мен сизге жумушчу кодун, анын сүрөт түрүндө иштээрин тастыктаган документти жана университеттин студенттерине берген лекцияларымды бердим. Мен да сага чакырык таштадым! Мен кодду жазууга жана лекциялардын конспектилерин даярдоого бир нече саат кетирдим, андыктан бул көрсөтмөдө көп сүрөттөр жок экенине өкүнөм. Эгерде сиз стеганографияны кызыктуу деп ойлосоңуз, менин чакырыгымды кабыл алыңыз!
Сунушталууда:
Жашыруун бөлүм менен жүздү таануу күзгүсү: 15 кадам (сүрөттөр менен)

Беттин таануу күзгүсү жашыруун бөлүм менен: Мен дайыма окуяларда, кинолордо жана ушул сыяктуу нерселерде колдонулган дайыма жаратуучу жашыруун бөлүмдөргө кызыгып келем. Ошентип, мен жашыруун купе сынагын көргөндө, мен бул идеяны өзүм эксперимент кылууну чечтим жана жөнөкөй ачылуучу күзгү жасоону чечтим
Nike LED Swoosh! Бул бөлмө үчүн сонун декор. Бул ар бир адам кайталай турган бир долбоор.: 5 кадам

Nike LED Swoosh! Бул бөлмө үчүн сонун декор. Бул ар бир адам кайталай ала турган бир долбоор. .: Куралдар-тасма өлчөгүч-отвертка 2х жыгач 20-20-3000 2х фанера 500-1000мм-винт (45мм) 150х-бурама (35мм) 30х-скр
Жашыруун которгуч менен ички жашыруун USB таяк: 5 кадам

Жашыруун которгуч менен ички жашыруун USB таяк: Жакында менде Tails OS* экинчи операциялык тутуму дайыма жанымда болгусу келген көйгөй пайда болду. Бирок мен USB таягын көтөргүм келбеди жана катуу дисктин туруктуу орнотулушу иштеп чыгуучулар тарабынан иштелип чыккан эмес, ошондуктан мен дагы бир нерсени ойлоп таптым
Arduino Singleplayer понгу- Эгерде бул, анда бул: 5 кадам

Arduino Singleplayer понгу-Эгерде бул, анда: Dit arduino долбоору 2 спеллер понгунун проектиси болуп саналат (https: //www.instructables.com/id/Portable-Arduino-a …) жалгыз оюнчу AI.Onderdelen менен жолугушту: Arduino Uno Nokia 5100 scherm. https: // ww
Диск USB + Жашыруун Жашыруун Диск: 7 кадам

Дискет USB + Жашыруун Жашыруун Диск: Мен жаңы долбоорлордун бөлүктөрүн эски дискетадан куткарып алган башка долбоордун артынан. Мен дагы бир нече USB портторун жасагым келди, бирок жаңы порттор үчүн компьютердин артында тегеренип иштегим келбеди, бирок мага алардын кантип жашырылгандыгы жакты