Obsah:
- Zásoby
- Krok 1: Co je to steganografie
- Krok 2: Jak je text kódován na počítačích
- Krok 3: Jak program funguje
- Krok 4: Závěr
Video: Tento PNG je tajný oddíl: 4 kroky
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-31 10:18
Vaším úkolem, drahý čtenáři, je zjistit, jaká zpráva se skrývá v obrázku output.png, který jsem pro vás vložil na github. Zde můžete použít kód MessageHider k extrahování zprávy. Pokud jste zmatení, napište prosím níže komentář a já vám pomůžu získat odpověď! Můžete dokonce přestat číst právě teď, prostě přejděte na github, získejte kód a začněte dělat steganografii. Dost bylo řečí, ale prosím vydržte a řeknu vám víc.
Dva obrázky zde vypadají shodně, ale nejsou. Jedná se o obrázky greenman-p.webp
Tento návod je inspirován skvělým videem na YouTube. Poté, co jsem se jednoho dne díval na toto video pozdě v noci a snažil jsem se vymyslet skvělou přednášku a zápočtovou zkoušku pro pokročilou třídu programování v Javě, se zrodil tento projekt. Výše uvedené obrázky spolu s kódem popsaným v tomto pokynu jsou na Githubu zdarma.
Zásoby
Budete potřebovat počítač a budete muset vědět, jak zkompilovat a spustit program Java. Tento program jsou jen dva krátké soubory a budete jej muset spustit na příkazovém řádku.
Krok 1: Co je to steganografie
Měli byste se podívat na video z YouTube, které jsem propojil v předchozím kroku, ale zde je shrnutí:
Pokud potřebujete skrýt tajnou zprávu příteli, skvělý způsob, jak to udělat, je Steganography. Myšlenka image Steganografie je jednoduchá; počítačové obrázky jsou tvořeny pixely a každý pixel je kombinací červené, zelené a modré. V mnoha formátech počítačových obrazů je množství červené, zelené a modré v každém pixelu vyjádřeno jako hodnoty od 0 do 127. Například velmi červený pixel by měl červenou hodnotu 127 a zelené a modré hodnoty nula. Trik je v tom: červená intenzita 126 je nerozeznatelná od červené intenzity 127 (pro lidské oko). A tak tím, že si v každém červeném pixelu pohrajeme s plus nebo mínus jedním, můžeme skrýt bity v pixelech. Pokud najdeme záludný způsob shromažďování bitů zpět, můžeme načíst data, která jsme vklouzli do obrazu!
Být kreativní! Steganografii lze provádět s jakýmikoli digitálními médii! Můžete si hrát například s bity v hudebních nebo video souborech, ale to vyžaduje, abyste se vydali na další průzkum mimo rámec tohoto pokynu.
Krok 2: Jak je text kódován na počítačích
To, co zde následuje, může vyžadovat titul v CS nebo spoustu vášně pro nadšence k pochopení. Počítače ukládají data v bitech jako 1 s a 0 s. Tyto 1 a 0 jsou obvykle seskupeny do svazků po 8 a označovány jako „bajty“. Jak je vysvětleno zde a zde, existuje několik způsobů, jak můžeme počítači říci, aby interpretoval bajty jako text. Abyste z této steganografické přednášky/instruktáže vytěžili maximum, musíte více či méně rozumět ASCII a UTF8. Toto jsou dva běžné způsoby kódování jazykových dat v sérii bajtů.
Jakmile získáte představu o tomto tématu, pochopíte toto: V ASCII a UTF8 je slovo „the“reprezentováno následujícími bajty (v hexadecimálním formátu) 0x74 0x68 0x65. V binárním formátu jsou tyto bajty: 01110100b 01101000b 01101101b
Kromě toho pochopíte, že v UTF8 je emoji s úsměvem představována následujícími bajty (v hexadecimálním formátu) 0xF0 0x9F 0x98 0x80. V binárním formátu jsou tyto bajty 11110000b 10011111b 10011000b 10000000b.
V každém případě na přiloženém snímku obrazovky uvidíte, že můj počítač s těmito bajty něco dělá. Zvýraznil jsem je ve výstupu programu pomocí šipek a velkého „LOOK!“.
Krok 3: Jak program funguje
Kompilace programu z githubu je snadná. Získejte repo na úvodní stránce zde a poté
Program se spouští takto z příkazového řádku: java Main input-p.webp
v přiložených příkladech uvidíte, že jsem spustil java Main greenman-p.webp
Uděláš to samé.
Když se podíváte na Main.java, uvidíte, že se to stane:
- Program načte obrázek do 2D pole
- Program změní vámi zadanou zprávu na bajtové pole (byte )
- Program poté pomocí třídy MessageHider skryje bajty zpráv v poli obrázku.
- Program poté zapíše obrazové pole 2d do souboru (output.png) se skrytými daty uvnitř. Když se podíváte na tento obrázek, je k nerozeznání od originálu
- Program poté načte output-p.webp" />
Kód tedy funguje tak, jak očekáváme.
Krok 4: Závěr
Dal jsem vám tedy nějaký pracovní kód, důkaz, že funguje ve formě obrázku, a několik poznámek z přednášky, které dávám svým studentům vysokých škol. Také jsem ti dal výzvu! Strávil jsem několik hodin psaním kódu a přípravou poznámek z přednášky, takže se omlouvám, že tento návod nemá mnoho obrázků. Pokud si myslíte, že je steganografie zajímavá, přijměte moji výzvu!
Doporučuje:
Postavte si vlastní auto s vlastním řízením - (tento pokyn se právě zpracovává): 7 kroků
Postavte si vlastní auto s vlastním řízením - (Tento pokyn se právě zpracovává): Dobrý den, podíváte -li se na můj další Instructable on Drive Robot se vzdáleným USB gamepadem, je tento projekt podobný, ale v menším měřítku. Můžete také sledovat nebo získat pomoc nebo inspiraci z robotiky, domácího rozpoznávání hlasu nebo sebe
Vylepšete tento levný NCVT: 6 kroků (s obrázky)
Vylepšete tento levný NCVT: NCVT je bezkontaktní tester napětí. Mohou být velmi užitečné, i když nejsou spolehlivým indikátorem, není přítomno žádné síťové napětí. Hodně závisí na citlivosti testeru a technice uživatele. Doporučenou praxí je kontrola testeru
Little Message Hider/tajný agent Chapstick: 4 kroky (s obrázky)
Little Message Hider/tajný agent Chapstick: Hledáte nějaké místo, kam byste svému příteli uložili malou zprávu? Co ta práce tajného agenta, po které jsi vždycky toužil? Tento jednoduchý design je ideální pro tyto druhy situací a jeho výroba je velmi levná
USB vypalovačka! Tento projekt může hořet plasty / dřevem / papírem (zábavný projekt také musí být velmi jemné dřevo): 3 kroky
USB vypalovačka! Tento projekt může hořet plasty / dřevem / papírem (zábavný projekt také musí být velmi jemné dřevo): NEDĚLEJTE TOTO POUŽÍVÁNÍ USB !!!! ze všech komentářů jsem zjistil, že může poškodit váš počítač. můj počítač je v pořádku Použijte 600mA 5v nabíječku telefonu. Použil jsem to a funguje to dobře a nic se nemůže poškodit, pokud použijete bezpečnostní zástrčku k zastavení napájení
Vytvořte skrytý a šifrovaný oddíl na pevném disku zdarma: 4 kroky
Vytvořte skrytý a šifrovaný oddíl na pevném disku zdarma: Takto vytvoříte oddíl, například disky C: nebo D:, které již jsou na novém počítači, ale jsou skryté pro všechny (nezobrazuje se na mém počítači) nebo něco podobného) a má vládní šifrování a to vše zdarma. Bude to vyžadovat