Хабраквест в честь 20-летия Mail.Ru Group: победители и ответы +28


Полночь воскресенья прошла, и пора выбрать счастливчиков, которые получат призы за прохождение квеста-головоломки: puzzle.mail.ru. Самый первый прошедший получает главный приз, а остальные подарки мы раздадим случайным образом.

UPD: Внутри поста вы можете скачать сертификат участника



Итак, напомним условия:

  • Первый, кто правильно решил все задачи, получит набор с Raspberry Pi 3.
  • Ещё 20 призёров будут выбраны случайным образом с помощью randstuff.ru из тех, кто решил все задачи до полуночи воскресенья (21 октября) по московскому времени. Везунчики получат специальные призы от DC, Диск-О, GeekBrains и других продуктов компании.

Главный приз получает — тадам! — пользователь с ником nis! Он начал проходить квест практически сразу после публикации и уложился меньше, чем за 2 часа. Поздравляем, ты молодец!

А вот и остальные призёры:

· dNix
· andranik3949
· capfreedom228
· term1nal
· qwertyu123
· Yor
· trololo
· uid
· prettysmilefordevil
· qqwwqq_itog
· exdark
· cryptopirate
· rus--hitman
· AlienaAngel
· Mi7teR
· Avis Rara 2
· nok1a
· Vovcick
· AK2
· ApollopA1

Мы люди честные, поэтому вот видео с процедурой выбора. Благодарите randstuff.ru :)

Поздравляем всех призёров с победой! Мы напишем вам на указанную почту.

Сертификат участника




Правильные ответы


№1 Пин-пад и тепловизор
Вопрос
Вы работаете шпионом на полставки и вам необходимо узнать пин-код, который только что кто-то ввел на клавиатуре. К счастью, вы успели сфотографировать его с помощью тепловизора.

image

Как решать
Белым цветом на белом фоне была дана подсказка:
Тепловизор показывает холодные области оттенками синего; чем теплее область, тем она ближе к красному цвету.

С помощью хорошего тепловизора можно различить разницу температур меньше 0.5 °C, в т.ч. прикосновение руки (см. мой пост).
Поэтому те кнопки, которые нажимались раньше будут более «остывшими».
Ответ
5074

№2 Как называется предмет
Вопрос
Как называется предмет, изображенный на фотографии?

hint in filename

Как решать
Во всплывающей подсказке к картинке написано «hint in filename».
Имя файла hcraes-egami-esrever-elgoog.jpg. Если перевернуть — google-reverse-image-search.

Скармливаем полный URL картинки в Google.
Ответ
image

№3 Ильич
Вопрос
image
Как решать
Подсказка: имя файла limpidity.png переводится как «прозрачность».
Достаточно просто открыть изображение в новой вкладке браузера или в графическом редакторе, чтобы увидеть ответ.
Ответ
1917

№4 Город на фото
Вопрос
Как называется город, изображенный на фотографии?


Как решать
Подсказка: имя файла exif.jpg — Exchangeable Image File Format — позволяет добавлять к изображениям метаданные, в т.ч. геокоординаты.

Нужен просмотрщик картинок с функцией чтения EXIF, например, XnView.
Получаем координаты 55° 20' 37.51" северной широты, 36° 11' 9.12" восточной долготы.
Вводим 55° 20' 37.51" 36° 11' 9.12" в любой картографический сервис (Google Maps, Яндекс.Карты) — узнаем название города.
Ответ
Верея

№5 Знак ?
Вопрос

Как решать
Подсказка: имя файла zoom.png
Знак вопроса на странице — это, на самом деле, картинка. Достаточно просто открыть её в новой вкладке браузера или увеличить масштаб, чтобы увидеть ответ.

№6 Оффлайн
Вопрос
Этот этап можно пройти, только отключившись от интернета
Как решать
Можно или действительно отключить Интернет/перевести браузер в «автономный режим», или открыть код страницы и раскодировать ответ urldecode.
Ответ
кириллица

№7 Лабиринт
Вопрос
Какой буквой обозначен выход из лабиринта?
Как решать
В коде страницы можно найти подсказку — там ASCII-артом нарисовано ведро с краской.
Открываем картинку с лабиринтом в любом графическом редакторе и заливаем инструментом paint bucket точку рядом со входом.
Ответ
М
image

№8 Крутятся хэши
Вопрос
<div class="spin md5">
    9f61408e3afb633e50cdf1b20de6f466</div>
Как решать
В коде страницы можно найти подсказки: «decode me» и «md5».
MD5 — это алгоритм хэширования. Хотя расшифровка невозможна, существуют интернет-сервисы, которые могут найти исходный текст по хэшу.
Ответ
Число от 0 до 99 в зависимости от вашего варианта

№9 ASCII-арт
Вопрос
г=VT-100======================================================================¬¦                   --------¬------¬  ------¬ ---¬   --¬                      ¦¦                   L==--г==---г==--¬--г===--¬----¬  --¦                      ¦¦                      --¦   ------г---¦   --¦--г--¬ --¦                      ¦¦                      --¦   --г==--¬--¦   --¦--¦L--¬--¦                      ¦¦                      --¦   --¦  --¦L------г---¦ L----¦                      ¦¦                      L=-   L=-  L=- L=====- L=-  L===-                      ¦L=========

Как решать
VT-100 намекает на терминал с 80 символами в строке. Остается открыть код и либо расставить переносы строк после 80-го символа, либо, изменяя ширину окна, добиться читабельности надписи.
Ответ

№10 Бип-бип-бип
Вопрос

Как решать
В коде страницы есть подсказка id3 tag. ID3 позволяет сохранять мета-информацию в MP3. В нашем случае в MP3 есть тег Samuel Morse — изобретатель кода Морзе.
Декодируем морзянку: три коротких — три длинных — три коротких.
Ответ
SOS

№11 Сеть
Вопрос
Где-то в этой сети расположен сервер. Найдите его — ответом будет его имя.
Как решать
Проще всего (и доступно каждому) сохранить страницу к себе на компьютер, потом найти в папке с ресурсами второе изображение.
Можно включить режим отладки браузера и найти во вкладке сеть изображение с сервером.
Можно найти регулярным выражением в HTML-коде страницы.
Самый «дубовый» способ — уменьшить масштаб страницы по максимуму и найти глазами.
Ответ
mainframe или moby — в зависимости от варианта

№12 Unicode
Вопрос
O + 1 = d
Четыре варианта:
¦ ? O = ответ
? ? O = ответ
¦ ? O = ответ
¦ ? O = ответ
Как решать
Символы вставлены в HTML с помощью своих 16-значных кодов в Unicode.
Первая строка является подсказкой: 0x263A + 0x31 = 0x266B, т.е. единица здесь представляет не себя, а код 0x31 (49).
Таким образом, для получения ответа на калькуляторе в шестнадцатеричном режиме вычитаем из первого кода символа второй. Полученную разность преобразуем назад в символ по таблице Unicode. В Windows для этого есть утитита charmap.exe.
Ответ
¦ ? O = ,
? ? O = 5
¦ ? O = )
¦ ? O = +
P.S. если вы указали в ответе десятичный или шестнадцатеричный код, это тоже зачтено.

№13 image
Вопрос
image
Как решать
Буквы на экране «слиплись» из-за правила CSS (отрицательный кернинг). Самое простое: «выделить всё» — «копировать» — «вставить» в любой текстовый редактор.
Фронтенд-программисты также могли бы убрать CSS или раскодировать строку по восьмеричным ASCII-кодам в Javascript.
Получаем строку /ix.zip.
Добавляем ее к адресу сайта, получаем puzzle.mail.ru/ix.zip, скачиваем.
Внутри архива — файл bogus.mp3.
bogus.mp3 не проигрывается аудиоплеером, на что указывает и название «bogus» — т.е. «фиктивный», «поддельный».
Очевидно, расширение не совпадает с настоящим типом файла. Открываем его в блокноте — он начинается с символов GIF89 — значит это gif-изображение. Переименовываем — это на самом деле анимация. Нужно открыть ее в просмотрщике или редакторе, который позволит посмотреть ее покадрово — под Windows подойдет Media Player Classic.
Ответ
agent

№14 RFC 1464 и Lorem ipsum
Вопрос
Ответом является десятичное число
Как решать
Открываем код страницы:
<img src="loremipsum.png" width="2" height="2">
<iframe src="http://quiz14.donkeyhot.org/" width="1" height="1">

У нас, во-первых есть картинка puzzle.mail.ru/loremipsum.png с каким-то текстом на латыни, во-вторых, перейдем на quiz14.donkeyhot.org, где находим следующий ключ: read rfc1464 and try again.
Гуглим, что такое RFC1464 — это документ «Using the Domain Name System To Store Arbitrary String Attributes» либо можно сразу попасть на страницу в Википедии TXT record. Вкратце: в системе DNS можно хранить произвольные публичные текстовые записи, связанные с доменом, получить которые может любой пользователь Интернет.
Узнаем, как прочитать эту самую TXT-запись: либо воспользоваться онлайн-сервисом, либо в командной строке набрать:
nslookup
set type=txt
quiz14.donkeyhot.org


Не заслуживающий доверия ответ:

quiz14.donkeyhot.org text =«puzzle.mail.ru/mask14.gif»
(nslookup должен работать в любой ОС)

Теперь у нас есть две картинки одинакового размера. Вторая, как следует из её имени файла, — это маска, которую мы накладываем на loremipsum.png в любом редакторе, поддерживающем слои (Paint.NET, GIMP, Photoshop и т.д.). Получаем картинку (горизонтальные линии добавлены для упрощения), читаем слева направо, сверху вниз: MCMXCVIII. Текст на латыни намекает, что это число в римской системе счисления. Т.к. ответ по условию должен быть десятичным числом, то переводим сами или на калькуляторе.
M = 1000 +
CM = (1000-100) +
XC = (100-10) +
V = 5 +
III = 3
Ответ
= 1998

№15 Вирус
Вопрос
Гипотетический сетевой вирус заражает любое оборудование. Каждая зараженная машина заражает еще одну каждые 30 секунд.
В вашей сети 10.0.0.0/[19...25] появилась зараженная машина. За сколько минут будут заражены все машины в сети? (Предполагается, что все адреса используются)
Как решать
Варианты меняются от 10.0.0.0/19 до 10.0.0.0/25. Предположим, у нас вариант 10.0.0.0/20.
Узнаем, что это за запись — это адрес сети и маска. Есть онлайн-калькуляторы — гуглятся по запросу «netmask calculator».

Если вручную считать, то число после слеша означает, сколько бит из 32 будет отдано под адрес сети. Оставшиеся 32-20=12 бит можно использовать под адреса машин, т.е. получается 212=4096 адреса максимум (на самом деле 4094, потому что первый адрес 10.0.0.0 — это адрес сети, а последний 10.0.15.255 — широковещательный, но это не влияет на ответ).

Количество зараженных машин растет в геометрической прогрессии каждые 30 секунд: 2, 4, 8… Легко заметить, что число зараженных машин $N(t)=2 ^ {2t}$, где t — время в минутах. N=4096 и обратная функция даст нам искомое время полного заражения:

$t = \frac{log_2N}{2} = \frac{log_24096}{2} = 6$



P.S. В этом вопросе небольшая недоработка: не указано, как округлять ответ. Поэтому за правильные зачтены дробные, а также округленные вверх и вниз.
Ответ
От 3 до 7 минут в зависимости от варианта.

№16 CellID
Вопрос
Вы случайно выпали за борт, делая селфи на круизном лайнере, но смогли доплыть до ближайшего острова.
Нужно понять, где вы находитесь. У вас нет GPS, но вы включили инженерный режим в телефоне и увидели следующую информацию:
… MCC:372,MNC:1,LAC:2300,CellID:33250
Как называется остров?
Как решать
Гуглим, что такое коды MCC, MNC, LAC, CellID.
MCC=372 указывает на Республику Гаити. Но Гаити принадлежит несколько островов. Вбиваем все коды в базу вышек сотовой связи, например тут, и узнать точное местоположение на карте.
Ответ
Гаити

№17 Даты
Вопрос
01-01-1970 40587
15-10-1998 51101
15-10-2008 54754
15-10-2018 ???
Как решать
В коде находим: подсказка для получения подсказки: как будет по-английски «печенье»?
Печенье по-английски cookie или biscuit.
Первое — явный намёк на куки. Любым способом узнаем куки страницы, например, через панель веб-разработки (Chrome, FF, IE — F12, Opera Ctrl+Shift+I).
Замечаем куки podskazka_17_sha256 — это хэш, ищем онлайн сервис раскодировки SHA-256, получаем MJD. Узнаем, что это — Modified Julian Date.
В общем-то и без подсказки легко догадаться, что числа в правом столбце — это дни. 54754-51101=3653 — похоже на число дней за 10 лет с 3 високосными днями.
В онлайн-сервисе или сами вычисляем MJD для 15-10-2018. Если сами, то 54754+365*10+2
Ответ
=58406
P.S. В виде исключения, как правильный ответ засчитывается 58407

№18 Сложение в столбик
Вопрос
image
В примере некоторые цифры заменены на буквы.
Найдите, чему равны эти цифры и запишите ответ в виде ABCDE, например, 12345.
Как решать
Можно, конечно, решить перебором на компьютере, но можно и на листочке: в складываемых числах по 8 цифр, а в сумме — 9, значит, был перенос, поэтому D в старшем разряде суммы может быть только единицей. D=1.
image
Смотрим следующий разряд — разряд единиц: либо B+B=9, либо B+B=19, но 9 нечетное число, значит из предыдущего разряда пришла единица переноса. Т.е. либо 2B=8, тогда B=4, либо 2B=18, тогда B=9, но девятка уже встречается в открытую, значит, только B=4.
image
Смотрим разряд десятков: теперь известно, что E+C=11.
Смотрим последний (самый правый) разряд 9+4=A, значит A=3 и была единица переноса.
image
Смотрим четвертый разряд после запятой: единицы из предыдущего разряда не переносились, (4+4+1=9) и 1+E=C. Также мы знаем, что E+C=11, т.е. C=11-E, значит 1+E=11-E, переносим 2E=11-1, получается E=5, С=6.
Ответ
34615
P.S. Некоторые так увлеклись, что в ответ записали итоговую сумму вместо значений ABCDE — зачтено как правильное в качестве исключения.

№19 Год посадки деревьев
Вопрос
1. Возьмите два числа, которые складывались на предыдущем уровне.
2. ???
3. Ответом является год посадки деревьев (четыре цифры).
Как решать
Из кода узнаем подсказку: °N °E
На предыдущем уровне мы получили 54,466149 и 64,797544 — сложив с подсказкой, понимаем, что это геокоординаты в градусах.
Вбиваем в картографический сервис, видим юбилейную рощу в Курганской области.
image
Столетний юбилей Ленина праздновался в 1870+100=1970 году
Ответ
1970
P.S. Восемь дотошных человек раскопали, что рощу, возможно, посадили в 1967 году, этот ответ тоже засчитывается.

№20 Бэслемьч кчэафчкыь
Вопрос
Расшифруйте русский текст. Ответом являются слова в скобках.
Для упрощения все буквы Ё в тексте заменены на Е, Ъ — на Ь.
Как решать
В коде подсказка: HTTP — всему голова
Она указывает на подсказки в заголовках HTTP. Их можно посмотреть в отладочной консоли браузера:
X-Hint-1: /hint15.png
X-Hint-2: /_.jpg
В https://puzzle.mail.ru/hint15.png семафорной азбукой зашифровано "ЦЕЗАРЬ".
На https://puzzle.mail.ru/_.jpg изображен персонаж х/ф «Матрица» — Cypher. Если вы вдруг не смотрели «Матрицу», то вы очень много потеряли могли найти имя персонажа поиском по картинке в Google.
Итого получаем Цезарь + cypher = шифр Цезаря
Зная, что это шифр Цезаря, можно взять какое-нибудь слово и, сдвигая символы на N позиций в алфавите, получить значение сдвига 13 максимум за 30 попыток.
NB! В задании непроизвольно получилось усложение, т.к. не было указано, что й заменено на и. Сейчас это исправлено.
Ответ
пляшущие человечки

Статистика

Процент прошедших по уровням
№ ур. прошло человек % от всех
1 5414 83,5%
2 3896 60,1%
3 3666 56,5%
4 3341 51,5%
5 4061 62,6%
6 4097 63,2%
7 2940 45,3%
8 2588 39,9%
9 3180 49,0%
10 2613 40,3%
11 3473 53,5%
12 1683 25,9%
13 1244 19,2%
14 978 15,1%
15 1485 22,9%
16 2245 34,6%
17 1813 27,9%
18 1828 28,2%
19 1683 25,9%
20 1266 19,5%
Количество решенных вопросов
кол-во решенных человек %
1 765 12,2%
2 537 8,6%
3 403 6,4%
4 335 5,3%
5 340 5,4%
6 337 5,4%
7 340 5,4%
8 379 6,0%
9 339 5,4%
10 310 4,9%
11 262 4,2%
12 209 3,3%
13 208 3,3%
14 180 2,9%
15 175 2,8%
16 202 3,2%
17 230 3,7%
18 242 3,9%
19 299 4,8%
20 182 2,9%


Спасибо всем, кто принимал участие! Спасибо AloneCoder и Daria_Yakovleva, которые помогли провести этот квест. Увидимся на следующем квесте!




К сожалению, не доступен сервер mySQL