Allegro i zagadka - zabawa w detektywa
Dziś (28.10.11 około 19.10)postanowiłem odwiedzić stronę allegro w celu wyszukania ciekawych ofert sprzedaży. Jednakże moją uwagę przyciągnął coś innego. Otóż na głównej stronie serwisu allegro można zauważyć pewien banner, który ja dodatkowo zamieszczam poniżej.
0x47 0x72 0x61 0x74 0x75 0x6c 0x61 0x63 0x6a 0x65 0x21 0x20 0x50 0x69 0x65 0x72 0x77 0x73 0x7a 0x79 0x20 0x65 0x74 0x61 0x70 0x20 0x7a 0x61 0x20 0x54 0x6f 0x62 0xc4 0x85 0x2e 0x20 0x41 0x62 0x79 0x20 0x72 0x6f 0x7a 0x70 0x6f 0x63 0x7a 0xc4 0x85 0xc4 0x87 0x20 0x64 0x72 0x75 0x67 0x69 0x20 0x77 0x79 0xc5 0x9b 0x6c 0x69 0x6a 0x20 0x43 0x56 0x20 0x6e 0x61 0x20 0x61 0x64 0x72 0x65 0x73 0x20 0x64 0x65 0x76 0x65 0x6c 0x6f 0x70 0x65 0x72 0x2d 0x70 0x68 0x70 0x40 0x61 0x6c 0x6c 0x65 0x67 0x72 0x6f 0x2e 0x70 0x6c > Odkoduj swoją przyszłość_
Jako że jestem człowiekiem, który lubi rozwiązywać zagadki postanowiłem się za to zabrać i trochę pogłówkować.
Lupa
Więc rozwiązywanie zagadki rozpocząłem od wzięcia "lupy" (czyt. Google). Na pierwszy ogień poszły znaki, które widniały na tym banerze. Po chwili zastanowienia doszedłem do wniosku ze na 99% jest to kod HEX, pod którym kryją się pewne liczny lub znaki (litery i inne /?!{}|). Jeszcze upewniłem sprawdziłem czy aby na pewno moje założenie dotyczące kodu HEX jest trafne. Okazało się że tak.
Postanowiłem przejść do kolejnego etapu rozwiązywania zagadki. Po chwili namysły doszedłem do wniosku, że ręczne wyszukiwanie litery bądź cyfry, która kryje się pod cztero-znakowym kodem zajmie dość dużo czasu (wybierając tą opcje pewnie jeszcze bym szukał rozwiązania, a tak to napiszę coś mniej lub bardziej ciekawego na blogu).
Doktorze
Na pomoc w rozwiązywaniu zagadki przyszedł Doktor Watson (czytać Słonik rozumieć PHP). Kilka chwil w internecie i już przypomniałem sobie jak nazywała się funkcja do odczytu znaków z np kodu HEX.
Jest i rozwiązanie
Cały skrypt to raptem kilka linii kodu, który w pełni tłumaczy nam cały kod. Swoją drogą myślałem, że pod tymi wartościami będzie kryło się jeszcze coś więcej, kolejny element zagadki. No niestety od razu dostałem rozwiązanie.
<?php $KodZAllegro = "0x47 0x72 0x61 0x74 0x75 0x6c 0x61 0x63 0x6a 0x65 0x21 0x20 0x50 0x69 0x65 0x72 0x77 0x73 0x7a 0x79 0x20 0x65 0x74 0x61 0x70 0x20 0x7a 0x61 0x20 0x54 0x6f 0x62 0xc4 0x85 0x2e 0x20 0x41 0x62 0x79 0x20 0x72 0x6f 0x7a 0x70 0x6f 0x63 0x7a 0xc4 0x85 0xc4 0x87 0x20 0x64 0x72 0x75 0x67 0x69 0x20 0x77 0x79 0xc5 0x9b 0x6c 0x69 0x6a 0x20 0x43 0x56 0x20 0x6e 0x61 0x20 0x61 0x64 0x72 0x65 0x73 0x20 0x64 0x65 0x76 0x65 0x6c 0x6f 0x70 0x65 0x72 0x2d 0x70 0x68 0x70 0x40 0x61 0x6c 0x6c 0x65 0x67 0x72 0x6f 0x2e 0x70 0x6c"; $KodWTablicy = explode(" ",$KodZAllegro); $RozmiarTablicy = count($KodWTablicy); for ($i=0; $i<$RozmiarTablicy; $i++) { echo chr($KodWTablicy[$i]); } ?>
Efektem działania powyższego skryptu jest zdanie zaprezentowane poniżej.
Gratulacje! Pierwszy etap za Tobą?. Aby rozpocząć? drugi wyślij CV na adres developer-php@allegro.pl
Pozdrawiam.
PS.Skrypt jest napisany w sposób prosty do zrozumienia jego działania, wiem żę kod można zoptymalizować. Czy wie ktoś od kiedy ten baner jest zamieszczony na allegro?
-------------------------------------------
Wszyscy, którzy myśleli, że to koniec okazało się, że nie, allegro przygotowało drugi etap, na którego rozwiązanie kandydaci mają czas do 6 listopada.