Cuprins:
- Provizii
- Pasul 1: Ce este Steganografia
- Pasul 2: Cum este codat textul pe computere
- Pasul 3: Cum funcționează programul
- Pasul 4: Concluzie
Video: Acest PNG este un compartiment secret: 4 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-31 10:24
Provocarea ta, dragă cititoare, este să-ți dai seama ce mesaj este ascuns în imaginea output-p.webp
Cele două imagini de aici arată identice, dar nu sunt. Acestea sunt imaginile greenman-p.webp
Acest instructable este inspirat de un videoclip grozav pe YouTube. După ce am vizionat acest videoclip noaptea târziu într-o zi și m-am străduit să ne gândim la o prelegere interesantă și la un examen intermediar pentru o clasă avansată de programare Java, s-a născut acest proiect. Imaginile de mai sus, împreună cu codul descris în acest instructable, sunt gratuite pe Github.
Provizii
Veți avea nevoie de un computer și va trebui să știți cum să compilați și să rulați un program Java. Acest program este doar două fișiere scurte și va trebui să îl rulați pe linia de comandă.
Pasul 1: Ce este Steganografia
Ar trebui să urmăriți videoclipul pe YouTube pe care l-am legat în pasul anterior, dar iată rezumatul:
Dacă trebuie să ascundeți un mesaj secret către un prieten, un mod interesant de a face acest lucru este cu Steganography. Ideea Steganografiei de imagine este simplă; imaginile computerizate sunt realizate din pixeli, iar fiecare pixel este o combinație de roșu, verde și albastru. În multe formate de imagini de computer, cantitățile de roșu, verde și albastru din fiecare pixel sunt exprimate ca valori de la 0 la 127. De exemplu, un pixel foarte roșu ar avea o valoare roșie de 127 și valori verde și albastru de zero. Trucul este următorul: o intensitate roșie de 126 nu poate fi distinsă de o intensitate roșie de 127 (pentru un ochi uman). Și astfel, jucând cu plus sau minus unul în fiecare pixel roșu, putem ascunde biți în pixeli. Dacă găsim o modalitate subtilă de a aduna biții înapoi, putem prelua datele pe care le-am strecurat în imagine!
Fii creativ! Steganografia se poate face cu orice suport digital! Puteți juca cu biți în muzică sau fișiere video, de exemplu, dar acest lucru vă cere să mergeți să faceți mai multe cercetări în afara sferei acestui instructable.
Pasul 2: Cum este codat textul pe computere
Ceea ce urmează aici ar putea necesita o diplomă în CS sau o mulțime de pasiune hobbyistă pentru a înțelege. Calculatoarele stochează date în biți ca 1s și 0s. Aceste 1 și 0 sunt grupate în mod obișnuit în ciorchini de 8 și denumite „octeți”. După cum s-a explicat aici și aici, există câteva modalități prin care putem spune unui computer să interpreteze octeții ca text. Pentru a profita la maximum de această prelegere / instruire de steganografie, trebuie să înțelegeți mai mult sau mai puțin ASCII și UTF8. Acestea sunt două moduri comune de codificare a datelor lingvistice într-o serie de octeți.
După ce ați făcut o idee despre acest subiect, veți înțelege acest lucru: în ASCII și UTF8 cuvântul „the” este reprezentat de următorii octeți (în hex) 0x74 0x68 0x65. În binar, acești octeți sunt: 01110100b 01101000b 01101101b
Mai mult, veți înțelege că în UTF8 un Emoji cu față rânjitoare este reprezentat de următorii octeți (în hex) 0xF0 0x9F 0x98 0x80. În binar, acești octeți sunt 11110000b 10011111b 10011000b 10000000b.
În orice caz, veți vedea în captura de ecran atașată că computerul meu face ceva cu acești octeți. Le-am evidențiat în ieșirea programului cu săgeți și un mare „UIT!”.
Pasul 3: Cum funcționează programul
Compilarea programului din github este ușoară. Obțineți repo afișat pe prima pagină aici și apoi
Programul este rulat astfel din linia de comandă: java Main input-p.webp
în exemplele atașate veți vedea că am rulat java Main greenman-p.webp
Vei face același lucru.
Dacă te uiți la Main.java, vei vedea că așa se întâmplă:
- Programul citește imaginea într-o matrice 2D
- Programul transformă mesajul pe care l-ați furnizat într-o matrice de octeți (octet )
- Programul folosește apoi o clasă MessageHider pentru a ascunde octeții mesajului în tabloul de imagini.
- Programul scrie apoi matricea 2d a imaginii într-un fișier (output.png) cu datele ascunse în interior. Dacă vă uitați la această imagine, aceasta nu se distinge de original
- Programul citește apoi output-p.webp" />
Deci, codul funcționează așa cum ne așteptăm.
Pasul 4: Concluzie
Așa că v-am dat un cod de lucru, dovada că funcționează sub forma unei imagini și câteva note de curs pe care le dau studenților mei universitari. Ți-am dat și eu o provocare! Am petrecut câteva ore scriind codul și pregătind note de curs, așa că îmi pare rău că acest instructiv nu are multe poze. Dacă credeți că steganografia este interesantă, vă rugăm să acceptați provocarea mea!
Recomandat:
Dovleacul de Halloween cu un ochi animatronic în mișcare - Acest dovleac își poate roti ochii !: 10 pași (cu imagini)
Dovleacul de Halloween cu un ochi animatronic în mișcare | Acest dovleac își poate roti ochii! Reglați distanța de declanșare a senzorului ultrasonic la valoarea corectă (pasul 9), iar dovleacul dvs. va pietrifica pe oricine îndrăznește să ia cand
Oglindă de recunoaștere facială cu compartiment secret: 15 pași (cu imagini)
Oglindă de recunoaștere facială cu compartiment secret: am fost întotdeauna intrigat de compartimentele secrete mereu creative folosite în povești, filme și altele asemenea. Așadar, când am văzut Concursul de compartimente secrete, am decis să experimentez eu însumi ideea și să fac o oglindă cu aspect obișnuit, care să deschidă un
Construiți-vă propria mașină cu conducere automată - (Acest instructiv este în lucru): 7 pași
Construiți-vă propria mașină cu conducere automată - (acest instructabil este în lucru): Bună ziua, dacă aruncați o privire la celălalt meu instructabil pe unitatea robot cu telecomandă USB Gamepad, acest proiect este similar, dar la o scară mai mică. Puteți, de asemenea, să urmăriți sau să obțineți ajutor sau inspirație din Robotică, Recunoaștere vocală crescută la domiciliu sau Auto
Nike LED Swoosh! Acesta este un decor minunat pentru o cameră. Acesta este singurul proiect pe care toată lumea îl poate repeta: 5 pași
Nike LED Swoosh! Acesta este un decor minunat pentru o cameră. Acesta este singurul proiect pe care toată lumea îl poate repeta.: Instrumente -banda de măsurat-șurubelniță-fier de lipit-ferăstrău-ferăstrău-burghie electrică-șmirghel Furnizor -Banda LED (RGB) 5m-controler cu LED-Alimentare 12V 4A-cherestea 50-50-1500 2x-cherestea 20-20-3000 2x-placaj 500-1000mm-șuruburi (45mm) 150x-șuruburi (35mm) 30x-scr
Mini sertar compartiment secret: 5 pași
Mini sertar cu compartimente secrete: acest instructiv vă va arăta cum am făcut un dulap cu sertare cu un compartiment secret. Voi folosi în principal detalii mici pentru a descrie acțiunile pe care le-am făcut