Sisukord:
- Tarvikud
- Samm: mis on steganograafia
- 2. samm: kuidas teksti arvutites kodeeritakse
- Samm: kuidas programm töötab
- 4. samm: järeldus
Video: See PNG on salajane sahtel: 4 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-31 10:18
Hea väljakutse, hea lugeja, on välja selgitada, milline sõnum on väljundis-p.webp
Siin olevad kaks pilti näevad välja identsed, kuid mitte need. Need on greenman-p.webp
See juhend on inspireeritud suurepärasest YouTube'i videost. Pärast seda, kui vaatasin seda videot ühel õhtul hilisõhtul ja nägin vaeva, et mõelda välja lahe loeng ja vaheeksam täiustatud Java programmeerimisklassi jaoks, sündis see projekt. Ülaltoodud pildid koos selles juhendis kirjeldatud koodiga on Githubis tasuta.
Tarvikud
Teil on vaja arvutit ja peate teadma, kuidas Java -programmi kompileerida ja käivitada. See programm on vaid kaks lühikest faili ja peate selle käsurealt käivitama.
Samm: mis on steganograafia
Peaksite vaatama YouTube'i videot, mille ma eelmises etapis linkisin, kuid siin on kokkuvõte:
Kui teil on vaja sõbrale salajast sõnumit varjata, on lahe viis seda teha Steganograafia abil. Kujutise steganograafia idee on lihtne; arvutipildid koosnevad pikslitest ja iga piksel on punase, rohelise ja sinise kombinatsioon. Paljudes arvutipiltide vormingutes on punase, rohelise ja sinise kogused igas pikslis väljendatud väärtustena 0-127. Nii näiteks oleks väga punase piksli punane väärtus 127 ning rohelise ja sinise väärtus null. Nipp on järgmine: punast intensiivsust 126 ei saa eristada punasest intensiivsusest 127 (inimsilmale). Nii et igas punases pikslis pluss või miinus üks näppides saame bitid pikslitesse peita. Kui leiame varjatud viisi, kuidas bitte tagasi üles koguda, saame pildile hiilinud andmed kätte saada!
Ole loominguline! Steganograafiat saab teha mis tahes digitaalse meediaga! Saate mängida näiteks muusika- või videofailide bitti, kuid see nõuab, et teeksite rohkem uurimistööd väljaspool selle juhendi reguleerimisala.
2. samm: kuidas teksti arvutites kodeeritakse
Järgnev võib vajada arusaamist kraadist CS -is või palju harrastajate kirge. Arvutid salvestavad andmeid bitidena 1 ja 0 sekunditena. Need 1 -d ja 0 -d on tavaliselt rühmitatud 8 -liikmelisteks kimpudeks ja neid nimetatakse "baitideks". Nagu siin ja siin on selgitatud, on vähe võimalusi, kuidas me saame käsutada arvutil baite tekstina tõlgendama. Et sellest steganograafia loengust/juhendatavast maksimaalselt kasu saada, peate rohkem või vähem aru saama ASCII -st ja UTF8 -st. Need on kaks levinumat viisi keeleandmete baitide seerias kodeerimiseks.
Kui teil on selle teema kohta idee, saate sellest aru: ASCII ja UTF8 puhul tähistab sõna "the" järgmisi baite (heksades) 0x74 0x68 0x65. Binaarides on need baidid järgmised: 01110100b 01101000b 01101101b
Lisaks saate aru, et UTF8 -s on naeratava näo emotikon esindatud järgmiste baitidega (heksades) 0xF0 0x9F 0x98 0x80. Binaarides on need baidid 11110000b 10011111b 10011000b 10000000b.
Igal juhul näete lisatud ekraanipildil, et mu arvuti teeb nende baitidega midagi. Olen neid programmi väljundis nooltega ja suure "VAATA!" Esile tõstnud.
Samm: kuidas programm töötab
Programmi koostamine githubist on lihtne. Hankige repot siin ja siis esilehel
Programm käivitatakse käsurealt järgmiselt: java Main input-p.webp
lisatud näidetes näete, et olen käivitanud java Main greenman-p.webp
Sa teed sama asja.
Kui vaatate Main.java, näete, et see juhtub nii:
- Programm loeb pildi 2D -massiiviks
- Programm muudab teie esitatud sõnumi baidimassiiviks (bait )
- Seejärel kasutab programm MessageHider klassi, et peita pildimassiivi sõnumibaidid.
- Seejärel kirjutab programm pildi 2d massiivi faili (output.png) koos peidetud andmetega. Kui vaatate seda pilti, on see originaalist eristamatu
- Seejärel loeb programm output-p.webp" />
Nii et kood töötab peaaegu nii, nagu me ootame.
4. samm: järeldus
Nii et ma olen andnud teile mõne toimiva koodi, tõestuse selle toimimise kohta kujutise kujul ja mõned loengukonspektid, mida ma oma üliõpilastele annan. Esitasin teile ka väljakutse! Kulutasin paar tundi koodi kirjutamisele ja loengukonspektide ettevalmistamisele, nii et mul on kahju, et sellel juhendil pole palju pilte. Kui te arvate, et steganograafia on huvitav, võtke vastu minu väljakutse!
Soovitan:
Ekspressioonirobot- kui see kui see: 5 sammu
Expression Robot- Kui see on see: Hallo ja tervitage Expression Robot Instructable.DIt is de instructable waar ik aan heb gewerkt tijdens mijn les van If This Than That. De Expression robot is gemaakt met als doel jou als gebruiker te stimuleren bij jezelfreflectie . Robotite koostöö
Kui see siis see ArDino: 3 sammu
Kui see siis see ArDino: meie kooliprojekti jaoks, kui see siis see, et me pidime tegema arduino abil interaktiivse objekti. Otsustasin teha kaisulise Ardino. Ta on väga andekas ja ühe nupuvajutusega laulab teile jurassic pargi teema
Salajane sahtel: 4 sammu
Salajane sahtel: Mind paelusid alati salatoad või peidetud sahtlid. See on põhjus, miks otsustasin üks päev pärast Batmani filmi vaatamist oma peidetud sahtli ehitada. See projekt koosneb büstist, millel on salajane nupp, mille saate paigutada kõikjale
Nike LED Swoosh! See on toa jaoks suurepärane sisustus. See on üks projekt, mida kõik saavad korrata: 5 sammu
Nike LED Swoosh! See on toa jaoks suurepärane sisustus. See on üks projekt, mida igaüks saab korrata. Tööriistad-mõõdulint-kruvikeeraja-jootekolviga töötav saag-elektriline puur-liivapaber Toide-LED-riba (RGB) 5m-LED-kontroller-toiteallikas 12V 4A-puit 50-50-1500 2x puit 20-20-3000 2x vineer 500-1000mm-kruvid (45mm) 150x-kruvid (35mm) 30x-sc
Veekindlad kõlarid, mis hõljuvad - "see hõljub, see kannab ja see raputab noote!": 7 sammu (koos piltidega)
Veekindlad kõlarid, mis hõljuvad - "It Floats, It Totes and It Rocks the Notes!": See veekindel kõlarite projekt sai inspiratsiooni paljudest reisidest Gila jõele Arizonas (ja SNL -i " I'm on a Boat! &Quot; ). Me hõljume mööda jõge alla või kinnitame kaldale jooni, et meie ujukid jääksid otse meie laagriplatsi juurde. Kõik h