Satura rādītājs:
- Piegādes
- 1. darbība: kas ir steganogrāfija
- 2. darbība. Kā teksts tiek kodēts datoros
- 3. darbība: kā programma darbojas
- 4. solis. Secinājums
Video: Šis PNG ir slepenais nodalījums: 4 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-31 10:22
Jūsu izaicinājums, dārgais lasītāj, ir izdomāt, kāds ziņojums ir paslēpts output-p.webp
Abi attēli šeit izskatās identiski, bet tie nav Šie ir greenman-p.webp
Šo pamācību iedvesmojis lielisks YouTube videoklips. Pēc tam, kad kādu dienu vēlu vakarā noskatījos šo video un mēģināju izdomāt foršu lekciju un vidusposma eksāmenu padziļinātai Java programmēšanas klasei, radās šis projekts. Iepriekš minētie attēli kopā ar kodu, kas aprakstīts šajā pamācībā, vietnē Github ir bez maksas.
Piegādes
Jums būs nepieciešams dators, un jums jāzina, kā apkopot un palaist Java programmu. Šī programma ir tikai divi īsi faili, un jums tā būs jāpalaiž komandrindā.
1. darbība: kas ir steganogrāfija
Jums vajadzētu noskatīties YouTube videoklipu, kuru es saistīju iepriekšējā solī, bet šeit ir kopsavilkums:
Ja jums ir jāslēpj draugam slepena ziņa, lielisks veids, kā to izdarīt, ir Steganogrāfija. Attēla Steganogrāfijas ideja ir vienkārša; datora attēlus veido pikseļi, un katrs pikselis ir sarkanā, zaļā un zilā kombinācija. Daudzos datora attēlu formātos sarkanā, zaļā un zilā krāsa katrā pikseļā ir izteikta kā vērtības no 0 līdz 127. Tā, piemēram, ļoti sarkanā pikseļa sarkanā vērtība būtu 127, bet zaļā un zilā - nulle. Triks ir šāds: sarkanā intensitāte 126 nav atšķirama no sarkanās intensitātes 127 (cilvēka acij). Un tā, iepludinot plus vai mīnus vienu katrā sarkanajā pikseļā, mēs varam paslēpt bitus pikseļos. Ja mēs atradīsim viltīgu veidu, kā savākt bitus atpakaļ, mēs varam atgūt datus, kurus esam iemūžinājuši attēlā!
Esi radošs! Steganogrāfiju var veikt ar jebkuru digitālo mediju! Jūs varat spēlēt, piemēram, ar mūzikas vai video failu bitiem, bet tas prasa jums veikt vairāk pētījumu ārpus šīs instrukcijas darbības jomas.
2. darbība. Kā teksts tiek kodēts datoros
Lai to saprastu, var būt vajadzīgs grāds CS vai daudz hobiju aizraušanās. Datori datus uzglabā bitos kā 1s un 0s. Šie 1 un 0 parasti tiek sagrupēti 8 grupās un apzīmēti kā "baiti". Kā paskaidrots šeit un šeit, ir daži veidi, kā mēs varam likt datoram interpretēt baitus kā tekstu. Lai gūtu maksimālu labumu no šīs steganogrāfijas lekcijas/pamācības, jums vairāk vai mazāk jāizprot ASCII un UTF8. Šie ir divi izplatīti veidi, kā kodēt valodas datus baitu sērijā.
Tiklīdz jums būs priekšstats par šo tēmu, jūs sapratīsit to: ASCII un UTF8 vārdu "the" attēlo šādi baiti (heksadecimālā formā) 0x74 0x68 0x65. Binārā veidā šie baiti ir: 01110100b 01101000b 01101101b
Turklāt jūs sapratīsit, ka UTF8 smaidošas sejas emocijzīmes attēlo šādi baiti (heksadecimālā formā) 0xF0 0x9F 0x98 0x80. Binārā šie baiti ir 11110000b 10011111b 10011000b 10000000b.
Jebkurā gadījumā pievienotajā ekrānuzņēmumā redzēsit, ka mans dators kaut ko dara ar šiem baitiem. Es tos programmas iznākumā esmu izcēlis ar bultiņām un lielu “SKATIES!”.
3. darbība: kā programma darbojas
Programmas apkopošana no github ir vienkārša. Šeit un pēc tam iegūstiet repo, kas parādīts pirmajā lapā
Programma tiek palaista šādi no komandrindas: java Galvenā input-p.webp
pievienotajos piemēros redzēsit, ka esmu palaidis java Main greenman-p.webp
Jūs darīsit to pašu.
Ja paskatās uz Main.java, jūs redzēsit, ka tas notiek šādi:
- Programma nolasa attēlu 2D masīvā
- Programma pārvērš jūsu iesniegto ziņojumu baitu masīvā (baits )
- Pēc tam programma izmanto klasi MessageHider, lai paslēptu ziņu baitus attēlu masīvā.
- Pēc tam programma izraksta attēla 2d masīvu failā (output.png) ar slēptiem datiem. Ja paskatās uz šo attēlu, tas neatšķiras no oriģināla
- Pēc tam programma nolasa output-p.webp" />
Tātad gandrīz kods darbojas tā, kā mēs gaidām.
4. solis. Secinājums
Tāpēc es jums esmu devis kādu darba kodu, pierādījumu, ka tas darbojas attēla veidā, un dažas lekciju piezīmes, kuras es pasniedzu saviem universitātes studentiem. Es tev arī uzaicināju izaicinājumu! Es pavadīju dažas stundas, rakstot kodu un sagatavojot lekciju pierakstus, tāpēc atvainojiet, ka šajā pamācībā nav daudz attēlu. Ja jūs domājat, ka steganogrāfija ir interesanta, lūdzu, pieņemiet manu izaicinājumu!
Ieteicams:
Slepenais sienas pulkstenis: 27 soļi (ar attēliem)
Slepenais sienas pulkstenis: laika ritējumu mēs nevaram kontrolēt. Tas notiek tādā pašā ātrumā, ja mēs guļam, esam nomodā, garlaicīgi vai esam saderinājušies. Ar pašreizējiem notikumiem ir svarīgi atcerēties, ka laiks iet. Kamēr mēs gaidām laiku, kāpēc gan neizdarīt kaut ko
Mazs ziņojumu slēpējs/slepenais aģents Chapstick: 4 soļi (ar attēliem)
Mazu ziņojumu slēpējs/slepenais aģents Čepstiks: Vai meklējat vietu, kur saglabāt nelielu ziņojumu savam draugam? Kā ir ar slepenā aģenta darbu, kuru vienmēr esi vēlējies? Šis vienkāršais dizains ir ideāli piemērots šādām situācijām, un to ir ļoti lēti izgatavot
Slepenais grāmatu gaismas slēdzis: 12 soļi (ar attēliem)
Slepenais grāmatu gaismas slēdzis: Pirms vairākiem gadiem mūsu viesistabā grāmatu skapja augšpusē es uzstādīju LED gaismu sloksni. Mana sākotnējā doma bija izmantot vienkāršu slēdzi, lai kontrolētu šīs gaismas, bet tad mans prāts apmetās uz kaut ko daudz interesantāku - maģisko bo
Slepenais Lego USB: 11 soļi (ar attēliem)
Slepenais Lego USB: Es, ar pārpilnību lego klucīšu un veco USB, man prātā ienāca tikai viena doma ………. SupersecrethiddenlegobrickUSBstick! (jā, tam vajadzēja būt vienam vārdam.) Šiem blēžiem nav iespēju atrast USB, ja tas ir
Diskete USB + slēptais slepenais disks: 7 soļi
Floppy USB + Slēpts slepenais diskdzinis: sekojot citam projektam, kurā es izglābu detaļas jauniem projektiem no novecojušas disketes. Es gribēju izveidot vēl dažus USB portus, bet negribēju maldīties ap datora aizmuguri jaunajiem portiem, bet man patika, kā tie tika paslēpti