Прохождение квеста от mail.ru

в 9:28, , рубрики: головоломка, Занимательные задачки, квест, паззл

Под катом описание того, как я прошел квест от mail.ru (квест). Если не хотите портить впечатление от квеста, не ходите под кат.

Если нет приветственной страницы

В самом начале после перехода по ссылке я увидел картинку, что квест не предназначен для мобильных устройств. Запустив девелоперскую консоль хрома, я нашёл в style.css блок media и изменил 1200px на 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.

Команды для ubuntu

sudo 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

Команда для Linux

date -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:Eto 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-х букв. Вот первые соответствия, я выписал их в том порядке, в котором находил.

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

Потом я решил расшифровать одну фразу. Выбор пал на:

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

Частично дешифрованная фраза

Было около *е*ы*е* *а*о* дн*, когда мы

Дальше стал искать соответствия:

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

По смыслу подходила фраза:

Было около четырёх часов дня, когда мы

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

Для поиска слов использовал эту ссылку

Спасибо за внимание!

Автор: caban

Источник


  1. Sandra:

    Спасибо, что поделились таким ценным контентом. Для декодирования и кодирования есть отличная альтернатива
    https://url-decode.com/
    с более чем 100 веб-утилитами.

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js