07. Podcasty, zagadka hakerska, certyfikaty Cisco, assembler, wywiad
W tym (wydanym przed świętami Bożego Narodzenia) odcinku pojawią się następujące tematy: podcasty, z którymi warto się zapoznać oraz konkurs hakerski, w którym można zdobyć półroczny abonament do aplikacji Audible (w której można komfortowo słuchać audiobooków). Potem Damian odpowie na pojawiające się pytania o certyfikację Cisco. Następnie pogadamy o tym jak powstał pierwszy język programowania. A na koniec niespodzianka - krótki wywiad z Tadeuszem Aleksandrukiem, który jest js-develeoperem aktualnie pracującym w Cardiff. Zapraszamy!
Znajdź w filmie
Tutoriale posiadają tzw. timestamps (chwile czasowe) - dzięki nim łatwo odnajdziesz interesujące fragmenty wiedzy. Wystarczy kliknąć na podane w nawiasach kwadratowych momenty filmu, by przewinąć tutorial dokładnie do interesującego Cię miejsca w odcinku.
[ 00:00:14 ] Wstęp do podcastu, agenda odcinka
[ 00:02:15 ] Jakie podcasty / audiobooki polecasz?
[ 00:15:09 ] Opis aplikacji Audible
[ 00:19:14 ] Konkurs - zagadka hakerska
[ 00:20:59 ] Certyfikacja Cisco - informacje
[ 00:26:39 ] Jak powstał pierwszy język programowania?
[ 00:35:50 ] Krótki wywiad z Tadeuszem Aleksandrukiem
[ 00:41:25 ] Kilka słów końcowych
Rozwiązanie zagadki hakerskiej
W okolicach 20 minuty tego odcinka pojawiła się zagadka hakerska do rozwiązania. Tajemnicza wiadomość została już przez Was rozkodowana, co nastąpiło 2019-12-19 o 18:38 CET. W konkursie zwyciężył Pan Grzegorz Przybylski, w sieci posługujący się pseudonimem: zwatotem. Moje gratulacje! Nagroda w postaci półrocznego abonamentu w usłudze Audible (sześć kredytów do zamiany na sześć audiobooków) została już skutecznie mailowo przekazana zwycięzcy! Mimo zakończonego konkursu, gorąco zachęcam spróbować swoich sił przy rozwikłaniu ukrytej w tym pliku dźwiękowym tajnej wiadomości.
Jeżeli jednak nie dysponujemy czasem, ochotą, bądź umiejętnościami które pozwoliłyby na rozkodowanie przesłania, poniżej prezentuję pełne rozwiązanie zagadki. Treść zagadki, przytoczona we wspomianym pliku brzmi:
Bazowo na szachownicy znajdują się 64 pola. Rotmistrz, z którym miałem zagrać partię, zadzwonił do mnie dopiero po 13-tej. Oto co usłyszałem w słuchawce: ...
... i tu następuje cała seria dźwięków, które brzmią łudząco podobnie do telefonicznego wybierania tonowego (tzw. DTMF, od angielskiego: Dual Tone Multi Frequency).
Za pomocą sygnałów tonowych (o różnych częstotliwościach) zasadniczo można reprezentować znaki: 0-9
, *
, #
oraz A
, B
, C
, D
. Pytanie tylko jak zamienić słyszalne w pliku sygnały tonowe na odpowiadające im znaki? Otóż posłużyć się możemy wieloma narzędziami zdolnymi wykryć wartości częstotliwości w plikach dźwiękowych, na przykład wymienionymi tutaj programami albo nawet witryną internetową (dokonując zdekodowania online, po prostu uploadując plik).
Po zbadaniu wszystkich tonów, okazuje się, iż w naszym tajemniczym pliku mamy do czynienia z następującą sekwencją znaków:
596d6c3062486c56556b7871636d396b575764555545465455327869614851775a3264314d57593d
Jeżeli znajduje się tutaj jakaś ukryta wiadomość, to zapewne została ona zapisana przy użyciu liter. Do zamiany kodów znaków na odpowiadające im symbole, używamy w komputerach tzw. standardu ASCII, lub jak mówimy często kolokwialnie: tablicy ASCII. Pojedynczy znak można zakodować binarnie na 8 bitach, dziesiętnie wartościami z przedziału 0..127, natomiast hexadecymalnie z użyciem dwóch symboli (w systemie szesnastkowym są to cyfry 0-9
oraz literały A-F
). Przepuszczamy zatem nasz zapis tonowy przez konwerter HEX to ASCII (na przykład ten), otrzymując:
Yml0bHlVUkxqcm9kWWdUUEFTU2xiaHQwZ2d1MWY=
Cóż, nie wygląda to na pierwszy rzut oka obiecująco, no chyba że zwrócimy uwagę na podpowiedź znajdującą się w zagadce: Bazowo na szachownicy znajdują się 64 pola.
Jest to niewątpliwie bezpośrednia aluzja do użycia kodowania transportowego Base64. Wskazuje na to także wyraźnie ostatni znak =
w naszej sekwencji - pojedyncze lub podwójne znaki równości to częsty widok w wynikowych łańcuchach zakodowanych w Base64. Więcej na ten temat można przeczytać tutaj. A zatem znajdujemy dekoder Base64 (na przykład tutaj) i po wrzuceniu tam naszego łańcucha, otrzymujemy zdekodowaną wiadomość:
bitlyURLjrodYgTPASSlbht0ggu1f
Jak się przypatrzeć temu bliżej, to początek wskazuje na popularny serwis bit.ly (skracarka linków), zaś potem mamy podpowiedź co do adresu - po frazie URL
(ang. URL = Uniform Resource Locator, szczegóły tutaj) sugeruje nam się, iż ostatecznie adres powinien mieć końcówkę jrodYgT
, zaś hasłem (słowo PASS
, od ang. password) będzie: lbht0ggu1f
. A zatem należy udać się pod adres:
bit.ly/jrodYgT
I po automatycznym przekierowaniu - jak się okazało ostatecznie, do dziwacznej domeny jdfuiflsfdkgb.miroslawzelent.pl
, naszym oczom ukazuje się witryna z tajemniczym formularzem:
Jednakże wpisanie hasła lbht0ggu1f
nie odnosi absolutnie żadnego skutku! Cóż, wówczas przypominamy sobie o drugim zdaniu z zagadki, które brzmiało: Rotmistrz, z którym miałem zagrać partię, zadzwonił do mnie dopiero po 13-tej. To jest nawiązanie do popularnego szyfru przestawieniowego o nazwie ROT13. Tak więc nasze znane hasło lbht0ggu1f
przepuszczamy jeszcze przez dekoder ROT13, na przykład ten. Okazuje się, że to hasło po zdekodowaniu przyjmuje postać:
youg0tth1s
Wpisanie takiej frazy w pole formularza powodowało wyświetlenie instrukcji dotyczących zgłoszenia wygranej. I właśnie na tym zagadka hakerska się kończy! Jeszcze raz gratuluję zwycięzcy, a także każdej osobie, której udało się rozkodować choćby część rozwiązania. To fajna zabawa, prawda? Nie wykluczam publikowania podobnych (choć oczywiście inaczej skonstruowanych) zagadek konkursowych w przyszłości. Sam osobiście uwielbiam takie problemy do samodzielnego rozgryzienia, bo łaskoczą one tę część umysłu, która domaga się odpowiedzi, która pobudza naszą ciekawość i daje myślę wiele satysfakcji.
Komentarze
Czy macie jakieś pytania, sugestie, uwagi? A może zauważyliście literówkę albo błąd? Dajcie koniecznie znać: kontakt@pasja-informatyki.pl. Dziękujemy za poświęcony czas - to dzięki Wam serwis staje się coraz lepszy!