Проходження квесту від mail.ru

Під катом опис того, як я пройшов квест від mail.ru квест). Якщо не хочете псувати враження від квесту, не ходіть під кат.

Якщо немає вітальній сторінкиНа самому початку після переходу за посиланням я побачив картинку, що квест не призначений для мобільних пристроїв. Запустивши девелоперську консоль хрому, я знайшов у style.css блок media і змінив 1200 px на 120px, після цього побачив початкову сторінку.
Рішення 1-го завданняПерше завдання було простим — в вихідному коді сторінки було вказано секретне слово: white.
Рішення 2-го завданняВідповідь так само у вихідному коді сторінки, а саме в коментарях.

Відповідь: W3C.
Рішення 3-го завданняВідповідь у вихідному коді, необхідно перейти в кінець сторінки, яка містить 10 000 рядків.

Відповідь: молодець.
Рішення 4-го завданняПитання з неправильним кодуванням, необхідно вказати кодування в браузері UTF-8 і отримати відповідь: кракозябры
Рішення 5-го завданняУ вихідному коді сторінки є зображення sequence.gif. Відкриваємо його в окремій вкладці, тиснемо «оновити» і бачимо відповідь: джиф.
Рішення 6-го завданняУ вихідному коді сторінки є зображення, але на нього вказує неправильне посилання. Відкриваємо її в окремій вкладці, виправляємо ім'я файлу на blok_shema.png. У підсумку отримуємо алгоритм обчислення факторіала 10. Пошукова рядок яндекса добре вміє рахувати факторіал.

Відповідь: 3628800.
Рішення 7-го завданняУ вихідному коді сторінки є закодована підказка, декодируем її за допомогою link одержуємо: «Якщо координати у вас виходять не в Москві, значить ви щось робите не так.»

Далі я подивився координати Москви, порівняв з тим, що знаходиться на сторінці, перетворив і отримав наступні координати: 55°47.48916'N 37°32.94132'E. Ввів їх в Яндекс.карти і отримав вулицю Уго Чавеса, відповіддю було прізвище цього політичного діяча.
Рішення 8-го завданняНаступні завдання я вирішив навмання, не зрозумів текст. Побачив у вихідному коді сторінки файл mikrotochka.png і відкрив його, далі я просто ввів my.com і потрапив на наступний рівень
Рішення 9-го завданняЗавдання на знання систем числення: 7+7 =14 в десятковій системі. Відповідно число 16 — це число в вісімковій системі числення. Залишилося число 49 перевести у вісімкову систему числення і отримати результат: 61
Рішення 10-го завданняТак як я не пам'ятав коди даних символів, я просто знайшов їх в інтернеті і скопіював. ±§¤
Рішення 11-го завданняДивимося у вихідному коді сторінки ім'я файлу. Завантажуємо його, дивимося мета-дані і отримуємо відповідь: Yarrrost.

Команди для ubuntusudo apt-get install jhead
wget puzzle.mail.ru/exif.jpg
jhead -v exif.jpg

Рішення 12-го завданняУ цьому завданні викликаємо в консолі відладчика функцію stepbystep().

Кодfor (i=0; i < 10000; i++) { stepbystep() }

Рішення 13-го завданняцього завдання треба зашифрувати текст: vigenere за допомогою ключа: cipher та шифру Виженера для цього я скористався цією посиланням

Відповідь: xqvlrvtm
Рішення 14-го завданняНа цій сторінці присутні ip-адреси, записані одним числом. Ось стаття автора квесту про даній формі запису.

Команди для Linux$ ping 0x5E64B4C9
PING 0x5E64B4C9 (94.100.180.201) 56(84) bytes of data.
64 bytes from 94.100.180.201: icmp_seq=1 ttl=55 time=52.8 ms
^C
— 0x5E64B4C9 ping statistics — 1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 52.849/52.849/52.849/0.000 ms
$ host 94.100.180.201
201.180.100.94.in-addr.arpa domain name pointer ko.mail.ru.

Отримуємо відповідь: ko.mail.ru.
Рішення 15-го завданняНа сторінці записано час в unix timestamp, можна скористатися online конвертером або командою date

Команда для Linuxdate -d '01/01/2020 00:00:00' +"%s".
Відповідь: 1577836800

p.s. Врахуйте, що час на машині, де запускаєте команду, має бути UTC. Якщо ні, то необхідно запускати з зазначенням зміщення за часом, у моєму випадку +7.
Рішення 16-го завданняЗавдання, на яке я витратив більше всього часу, так як gimp наполегливо заливав не так, як мені хотілося. Тому я скористався цим онлайн редактором і отримав потрібний результат: 42.
Рішення 17-го завданняУ цьому завданні ми бачимо зображення у форматі png, закодоване в base64. Я скористався цією посиланням для отримання зображення, в результаті вийшло: spam.
Рішення 18-го завданняДане завдання я вирішив методом перебору. A=1. А далі прикинувши що:

РішенняC+D=9
C+E=10
B+B>10
B — парне число,
відповідно B може бути 6 або 8.

Методом перебору я отримав відповідь: 1,8,4,5,6
Рішення 19-го завданняСпочатку я попросив підказку
nslookup -type=TXT podskazka.donkeyhot.org
Server: 10.11.101.6
Address: 10.11.101.6#53

Non-authoritative answer:
podskazka.donkeyhot.org text = «NATO alphabet»

Потім наяндексил цю статтю з wiki. Зіставив зображення з алфавітом і отримав відповідь: AMIGO.
Рішення 20-го завданняДля початку включимо форму введення і кнопку.

document.getElementsByName('answer')[0].disabled=false;
document.getElementsByName('btna')[0].disabled=false;

Отже, ми бачимо таблицю, в якій є чорні і білі прямокутники. Припускаю, що це може бути двійковий код, відповідно, це може бути: 01101110 або 10010001. Далі я знайшов таблицю відповідності між літерами і двійковим кодом link 01101110 відповідає «n». Значить білий прямокутник — «0», а чорний — «1». Інші літери:

01100101 - e
01111000 - x
01110100 - t

Відповідь: next.
Рішення 21-го завданняДивимося вихідний код, бачимо, що присутнє зображення: message_digest.png відкриваємо його і отримуємо 16-ний код:
6074c6aa3488f3c2dddff2a7ca821aab

Вбиваємо хеш в Яндекс і в цієї статті знаходимо відповідь: 5555
Рішення 22-го завданняЗображені печеньки, значить треба подивитися cookie. Я дивився через Chrome DevTools -> Network->cookies.jpg->Request Headers і побачив: secret=we_have_cookies, відповідно відповідь: we_have_cookies
Рішення 23-го завданняТут ми бачимо ребус «кава в квадраті». Запишемо кави англійською мовою, замінимо букву «О» на «0». Виходить c0ffe. Тепер множимо c0ffee*c0ffe, отримуємоlink) відповідь: 9180E4DC0144
Рішення 24-го завданняДля початку визначимо системи числення. 221 не ділиться на 2,3,5, відповідно далі перебираємо прості числа. Отримуємо 13 та 17. Так як в першому числі є символ «e», то відповідно це число в 17-ричной системі числення, тепер просто наводимо числа до однієї системи числення і складаємо, отримуємо відповідь: 13,17,GEEK
Рішення 25-го завданнянайцікавіше на мій погляд завдання. Для початку я почав шукати підказки. Слідуючи рекомендаціям у вихідному коді, я поліз в HTTP-заголовки. Було два заголовка:

X-Podskazka-1:Ce russkiy tekst
X-Podskazka-2:Zashifrovan shifrom prostoy zameny

Після цього стало ясно, що треба застосовувати частотний аналіз тексту. Написав невеликий скрипт, який визначив частотність.

import collections
# -*- coding: utf-8 -*-

fl = open("file.txt")
text = fl.read()

c = collections.Counter(text.decode('utf-8').replace(',',").lower())

total_word_count = sum(c.values())
for word count in c.most_common(33):
print word count, count*1.0/total_word_count

Знайшов таблицю частотності літер wikipedia
Склав таблицю:

Таблиця відповідностіТаблиця відповідності
Вихідний код Частотність букв російської мови
Ь
Ш Е
А
І І
Н
Т
Щ
Д Р
Ї
Ф Л
Х
Ю М
Ж Д
П
П
Е Я
Н И
Е Ь
Р
Р З
Ц Б
Т Ч
А Ї
Л Х
И Ж
З Ш
Б Ю
Р Ц
Я Щ
Ч Е

Потім скористався цим сайтом

Отримавши частотний словник, я почав вибирати слова з 3-х літер. Ось перші відповідності, я виписав їх у тому порядку, в якому знаходив.

хох —
хохиш — які
хохиш-диць — будь-які
хьнко-диць — коли-небудь
уихьнко — ніколи
пышнь — мого.

Потім я вирішив розшифрувати одну фразу. Вибір припав на:

Цедь ьхьдь тшвещшз тойьф куе, хьнко пе

Частково дешифрованная фраза
Було близько *е*и*е* *а*о* дн*, коли ми

Далі став шукати відповідності:

тшнь — чого
фикипь — мабуть
твь — що
Фраза стала:
Було близько чоти*е* ча*ів дн*, коли ми
 

За змістом підходила фраза:
Було близько чотирьох годин дня, коли ми

А далі я вбив цю фразу в лапках в пошуковий рядок яндекса і дізнався, що ця фраза з роману «Золотий жук». Назва роману і було відповіддю.

Для пошуку слів використовував цю посилання

Спасибі за увагу!
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.