Blog

Végigjátszás a szteganográfiai játékhoz

2009.02.13. 12:00:00, Gulyás Gábor

Ebben a bejegyzésben minden információt megosztunk, ami csak a játék végigviteléhez és a szintek visszafejtéséhez szükséges: valamennyi szint kulcsát, az egyes szintet megfejtő és kódoló programok forráskódját és bináris változatát. Mindez a bejegyzés további részében olvasható (SPOILER).

A szintkódokat, forráskódokat és binárisokat egy zip fájlban helyeztük el, innen letölthetitek. Figyelem: egyes programok csak az adott kulcsot tudják kódolni, így más szöveg kódolásához újra kell fordítani őket.

(Csak egy érdekesség: itt Java és Pascal nyelvű megoldásokat teszünk közzé, de a játék során a programozási nyelvek igen széles palettájáról érkeztek megoldások: C, Java, Delphi, Python, PHP, Turbo Pascal.)

1. szint megoldása - You've got mail!

A megfejtéshez vezető legrövidebb út. A szöveget a spammimic-el kellett dekódolni.

2. szint megoldása - A szőnyeg alatt

Ennél a szintnél sokan elakadtak, ezért adtunk egy kis segítséget is. A "szőnyeg alatt" kifejezés a képfájl tényleges vége utáni részre utalt; a kulcsot kódolt formában egyszerűen hozzácsaptuk a fájl végéhez.

Köszönjük Nagy Kristófnak, hogy segített a kódoló/dekódoló program elkészítésében ehhez a szinthez.

3. szint megoldása - Rigócsőr király

Ezen a szinten nem adtunk semmilyen segítséget, mivel a szöveget nem kódoltuk, a rejtés módja pedig a szint HTML forráskódjának megtekintésével egyértelművé vált. A kulcsot ugyanis a HTML címkékben rejtettük el, ahol a 0-1 bitnyi információkat a tagek betűiben tároltuk, aszerint, hogy épp kis, vagy nagybetűket írtunk (nagybetű 1-es bit, kisbetű a 0-s bit). A szöveg elejét és végét HTML megjegyzések jelölték.

4. szint megoldása - Mintha hiányozna valami?

Ezen a szinten is többen alakadtak, ezért további segítséget tettünk közzé. A szint súgójában szereplő képrejtvény megoldása: fej-léc-hiba. A BMP felbontása gyanús lehet, hiszen nem szabványos (640x479), mintha hiányozna belőle egy sor - erre utal maga a téglafal, amelyből egy sor hiányzik. Ha a fejléc ide vonatkozó információját átírjuk, megjelenik az alsó sor is, amelyből ki lehet olvasni dekódolva a következő szint kulcsát.

(Ezen a szinten, illetve még az 5-6. szinten is 256 színű BMP formátummal dolgoztunk.)

5. szint megoldása - "Trivia"

A kép a palettára utal. A palettát megtekintve látható, hogy az elemek 4. bájtja (alpha csatorna) tartalmaz valamit. Ezt dekódolva a megadott kulcsfolyammal megkapjuk a következő szint kulcsát.

6. szint megoldása - Mi van a fal mögött?

A fal mögötti részen padding, azaz kitöltő bájtok vannak. Ez azért van, mert a BMP formátum szereti, ha a fájlbaírt sorok hossza 4-el osztható, függetlenül a valós képmérettől. Ezt a kitöltő területet kell kiolvasni, dekódolni, s megkapjuk a kulcsot.

7. szint megoldása - A legkisebb ujj a kisujj...

Ezen a szinten már 24 bites színmélységű BMP formátummal dolgoztunk. Ennek a képformátumnak nincs palettája, és az egyes képpontok RGB és alpha komponensekből állnak - itt ismét az alpha komponenst használtuk ki rejtésre. A kiválasztás módjára utal a legkisebb ujj - LSB analógia. Amely képpontnál ugyanis az LSB-je a 3. komponensnek (piros), az egy lényeges hexa byte, a többit el kell dobni. Kódolást nem alkalmaztunk, de a trükk kedvéért minden alpha byte-t feltöltöttünk adattal.

Utána pedig a 8. szint következik, ez már csak gratulációt és beküldési instrukciókat tartalmaz.

Hozzászólások

Összesen 0 hozzászólás látható.

Nincsenek hozzászólások.


A hozzászóláshoz be kell jelentkezni!

© PET Portál és Blog, 2008-2010 | Impresszum | Adatvédelmi nyilatkozat