Përmbajtje:

Ky PNG Compshtë Ndarje Sekrete: 4 Hapa
Ky PNG Compshtë Ndarje Sekrete: 4 Hapa

Video: Ky PNG Compshtë Ndarje Sekrete: 4 Hapa

Video: Ky PNG Compshtë Ndarje Sekrete: 4 Hapa
Video: 9 ЛУЧШИХ плагинов ChatGPT для маркетинга и создания контента 2024, Nëntor
Anonim
Ky Compshtë Ndarje Sekrete
Ky Compshtë Ndarje Sekrete
Ky Compshtë Ndarje Sekrete
Ky Compshtë Ndarje Sekrete

Sfida juaj, lexues i dashur, është të kuptoni se çfarë mesazhi fshihet në imazhin output-p.webp

Dy fotografitë këtu duken identike, por nuk janë. Këto janë imazhet e greenman-p.webp

Ky udhëzues është frymëzuar nga një video e shkëlqyeshme në youtube. Pasi e shikuat këtë video natën vonë një ditë dhe u munduat të mendoni për një leksion dhe provim afatmesëm për një klasë të përparuar programimi Java, ky projekt lindi. Imazhet e mësipërme, së bashku me kodin e përshkruar në këtë udhëzues, janë falas në Github.

Furnizimet

Do t'ju duhet një kompjuter dhe do të duhet të dini se si të përpiloni dhe drejtoni një program Java. Ky program është vetëm dy skedarë të shkurtër dhe do t'ju duhet ta ekzekutoni në vijën e komandës.

Hapi 1: Çfarë është Steganografia

Ju duhet të shikoni videon në youtube që lidha në hapin e mëparshëm, por këtu është përmbledhja:

Nëse keni nevojë të fshehni një mesazh sekret për një mik, një mënyrë interesante për ta bërë këtë është me Steganografi. Ideja e Steganografisë së imazhit është e thjeshtë; imazhet kompjuterike janë bërë nga piksele, dhe çdo piksel është një kombinim i ngjyrës së kuqe, jeshile dhe blu. Në shumë formate të imazhit kompjuterik sasitë e kuqe, jeshile dhe blu në secilën piksel shprehen si vlera nga 0-127. Kështu, për shembull, një piksel shumë i kuq do të kishte një vlerë të kuqe prej 127 dhe vlera jeshile dhe blu zero. Truku është ky: një intensitet i kuq prej 126 nuk mund të dallohet nga një intensitet i kuq prej 127 (tek syri i njeriut). Dhe kështu duke u marrë me plus ose minus një në çdo piksel të kuq ne mund të fshehim copa në piksel. Nëse gjejmë një mënyrë të fshehtë për të mbledhur pjesët përsëri, mund të marrim të dhënat që kemi futur në imazh!

Behu krijues! Steganografia mund të bëhet me çdo media dixhitale! Për shembull, mund të luani me pjesë në skedarë muzikorë ose video, por kjo kërkon që ju të bëni më shumë kërkime jashtë fushës së këtij udhëzimi.

Hapi 2: Si Kodohet Teksti në Kompjuter

Si Kodohet Teksti në Kompjuter
Si Kodohet Teksti në Kompjuter

Ajo që vijon këtu mund të kërkojë një diplomë në CS ose shumë pasion hobbyist për t'u kuptuar. Kompjuterët i ruajnë të dhënat në bit si 1s dhe 0s. Këto 1s dhe 0s zakonisht grupohen në tufa prej 8 dhe referohen si "bytes". Siç shpjegohet këtu dhe këtu ka disa mënyra se si mund t'i themi një kompjuteri të interpretojë bajtët si tekst. Për të përfituar sa më shumë nga kjo ligjëratë/udhëzuese steganografike, duhet të kuptoni pak a shumë ASCII dhe UTF8. Këto janë dy mënyra të zakonshme për të koduar të dhënat gjuhësore në një seri bajtësh.

Pasi të keni një ide në lidhje me këtë temë, do ta kuptoni këtë: Në ASCII dhe UTF8 fjala "the" përfaqësohet nga bajtët e mëposhtëm (në gjashtëkëndësh) 0x74 0x68 0x65. Në binar, këto bajt janë: 01110100b 01101000b 01101101b

Për më tepër, do të kuptoni që në UTF8 një Emoji me fytyrë të qeshur përfaqësohet nga bajtët e mëposhtëm (në gjashtëkëndësh) 0xF0 0x9F 0x98 0x80. Në binar këto bajt janë 11110000b 10011111b 10011000b 10000000b.

Në çdo rast do të shihni në pamjen e bashkangjitur të ekranit se kompjuteri im po bën diçka me këto byte. Unë i kam theksuar ato në daljen e programit me shigjeta dhe një "SHIKIM!" Të madh.

Hapi 3: Si funksionon programi

Përpilimi i programit nga github është i lehtë. Merrni repon e treguar në faqen e parë këtu dhe pastaj

Programi ekzekutohet kështu nga rreshti i komandës: java Main input-p.webp

në shembujt e bashkangjitur do të shihni se kam drejtuar java Main greenman-p.webp

Ju do të bëni të njëjtën gjë.

Nëse shikoni në Main.java do të shihni se kjo është ajo që ndodh:

  1. Programi e lexon imazhin në një grup 2D
  2. Programi e kthen mesazhin që keni dhënë në një grup byte (bajt
  3. Programi pastaj përdor një klasë MessageHider për të fshehur bajtët e mesazheve në grupin e imazhit.
  4. Programi pastaj shkruan grupin e imazhit 2d në një skedar (output.png) me të dhënat e fshehura brenda. Nëse shikoni këtë imazh, ai nuk dallohet nga origjinali
  5. Programi pastaj lexon output-p.webp" />

Kodi funksionon ashtu siç e presim.

Hapi 4: Përfundimi

Kështu që unë ju kam dhënë një kod pune, dëshmi se funksionon në formën e një imazhi, dhe disa shënime leksionesh që u jap studentëve të mi të universitetit. Unë gjithashtu ju dhashë një sfidë! Kalova disa orë duke shkruar kodin dhe duke përgatitur shënime leksioni, kështu që më vjen keq që ky udhëzues nuk ka shumë fotografi. Nëse mendoni se steganografia është interesante, ju lutemi pranoni sfidën time!

Recommended: