Pull to refresh

Новогодний zip-квест 2012 – прохождение

Reading time7 min
Views2.4K
Итак, времени с момента запуска квеста прошло достаточно, выкладываю прохождение и кое-какие ответы на «критику». В целом, положительных отзывов значительно больше, чем отрицательных. После разгадывания последней загадки предлагалось сообщить мне о прохождении квеста. Это сделали около 10 человек. Сколько людей скачали файл – не знаю.



Напомню, что по умолчанию паролем является число, причём догадаться о том, что это за число можно всегда, не залезая в глубокие дебри двусмысленностей (как могло показаться некоторым участникам). Кроме того, я предупредил заранее, что участники должны быть немного знакомы с программированием.

Уровень 1. Предлагается pdf-документ с повествованием об определителе матрицы 2x2 и о возведении её в пятую степень. Никакого смысла здесь нет, но можно обратить внимание на выделенные жирным шрифтом буквы, образующие слово mcmxlviii, что очень похоже на запись числа в римской нотации. Это число 1948, оно и является паролем.

Уровень 2. Конечно, можно интерпретировать файл из пробелов и звёздочек как угодно. Но как должен рассуждать человек, который ищет в файле скрытую информацию? Он обязательно проверит, есть ли какие-то скрытые символы, которые так сразу не видны. Возьмет любой нормальный hex-вьювер и откроет в нём файл, увидев сразу матрицу размером 2x2, состоящую из чисел 4 7 1 8 в стиле упрощённого ASCII-art. Можно подумать, что ответом является число 4718 или какие-то другие 23 числа, которые можно получить из этих цифр. Но это неправильных ход мыслей, так как он приводит к неоднозначностям, а считается, что таковых нет. Вы же не думаете, что я зря написал текст про определитель в пятой степени на предыдущем уровне? Определитель равен 25, а в пятой степени он будет равен 9765625.

Уровень 3. В этом уровне подсказка. Должно быть ясно, что выписаны md5-хэши. Первые 6 из них имеют прообразы, которые легко отыскать в Интернете. Они образуют выражение «use your brain and chromosomal crossover». Следующие 2 хэша не поддаются расшифровке. Далее надо посмотреть, что такое «chromosomal crossover» и догадаться, что md5-хэши были разделены пополам, а затем первая половина первого хэша соединена со второй половинкой второго и наоборот. Проделав обратную операцию, вы обнаружите, что эти хэши соответствуют числам 1371454 и 131. Эти два числа нужно перемножить, о чем говорит подсказка «multiply them» из следующих двух md5-хэшей.

Уровень 4. На этом уровне был косяк. Вместо прописных букв требуется вводить пароль строчными. Несмотря на этот косяк, минимум 4 человека прошли уровень все равно. Слова на этом уровне вообще не в тему, нужно считать сколько в каждом букв и проделать с этими числами указанные операции. Получим последовательность чисел 21, 14, 7, 19, 5, 9, что соответствует буквам латинского алфавита s, n, g, u, e, i. Очевидно, что из этих букв можно составить слово «genius». Это подтверждается ещё и тем, что если исходные слова расположить по алфавиту, то буквы встанут в нужном порядке.

Уровень 5. С этим уровнем какая-то беда… Его почти все брутфорсили (в смысле, ломали пароль). На самом деле с моей точки зрения он самый простой. Я предупреждал, что нужно уметь пользоваться поиском в Интернете. Находим последовательность A112676 в энциклопедии целочисленных последовательностей. Там написано, что эта последовательность даёт количество гамильтоновых циклов на треугольной решётке с n узлами на каждой стороне. Например, на следующем рисунке изображена такая решётка для n=4.



На ней можно найти 3 гамильтоновых цикла. Видно, что в исходной последовательности отсутствует ответ для n=8. Его нетрудно посчитать на обычном домашнем компьютере, написав несложную программу, которая полным переборам рассчитывает гамильтоновы циклы. Конечно, если написать совсем абы как, то программа будет работать несколько часов. Если реализовать нехитрые отсечения, то время работы не должно превышать 30 минут. Многие сомневались, что нужно что-то считать, но подсказка была в том, что пост находится в разделе «Спортивное программирование». Вы же не думаете, что это просто так? Ответ 1371454. Кстати, это число уже встречалось, не так ли?

Хотя… брутфорсить пароль было, наверное, проще? Это не запрещено в квесте и подходит под категорию «умение пользоваться некоторыми инструментами».

Уровень 6. Этот уровень (вместе с 9-м) больше всего понравился, если судить по отзывам, пришедшим мне на почту или в ЛС. Видно, что текст, посвященный ассемблеру yasm, отформатирован как-то криво и неестественно, наводит на мысль и то, что текст разбит на 10 строк, а подсказка гласит, что ответом являются 10 букв. Приглядевшись внимательно, можно увидеть, что в каждой строке в качестве разделителей между словами участвуют пробелы (код 32) и табуляции (код 9). Если заменить пробелы на символ «.», а табуляции на символ «-», получим морзянку. Вооружившись таблицей соответствия букв последовательностям «точек» и «тире», получаем слово rationlity (намеренно написано с ошибкой). Это и есть пароль.

Уровень 7. Идею позаимствовал у Марии. Вспомнив связь между уровнями 1 и 2, кто-то подумает, что раз в 6-м уровне написано про ассемблер, то файл Level7.asm нужно компилировать. Если кто-то разбирается в ассемблере и смог запустить программу в режиме эмуляции DOS, то он получил надпись «You didn't think that it would be as easy as downloading the compiler and running the program, did you? It would be too easy! Use out of the box thinking.», в которой разве только ехидного смайлика не хватает. На самом деле уверен, что разгадку многие нашли без этого, просто посмотрев на комментарии. Если выровнять комментарии по символу «;», как это обычно делают в красивых программах, получим цифры 3 5 9 0 2 6. Можно поломать голову, что бы это значило, а можно просто ввести 359026 в качестве пароля :)

Уровень 8. Почему-то тоже брутфорсили. Там в файле с заданием написано, что нужно изобразить шахматную доску и построить какую-то выпуклую фигуру, натянутую на некоторые точки, затем посчитать периметр, площадь, перемножить их, округлить вниз и перевести в двоичную систему (почему так сложно? Вдохновение закончилось, видимо). При этом в папке с заданием лежат 6 файлов, по которым нужно было догадаться, какие точки на шахматной доске отмечать. Итак,
a.pdf – Это витамин b5, что легко отыскать в интернете по фразе, которая в этом документе. Значит одна из точек на доске будет b5.
b.pdf – «Почти 200» — это 199. Нетрудно догадаться, что имеется ввиду 16-я система счисления, где есть буквы (ведь на шахматной доске координаты задаются буквами и цифрами). 199 = 0xC7. Значит имеется в виду клетка c7.
c.pdf – Совершенно тупой ребус. Означает E3. Появился этот ребус по моему недоумению. Изначально задумка была другой – в числителе изобразить картинку из Википедии, на которой показан способ кодирования дробного числа с одинарной точностью в формате IEEE-754. Но почему-то я задумался и забыл про данную идею. А всё равно бы разгадали: )
d.png – Это мажорный септаккорд от ноты «ми». На рисунке изображается один из вариантов его постановки на гитаре. Обозначается в музыке через Е7.
e.png – Здесь зашифрована кнопка F5 на клавиатуре, которая в некоторых случаях используется для копирования файлов.
f.jpg – Это же Nokia-C3. На картинке это видно.
Теперь рисуем фигуру. Она намеренно сделана простой и симметричной. Для того чтобы можно было угадать одну-две точки, если подсказки не поддались (в самом деле, многие ли из уроков музыки в школе помнят, что такое мажорный септаккорд и как изображают аккорды на гитаре?).



площать фигуры равна 12, а периметр равен 4+4*sqrt(5). Перемножаем, округляем вниз, получаем 155. Нужно записать это число в двоичной системе в качестве пароля.

Уровень 9. Идея тоже взята у Марии – понравилась мысль закодировать послание в виде скрытых пикселей на изображении. Перед Вами 4 квадрата с цветами. Три из них как бы намекают на RGB, а четвертый как бы намекает, что если их соединить, то будет оттенок серого (в данном случае – белый). Но прежде чем соединять квадраты, нужно сделать видимыми скрытые пиксели на каждом из них. Это делается практически любым инструментом редактирования изображений, который в состоянии выделять пиксели заданного цвета. Соединив кусочки паззла, получаем пароль «nsvjkjltw», в котором при определённых навыках можно угадать фразу «ты молодец». Этот уровень (вместе с 6-м) также многим очень понравился.

Дальше идёт финальная картинка, в которой я просил сообщить мне о прохождении квеста. Сделавших это на данный момент оказалось около 10 человек. Уверен, что многие прошли и не утруждали себя уведомлениями.

Теперь ответ на некоторую «критику», которая имела место. Ясно, что недовольные есть всегда. Очевидно, что на всех не угодишь. Люди разные и всем подавай разные задачи. Однако замечание по поводу того, что в задачах множество двусмысленностей я принять не могу никак. Вспомните игру «Что? Где? Когда?». Там бывают такие задания, когда знатокам выносят в зал какой-то предмет или вообще чёрный ящик. Иногда (хотя не всегда) говорится какая-то фраза, а потом задаётся вопрос типа «назовите загаданное словосочетание». Под вынесенный предмет и подсказку подходит что угодно, совершенно любое словосочетание, однако знатоки всё равно называют загаданную фразу правильно (иногда ошибаются, правда). Почему они угадывают? Потому что они умеют видеть в задании что-то такое, что явно указывает на ответ. Нечто, с помощью чего становится практически очевидным, что именно «это» загадано, а не «то». Разберём примеры недовольных.

Мне говорят, что в первом задании хотелось подсчитать буквы a,b,c,d, и считать что-то по приведённой формуле. При таких рассуждениях можно обнаружить, что подходят и другие попытки комбинировать буквы каким угодно образом и другие варианты подсчета, с какой угодно сложностью. А я предупредил, что серьезных двусмысленностей НЕТ. Значит данная логика заведомо неправильная, так как приводит к слишком большому набору вариантов. А какой смысл тогда выделать жирным шрифтом буквы? Неужели это просто так сделано? Вот отсюда и надо было плясать, а не думать, что у вашего pdf-вьювера глюки.

Кто-то сказал, что во втором задании звёздочки и пробелы можно интерпретировать как числа в двоичной системе, а потом их складывать или делать с ними что угодно. Разве в задании что-то указывает на это? Разве где-то предлагается складывать (а почему не умножать, делить или вычитать?)? Нет. Значит такая логика заведомо неверна, так как приводит к массе вариантов, каждый из которых никак явно из задания не следует.

Ну и так далее. Я считаю, что задания получились в целом удачными, если не зацикливаться на какой-то идее, а пытаться мыслить шире. Поэтому критика по поводу двусмысленностей не принимается. Если двусмысленности и были, то не настолько обширные, чтобы можно было заблудиться в вариантах. Кто прошёл квест, сделали это спокойно и вроде не жаловались.

Всем спасибо за проявленный интерес! Мне самому было очень интересно наблюдать за развитием событий. Чья следующая очередь делать загадки?
Tags:
Hubs:
Total votes 35: ↑28 and ↓7+21
Comments9

Articles