Koniec roku to bardzo dobra okazja do wszelkiej maści podsumowań. 2017 to był dla mnie zawodowo całkiem niezły rok:
Tag: Gynvael
Misja Gynvaela 011
MISJA 011 goo.gl/keE94T DIFFICULTY: █████░░░░░ [5/10] ┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅ Jednemu z naszych agentów polowych poszczęściło się - zakradł się do biura podejrzanego i zrobił zdjęcie bardzo ważnego dokumentu. Zdjęcie udało się wywołać i otrzymaliśmy dzisiaj archiwum z jego skanem. Ponieważ jestem obecnie bardzo zajęty i mam bardzo ważne spotkanie, poniżej jest link do pliku - zajmij się tym. goo.gl/A6sMwA Powodzenia! -- Odzyskaną wiadomość umieść w komentarzu pod tym video :) Linki do kodu/wpisów na blogu/etc z opisem rozwiązania są również mile widziane! P.S. Rozwiązanie zadania przedstawię na jednym z vlogów w okolicy dwóch tygodni.
Misja Gynvaela 010
MISJA 010 goo.gl/oAdvWe DIFFICULTY: ███░░░░░░░ [3/10] ┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅ Otrzymaliśmy dokument PDF w którym podobno jest zaszyta ukryta wiadomość. Zwracamy się do Ciebie z prośbą o jej odnalezienie: https://goo.gl/wgt94W Powodzenia! -- Odzyskaną wiadomość umieść w komentarzu pod tym video :) Linki do kodu/wpisów na blogu/etc z opisem rozwiązania są również mile widziane! P.S. Rozwiązanie zadania przedstawię na początku kolejnego livestreama. P.S. Pomysłodawcą misji jest foxtrot_charlie.
Misja Gynvaela 009
MISJA 009 goo.gl/q49Fw7 DIFFICULTY: ██████░░░░ [6/10] ┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅ Do naszych techników trafiło nagranie, w postaci pliku dźwiękowego, z osobliwymi piskami. Nagranie otrzymaliśmy od lokalnego radioamatora i możesz je pobrać poniżej: https://goo.gl/NeJHD2 Jeśli możesz, wyręcz naszych techników w zdekodowaniu wiadomości - są obecnie zajęci naprawą naszego elektrohydroturbobulbulatora. Powodzenia! -- Odzyskaną wiadomość umieść w komentarzu pod tym video :) Linki do kodu/wpisów na blogu/etc z opisem rozwiązania są również mile widziane! P.S. Rozwiązanie zadania przedstawię na początku kolejnego livestreama.
Misja Gynvaela 008
MISJA 008 goo.gl/gg4QcA DIFFICULTY: █████████░ [9/10] ┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅ Otrzymaliśmy dość nietypową prośbę o pomoc od lokalnego Instytutu Archeologii. Okazało się, iż podczas prac remontowych studni w pobliskim zamku odkryto niewielki tunel. Poproszono nas abyśmy skorzystali z naszego autonomicznego drona wyposażonego w LIDAR (laserowy skaner odległości zamontowany na obracającej się platformie) do stworzenia mapy tunelu. Przed chwilą dotarliśmy na miejsce i opuściliśmy drona do studni. Interfejs I/O drona znajduje się pod poniższym adresem: http://gynvael.coldwind.pl/misja008_drone_output/ Powodzenia! -- Korzystając z powyższych danych stwórz mapę tunelu (i, jak zwykle, znajdź tajne hasło). Wszelkie dołączone do odpowiedzi animacje są bardzo mile widziane. Odzyskaną wiadomość (oraz mapę) umieśc w komentarzu pod tym video :) Linki do kodu/wpisów na blogu/etc z opisem rozwiązania są również mile widziane! HINT 1: Serwer może wolno odpowiadać a grota jest dość duża. Zachęcam więc do cache'owania danych na dysku (adresy skanów są stałe dla danej pozycji i nigdy nie ulegają zmianie). HINT 2: Hasło będzie można odczytać z mapy po odnalezieniu i zeskanowaniu centralnej komnaty. P.S. Rozwiązanie zadania przedstawie na początku kolejnego livestreama.
Misja Gynvaela 007
MISJA 007 goo.gl/f6ogMR DIFFICULTY: █░░░░░░░░░ [1/10] ┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅ Otrzymaliśmy zaszyfrowaną wiadomość. Podobno użyty został potężny algorytm ROTn, ale ze zmieniającym się kluczem. Klucz podobno zmienia się w prosty do przewidzenia sposób, więć zostawiamy rozkodowanie wiadomości Tobie: KFGS WUSTRX DBZAYE KIGHFL RPNOMS -- Odzyskaną wiadomość umieśc w komentarzu pod tym video :) Linki do kodu/wpisów na blogu/etc z opisem rozwiązania są również mile widziane! P.S. Rozwiązanie zadania przedstawie na początku kolejnego livestreama.
Misja Gynvaela 006
MISJA 006 goo.gl/te47XT DIFFICULTY: ███░░░░░░░ [3/10] ┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅ Przeglądając stare dokumenty z lat '60 zeszłego wieku natrafiliśmy na taką oto notatkę: c5 c2 c3 c4 c9 c3 40 82 a8 93 82 a8 40 86 81 91 95 a8 40 87 84 a8 82 a8 40 82 a8 93 40 93 96 87 89 83 a9 95 a8 4b 40 c1 93 85 40 95 89 85 40 91 85 a2 a3 4b Przypuszczamy, że to jakieś zdanie w języku Polskim, ale nie udało nam się tego zdekodować. Zrzucimy to więc na Ciebie. Powodzenia! -- Odzyskaną wiadomość umieśc w komentarzu pod tym video :) Linki do kodu/wpisów na blogu/etc z opisem rozwiązania są również mile widziane! P.S. Rozwiązanie zadania przedstawie na początku kolejnego livestreama.
Misja Gynvaela 005
MISJA 005 goo.gl/BX0XeI DIFFICULTY: ██░░░░░░░░ [2/10] ┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅ Jeden z naszych agentów dostał się wczoraj w nocy do silnie strzeżonej placówki dyplomatycznej i zrobił zdjęcie kartki z hasłem do jednego z ich serwerów. Fotografię otrzymaliśmy nieco po północy, ale wygląda na to, że jest uszkodzone. http://gynvael.vexillium.org/ext/m5_tajne.png Przeanalizuj powyższą fotografię i spróbuj odzyskać wykradzione hasło. -- Odzyskaną wiadomość umieść w komentarzu pod tym video :) Linki do kodu/wpisów na blogu/etc z opisem rozwiązania są również mile widziane! P.S. Rozwiązanie zadania przedstawię na początku kolejnego livestreama.
Opisany poziom sugeruje trudność zadania, ale, parafrazując pewnego popularnego polskiego polityka (partii PZPR): wyraźnie je przeszacowuje.
Misja Gynvaela 004
MISJA 004 goo.gl/ DIFFICULTY: ███░░░░░░░ [3/10] ┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅ Jeden z naszych agentów infiltruje siedzibę wrogiego syndykatu, i utknął pod drzwiami z elektronicznym zamkiem. Udało mu się dostać do elektroniki i zrzucić krótki program, który sprawdza wprowadzony kod i otwiera drzwi. Twoim zadaniem będzie wykonanie analizy poniższego programiku oraz znalezienie poprawnego kodu. #include <stdio.h> int check(char*b){char*p;for(p=b;*p;p++);if(((p-b)^42)!=47)return( ~0xffffffff);unsigned long long ch=0x1451723121264133ULL;for(p=b;* p;p++)ch=((ch<<9)|(ch>>55))^*p;return!!(14422328074577807877ULL== ch);}int main(void){char buf[1234];scanf("%1233s",buf);puts("nope" "\0good"+check(buf)*(6-1));return 0;} -- Odzyskaną wiadomość umieśc w komentarzu pod tym video :) Linki do kodu/wpisów na blogu/etc z opisem rozwiązania są również mile widziane! P.S. Rozwiązanie zadania przedstawie na początku kolejnego livestreama.
Kod, jak widać, jest trochę bardzo nieczytelny. Ok, to jest C, ale i tak powinno być lepiej. Dlatego pierwszym krokiem ku rozwiązaniu zadania było jego poprawne sformatowanie. Do tego użyłem http://format.krzaq.cc, mojego webowego frontendu dla clang-format.
Misja Gynvaela 003
MISJA 003 goo.gl/ZPQvV0 DIFFICULTY: ██░░░░░░░░ [2/10] Tym razem nie trzeba nic robić. Wystarczy uruchomić poniższy skrypt, chwilkę poczekać, a hasło zostanie wypisane. No, taką dłuższą chwilkę... #!/usr/bin/python def magic1(a, b): o = 0 i = 0 while i < a: o += 1 i += 1 i = 0 while i < b: o += 1 i += 1 return o def magic2(a, b): o = 0 i = 0 while i < b: o = magic1(o, a) i += 1 return o n1 = int("2867279575674690971609643216365" "4161626212087501848651843132337" "3373323997065608342") n2 = int("1240905467219837578349182398365" "3459812983123659128386518235966" "4109783723654812937") n = magic2(magic1(n1, n2), 1337) print hex(n)[2:-1].decode("hex").splitlines()[0]