Хабраквест в честь 20-летия Mail.Ru Group: победители и ответы +28
Блог компании Mail.Ru Group, Занимательные задачки
Рекомендация: подборка платных и бесплатных курсов Java - https://katalog-kursov.ru/
Полночь воскресенья прошла, и пора выбрать счастливчиков, которые получат призы за прохождение квеста-головоломки: 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 Пин-пад и тепловизор
ВопросВы работаете шпионом на полставки и вам необходимо узнать пин-код, который только что кто-то ввел на клавиатуре. К счастью, вы успели сфотографировать его с помощью тепловизора.
Как решатьБелым цветом на белом фоне была дана
подсказка:
Тепловизор показывает холодные области оттенками синего; чем теплее область, тем она ближе к красному цвету.
С помощью хорошего тепловизора можно различить разницу температур меньше 0.5 °C, в т.ч. прикосновение руки (см. мой
пост).
Поэтому те кнопки, которые нажимались раньше будут более «остывшими».
№2 Как называется предмет
ВопросКак называется предмет, изображенный на фотографии?
Как решатьВо всплывающей подсказке к картинке написано «hint in filename».
Имя файла hcraes-egami-esrever-elgoog.jpg. Если перевернуть — google-reverse-image-search.
Скармливаем полный URL картинки в Google.
№3 Ильич
Как решатьПодсказка: имя файла limpidity.png переводится как «прозрачность».
Достаточно просто открыть изображение в новой вкладке браузера или в графическом редакторе, чтобы увидеть ответ.
№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 точку рядом со входом.
ОтветМ
№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 — изобретатель кода Морзе.
Декодируем морзянку: три коротких — три длинных — три коротких.
№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
Как решатьБуквы на экране «слиплись» из-за правила CSS (отрицательный кернинг). Самое простое: «выделить всё» — «копировать» — «вставить» в любой текстовый редактор.
Фронтенд-программисты также могли бы убрать CSS или раскодировать строку по восьмеричным ASCII-кодам в Javascript.
Получаем строку
/ix.zip.
Добавляем ее к адресу сайта, получаем
puzzle.mail.ru/ix.zip, скачиваем.
Внутри архива — файл bogus.mp3.
bogus.mp3 не проигрывается аудиоплеером, на что указывает и название «bogus» — т.е. «фиктивный», «поддельный».
Очевидно, расширение не совпадает с настоящим типом файла. Открываем его в блокноте — он начинается с символов GIF89 — значит это gif-изображение. Переименовываем — это на самом деле анимация. Нужно открыть ее в просмотрщике или редакторе, который позволит посмотреть ее покадрово — под Windows подойдет Media Player Classic.
№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
№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 бит можно использовать под адреса машин, т.е. получается 2
12=4096 адреса максимум (на самом деле 4094, потому что первый адрес 10.0.0.0 — это адрес сети, а последний 10.0.15.255 — широковещательный, но это не влияет на ответ).
Количество зараженных машин растет в геометрической прогрессии каждые 30 секунд: 2, 4, 8… Легко заметить, что число зараженных машин
, где t — время в минутах. N=4096 и обратная функция даст нам искомое время полного заражения:
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 Сложение в столбик
Вопрос
В примере некоторые цифры заменены на буквы.
Найдите, чему равны эти цифры и запишите ответ в виде ABCDE, например, 12345.
Как решатьМожно, конечно, решить перебором на компьютере, но можно и на листочке: в складываемых числах по 8 цифр, а в сумме — 9, значит, был перенос, поэтому D в старшем разряде суммы может быть только единицей.
D=1.
Смотрим следующий разряд — разряд единиц: либо B+B=9, либо B+B=19, но 9 нечетное число, значит из предыдущего разряда пришла единица переноса. Т.е. либо 2B=8, тогда B=4, либо 2B=18, тогда B=9, но девятка уже встречается в открытую, значит, только
B=4.
Смотрим разряд десятков: теперь известно, что
E+C=11.
Смотрим последний (самый правый) разряд 9+4=A, значит
A=3 и была единица переноса.
Смотрим четвертый разряд после запятой: единицы из предыдущего разряда не переносились, (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 — сложив с подсказкой, понимаем, что это геокоординаты в градусах.
Вбиваем в картографический сервис, видим юбилейную рощу в Курганской области.
Столетний юбилей Ленина праздновался в 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