Агуулгын хүснэгт:

Энэхүү PNG бол нууц тасалгаа: 4 алхам
Энэхүү PNG бол нууц тасалгаа: 4 алхам

Видео: Энэхүү PNG бол нууц тасалгаа: 4 алхам

Видео: Энэхүү PNG бол нууц тасалгаа: 4 алхам
Видео: 15 гаджетов и снаряжения для всех сезонов 2024, Арваннэгдүгээр
Anonim
Энэхүү бол нууц тасалгаа юм
Энэхүү бол нууц тасалгаа юм
Энэхүү бол нууц тасалгаа юм
Энэхүү бол нууц тасалгаа юм

Эрхэм уншигч таны хувьд сорилт бол миний танд github дээр тавьсан output-p.webp

Энд байгаа хоёр зураг ижил харагдаж байна, гэхдээ эдгээр нь миний дээр холбосон greenman-p.webp

Энэхүү зааварчилгаа нь youtube -ийн гайхалтай видеогоор өдөөгдсөн болно. Нэгэн өдөр энэ видеог шөнө дөлөөр үзээд Java програмчлалын гүнзгийрүүлсэн ангийн лекц болон завсрын шалгалтын талаар бодож ядан байж энэ төсөл мэндэллээ. Дээрх зургууд, энэ зааварт заасан кодын хамт Github дээр үнэгүй байдаг.

Хангамж

Танд компьютер хэрэгтэй бөгөөд та Java програмыг хэрхэн хөрвүүлэх, ажиллуулахаа мэдэх хэрэгтэй болно. Энэ програм нь ердөө хоёр богино файл бөгөөд та үүнийг тушаалын мөрөн дээр ажиллуулах хэрэгтэй болно.

Алхам 1: Стеганографи гэж юу вэ

Та өмнөх алхам дээр холбосон youtube видеог үзэх ёстой, гэхдээ энд товчлол байна:

Хэрэв та найздаа нууц зурвас нуух шаардлагатай бол үүнийг хийх гайхалтай арга бол Steganography юм. Зургийн стеганографийн санаа нь энгийн; компьютерийн зургийг пикселээр хийсэн бөгөөд пиксел бүр нь улаан, ногоон, цэнхэр өнгийн хослол юм. Компьютерийн олон зургийн форматаар пиксел тус бүрийн улаан, ногоон, цэнхэр өнгийг 0-127 хүртэлх утгуудаар илэрхийлдэг. Жишээлбэл, маш улаан пикселийн улаан утга нь 127, ногоон, цэнхэр нь тэг болно. Заль мэх нь: 126 -ийн улаан эрч хүчийг 127 -ийн улаан эрч хүчнээс (хүний нүд рүү) ялгах боломжгүй юм. Тиймээс улаан пиксел бүрт нэмэх эсвэл хасах тоог нэгээр нь хийснээр бид битүүдийг пикселээр нуух боломжтой болно. Хэрэв бид битүүдийг буцааж цуглуулах зальтай аргыг олж харвал бид зураг руу оруулсан өгөгдлөө олж авах боломжтой болно!

Бүтээлч байх! Стеганографийг ямар ч дижитал медиа ашиглан хийж болно! Жишээлбэл, та хөгжим эсвэл видео файл дээр бит тоглож болно, гэхдээ энэ зааварчилгааны хүрээнээс гадуур илүү их судалгаа хийх шаардлагатай болно.

Алхам 2: Текстийг компьютер дээр хэрхэн кодчилдог

Компьютер дээр текстийг хэрхэн кодчилдог
Компьютер дээр текстийг хэрхэн кодчилдог

Эндээс дараахь зүйлийг ойлгохын тулд CS зэрэгтэй байх эсвэл хобби сонирхогчийн хүсэл тэмүүлэл шаардагдаж магадгүй юм. Компьютерууд өгөгдлөө бит ба 1 сек хэлбэрээр хадгалдаг. Эдгээр 1 ба 0 -ийг ихэвчлэн 8 -аар нь бүлэглэж "байт" гэж нэрлэдэг. Энд болон энд тайлбарласны дагуу бид компьютерт байтуудыг текст гэж тайлбарлах хэд хэдэн арга байдаг. Энэхүү стеганографийн лекцээс хамгийн их ашиг хүртэхийн тулд та ASCII ба UTF8 -ийг бага багаар ойлгох хэрэгтэй. Эдгээр нь хэлний өгөгдлийг хэд хэдэн байтаар кодлох нийтлэг хоёр арга юм.

Та энэ сэдвийн талаар ойлголттой болсны дараа үүнийг ойлгох болно: ASCII ба UTF8 дээр "the" гэдэг үгийг дараах байтаар (зургаан өнцөгт) 0x74 0x68 0x65 илэрхийлнэ. Хоёртын хувьд эдгээр байтууд нь: 01110100b 01101000b 01101101b

Цаашилбал, UTF8 -д инээмсэглэсэн нүүрний эможи нь дараах байтуудаар (зургаан өнцөгт хэлбэрээр) 0xF0 0x9F 0x98 0x80 дүрслэгддэг болохыг та ойлгох болно. Хоёртын хувьд эдгээр байт нь 11110000b 10011111b 10011000b 10000000b байна.

Ямар ч тохиолдолд хавсаргасан дэлгэцийн агшинд миний компьютер эдгээр байтаар ямар нэгэн зүйл хийж байгааг та харах болно. Би тэдгээрийг програмын гаралт дээр сумаар харуулсан бөгөөд том "LOOK!".

Алхам 3: Хөтөлбөр хэрхэн ажилладаг

Github програмыг эмхэтгэхэд хялбар байдаг. Нүүр хуудсан дээр үзүүлсэн репо -г эндээс аваарай

Хөтөлбөрийг тушаалын мөрөөс ингэж ажиллуулдаг: java Main input-p.webp

хавсаргасан жишээн дээр би java Main greenman-p.webp

Та ижил зүйлийг хийх болно.

Хэрэв та Main.java -г харвал ийм зүйл болж байгааг харах болно.

  1. Хөтөлбөр нь зургийг 2D массив хэлбэрээр уншдаг
  2. Хөтөлбөр нь таны өгсөн мессежийг байтын массив болгон хувиргадаг (байт )
  3. Дараа нь програм нь зургийн массив дахь мессежийн байтыг нуухын тулд MessageHider ангийг ашигладаг.
  4. Дараа нь програм нь 2d массивыг дотор нь далд өгөгдөл бүхий файлд (output.png) бичдэг. Хэрэв та энэ зургийг харвал энэ нь анхны хувилбараас ялгагдахгүй юм
  5. Дараа нь програм нь output-p.webp" />

Код бараг бидний хүлээж байгаа шиг ажилладаг.

Алхам 4: Дүгнэлт

Тиймээс би танд ажлын код, дүрс хэлбэрээр ажилладаг болохыг нотлох баримт, их сургуулийн оюутнуудад өгдөг лекцийн тэмдэглэлийг өгсөн. Би бас танд сорилт өгсөн! Би код бичиж, лекцийн тэмдэглэл бэлтгэхэд хэдэн цаг зарцуулсан тул энэ заавар нь олон зураггүй байгаад харамсаж байна. Хэрэв та стеганограф сонирхолтой гэж бодож байвал миний сорилтыг хүлээн авна уу!

Зөвлөмж болгож буй: