Obsah:
- Zásoby
- Krok 1: Čo je to steganografia
- Krok 2: Ako je text kódovaný v počítačoch
- Krok 3: Ako program funguje
- Krok 4: Záver
Video: Tento PNG je tajný priestor: 4 kroky
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-31 10:24
Vašou úlohou, drahý čitateľ, je zistiť, aká správa sa skrýva v obrázku output.png, ktorý som pre vás vložil na github. Tam môžete použiť kód MessageHider na extrahovanie správy. Ak ste zmätení, napíšte komentár nižšie a ja vám pomôžem získať odpoveď! Môžete dokonca prestať čítať hneď teraz, jednoducho choďte na github, získajte kód a začnite sa venovať steganografii. Dosť bolo rečí, ale prosím, držte sa a poviem vám viac.
Dva obrázky tu vyzerajú identicky, ale nie sú to Obrázky, ktoré som prepojil vyššie, sú obrázky greenman-p.webp
Tento návod je inšpirovaný skvelým videom na YouTube. Potom, čo som sa jedného dňa pozeral na toto video a snažil som sa vymyslieť skvelú prednášku a strednodobú skúšku pre pokročilú triedu programovania v jazyku Java, vznikol tento projekt. Vyššie uvedené obrázky spolu s kódom popísaným v tomto návode sú na Github bezplatne.
Zásoby
Budete potrebovať počítač a budete musieť vedieť zostaviť a spustiť program Java. Tento program sú len dva krátke súbory a budete ho musieť spustiť na príkazovom riadku.
Krok 1: Čo je to steganografia
Mali by ste si pozrieť video youtube, ktoré som prepojil v predchádzajúcom kroku, ale tu je zhrnutie:
Ak potrebujete skryť tajnú správu priateľovi, cool spôsob, ako to urobiť, je Steganografia. Myšlienka imidžovej steganografie je jednoduchá; počítačové obrázky sú vyrobené z pixelov a každý pixel je kombináciou červenej, zelenej a modrej. V mnohých počítačových obrazových formátoch je množstvo červenej, zelenej a modrej v každom pixeli vyjadrené ako hodnoty od 0 do 127. Napríklad veľmi červený pixel by mal červenú hodnotu 127 a zelené a modré hodnoty nula. Trik je v tom, že červená intenzita 126 je nerozoznateľná od červenej intenzity 127 (pre ľudské oko). A tak tým, že sa v každom červenom pixeli budeme zaoberať plusom alebo mínusom jedným, môžeme skryť bity v pixeloch. Ak nájdeme záludný spôsob zhromažďovania bitov späť, môžeme načítať údaje, ktoré sme vpichli do obrazu!
Buď kreatívny! Steganografiu je možné vykonávať s akýmikoľvek digitálnymi médiami! Môžete sa hrať napríklad s bitmi v hudobných alebo video súboroch, ale to vyžaduje, aby ste sa podrobili ďalšiemu výskumu mimo rozsahu tohto pokynu.
Krok 2: Ako je text kódovaný v počítačoch
To, čo nasleduje, môže vyžadovať pochopenie v odbore CS alebo veľa vášne pre fanúšikov. Počítače ukladajú údaje v bitoch ako 1 s a 0 s. Tieto 1 a 0 sú typicky zoskupené do zväzkov po 8 a označujú sa ako „bajty“. Ako je vysvetlené tu a tu, existuje niekoľko spôsobov, ako môžeme počítaču povedať, aby interpretoval bajty ako text. Aby ste z tejto steganografickej prednášky/inštrukcie vyťažili maximum, musíte viac -menej porozumieť ASCII a UTF8. Toto sú dva bežné spôsoby kódovania jazykových údajov v sérii bajtov.
Keď získate predstavu o tejto téme, pochopíte to: V kódoch ASCII a UTF8 je slovo „the“reprezentované nasledujúcimi bajtmi (v hexadecimálnom formáte) 0x74 0x68 0x65. V binárnom formáte sú tieto bajty: 01110100b 01101000b 01101101b
Ďalej pochopíte, že v UTF8 sú Emoji s úškrnom predstavované nasledujúcimi bajtmi (v hexadecimálnom formáte) 0xF0 0x9F 0x98 0x80. V binárnom formáte sú tieto bajty 11110000b 10011111b 10011000b 10000000b.
V každom prípade na priloženom obrázku obrazovky uvidíte, že môj počítač s týmito bytmi niečo robí. Vo výstupe programu som ich zvýraznil šípkami a veľkým „POZRI!“.
Krok 3: Ako program funguje
Zostavenie programu z github je jednoduché. Získajte repo zobrazené na titulnej stránke tu a potom
Program sa spúšťa takto z príkazového riadka: java Main input-p.webp
v priložených príkladoch uvidíte, že som spustil javu Main greenman-p.webp
Urobíte to isté.
Ak sa pozriete na Main.java, uvidíte, že sa to deje:
- Program načíta obrázok do 2D poľa
- Program zmení vami zadanú správu na bajtové pole (bajt )
- Program potom použije triedu MessageHider na skrytie bajtov správy v obrazovom poli.
- Program potom zapíše pole 2d obrázka do súboru (output.png) so skrytými údajmi vo vnútri. Ak sa pozriete na tento obrázok, je na nerozoznanie od originálu
- Program potom načíta output-p.webp" />
Kód do značnej miery funguje tak, ako očakávame.
Krok 4: Záver
Dal som vám teda pracovný kód, dôkaz, že funguje, vo forme obrázku a niekoľko poznámok z prednášky, ktoré dávam svojim vysokoškolákom. Tiež som ti dal výzvu! Strávil som niekoľko hodín písaním kódu a prípravou prednášok, takže mi je ľúto, že tento návod nemá veľa obrázkov. Ak si myslíte, že steganografia je zaujímavá, prijmite moju výzvu!
Odporúča:
Inteligentné stolné LED svetlo - Inteligentné osvetlenie W/ Arduino - Pracovný priestor Neopixels: 10 krokov (s obrázkami)
Inteligentné stolné LED svetlo | Inteligentné osvetlenie W/ Arduino | Neopixels Workspace: Teraz niekoľko dní trávime veľa času doma, virtuálne študujeme a pracujeme, tak prečo si náš pracovný priestor nevylepšiť pomocou vlastného a inteligentného systému osvetlenia založeného na diódach Arduino a Ws2812b LED. Tu vám ukážem, ako si vytvoriť inteligentný Stolné LED svetlo, ktoré
Ako získať TAJNÝ SVET !!!!!! (Režim ladenia): 3 kroky
Ako získať TAJNÝ SVET !!!!!! (Režim ladenia): V tomto návode vám ukážem, ako sa v Minecrafte dostať do režimu tajného sveta
LED pásik reagujúci na hudbu (moderný pracovný priestor): 5 krokov (s obrázkami)
Music Reactive LED Strip (Modern Workspace): Toto je skutočný rýchly sprievodca LED bleskom na pracovných priestoroch. V tomto konkrétnom prípade sa naučíte, ako nainštalovať LED pásik, ktorý reaguje na hudbu (nízka frekvencia), zvukové arytmické svetlá, aby ste si mohli vychutnať svoje filmy, hudbu a hry na inej úrovni
Skrytý ukladací priestor na disku DVD: 3 kroky
Skryté úložisko disku DVD: premenil som starý počítačový disk DVD na úložisko. je to dobré využitie starého disku a je to skvelé skrýša
USB napaľovačka! Tento projekt môže spaľovať plasty / drevo / papier (zábavný projekt musí byť aj veľmi jemné drevo): 3 kroky
USB napaľovačka! Tento projekt môže spaľovať plasty / drevo / papier (zábavný projekt musí byť aj veľmi jemné drevo): NEROBTE TO S POUŽÍVANÍM USB !!!! Zo všetkých komentárov som zistil, že môže poškodiť váš počítač. môj počítač je v poriadku Použite nabíjačku telefónu 5 V 600mA. Použil som to a funguje to dobre a nič sa nemôže poškodiť, ak na vypnutie napájania použijete bezpečnostnú zástrčku