В этой статье я опишу полное прохождение нашего третьего квеста.
Напоминаю его адреса:
Русская версия
Английская версия
Очень жаль, что в него поиграло такое небольшое количество народу, по сравнению с первым или вторым, но, наверное, люди не доверяют exe-файлам или просто не любят ставить что-то на свой компьютер. А зря, квест действительно интересный и стоящий, он не даст вам заскучать, а часто даже повеселит вас, и вы в этом сможете убедиться, почитав его прохождение-описание.
Помимо сухого прохождения я расскажу, как получить все достижения квеста и доступ к секретной карте, доступной после прохождения основной сюжетной линии, а также опишу все отсылки к другим фильмам/книгам/сериалам/играм, которые были использованы при создании квеста.
Очень надеюсь на то, что публикация полного прохождения побудит многих все-таки пройти игру или хотя бы несколько карт, очень уж много сил и времени было потрачено на ее создание.
Сначала - пара слов о клиенте квеста. Написан на C++ и использованием ClanLib, boost, stl. Вся графика, звук и прочие медиафайлы в упакованном и частично шифрованном виде хранятся в нескольких файлах - полный архив мультимедии и XML-конфигурации для русского и английского языка (карты, спрайты, диалоги).
На серверной стороне всё обслуживается большим количеством PHP-скриптов. В качестве хранилища данных используется БД MySQL.
Клиент перед запуском всегда запрашивает желаемый язык. После входа в игру можно настроить громкость звука и музыки. Имеется также файл конфигурации клиента system.conf, который необходим для модификации настроек, которые редко нужно трогать обычным пользователям. Если у вас слабый компьютер и игра не идет/тормозит, можно изменить способ рендеринга с OpenGL2 на OpenGL1 или даже Software (см. файл конфигурации). Однако после этого стоит ожидать ухудшение качества графики, особенно эффектов. Если вы не имеете прямого подключения к интернету, а используете прокси, в том же файле можно настроить адрес и порт прокси-сервера. При необходимости можно указать логин и пароль прокси-сервера (правда, поддерживается исключительно Basic-авторизация).
Никаких левых файлов или записей в реестре квест не создает, установки он также не требует.
Ладно, не буду больше о скучных подробностях внутреннего устройства, лучше перейдем к самому прохождению! Оно организовано таким образом, чтобы затронуть все мельчайшие интересные детали сюжета, ачивментов.
Вот таким образом будут выделяться моменты, относящиеся к IT-заданиям, которые вставлены в основной сюжет квеста.
Таким образом, вы сможете пробежаться по решениям исключительно IT-задачек, а можете и полностью все прочесть. К слову, практически у всех заданий ответ я не даю, оставляя вам возможность совсем чуть-чуть подумать, когда уже понятно, что же надо делать, и почему именно так, а не иначе.
Карта "Лесная опушка".
Это стартовая локация, на которой мы оказываемся сразу после регистрации и входа в игру. Карта маленькая, всего на один экран. Первое, что мы видим перед собой - это Соник, нетерпеливо ожидающий, когда же вы к нему подойдете.
Но с самого начала желательно не к Сонику идти, а найти скрытый предмет, находящийся на этой же карте. Он был добавлен после создания английской версии квеста в качестве бонуса и телепортирует вас на дополнительную секретную карту. Если вы начнете проходить карту с Соника, а потом найдете этот предмет, то есть вероятность отката некоторых событий на несколько шагов назад. И это не баг, это фича, честно обоснованная в диалогах с персонажами на вышеупомянутой секретной карте. :) Впрочем, если вы не воспользуетесь этим предметом, то ничего страшного не случится - карта не относится сюжету и прохождение от нее не зависит.
Что ж, давайте сначала все-таки ее и пройдем, прежде чем приступать к основному сюжету квеста. Для этого следует подойти к месту, отмеченному на карте, и подобрать пирожок. :)
Карта "Эквестрия".
После этого мы телепортируемся на скрытую карту с понями, не относящуюся к сюжету. И заодно получаем достижение за то, что нашли ее. Эта карта - одна большая отсылка к сериалу My Little Pony: Friendship is Magic, ставшему таким популярным среди молодых людей, для которых он совершенно не предназначался. Если вы его не смотрели или предвзято к нему относитесь - не беда, вас не будут спрашивать о каких-то специфичных вещах, которые может знать только продвинутый пониеб. Сюжет этой карты, в общем-то, не запутан. Из более-менее сложных заданий тут присутствует всего одно (IT). Впрочем, вы можете пропустить несколько абзацев прохождения и вернуться к карте с Соником, если вас это совершенно не интересует. Но мы начинаем прохождение.
Первым делом подойдем к Твайлайт Спаркл и поговорим с ней. После диалога мы сможем пообщаться с другими персонажами на карте. Все персонажи просто отдыхают и не нужнаются в помощи, кроме Пинки Пай, у которой кто-то украл маффины, заготовленные для пикника. Пинки предлагает нам пообщаться с ее друзьями и узнать, кто бы это мог быть.
Рарити посоветует нам пообщаться с пегасами, так как они всегда высоко летают и видят всё сверху. Рейнбоу Дэш ничего не видела, но Флаттершай подскажет нам, что маффины украла Дитзи Ду, но куда она улетела - Флаттершай не помнит. Теперь пришло время обратиться к Рейнбоу Дэш, к которой внезапно вернется память, но поймать Дитзи она согласится только в том случае, если мы ей принесем что-то очень крутое.
Поговорим с Рарити, и она с радостью даст нам красивое ожерелье, которое мы и отнесем Рейнбоу. Но не тут-то было! Дэш скажет, что ожерелье должно быть примерно на 20% круче. Обратимся за помощью к Твайлайт Спаркл, которая с помощью магии могла бы улучшить ожерелье, но она признается, что сейчас очень голодна, и попросит принести ей что-нибудь поесть. У Эпплджек есть с собой яблоки, из которых можно испечь яблочный пирог, но одна она этого сделать не может - ей нужна помощь еще кого-то из пони. Обратимся к безотказной Флаттершай - она с радостью поможет Эпплджек, но сначала попросит нас накормить ее питомцев - кролика Ангела и нескольких лесных птичек.
Отдадим полученную от Флаттершай морковку кролику, а сами отправимся кормить пшеном птичек - всего их три, и найти их не так уж сложно. Что ж, дело сделано, пойдем и сообщим об этом Флаттершай, которая после этого поможет Эпплджек с пирогом. Пообщаемся с Эпплджек и получим кусочек, который отнесем Твайлайт.
Твайлайт попробует преобразить наше ожерелье, но, как оказалось, с магией не все так просто, и ей нужна наша помощь. Мы получим книгу заклинаний, и Твайлайт предложит нам произнести "крутота-заклинание". :D Если ничего не получается с книгой, можно обратиться к Рарити, которая уже имела дело с такой магией, и она подскажет, что всю книгу читать не надо - нужное заклинание где-то в самом конце.
Книга, по сути - это RAR-архив, в котором находится текстовый документ размером в несколько гигабайт, и открыть его подручными средствами не так-то просто. Следуя подсказке Рарити, можно просто прочесть последние несколько байтов документа - в них и содержится нужное нам слово. Это можно сделать, набросав простенький скрипт (или программу) на любом языке программирования, который откроет файл и выведет несколько символов с его конца. Можно, конечно, и извратиться, открыв файл в каком-то редакторе, который умеет обрабатывать огромные текстовые документы, вроде 010Editor'а, и пролистать его в самый конец.
Итак, сообщаем заклинание Твайлайт, и наше ожерелье становится гораздо круче! После этого его можно смело нести Рейнбоу. Она с удовольствием заберет ожерелье, после чего поможет нам поймать Дерпи (она же Дитзи Ду). У нее мы и заберем украденные маффины, после чего вернем их Пинки Пай. Она радостно нас поблагодарит, после чего нам следует отправиться к Твайлайт - сообщить о наших добрых делах. Здесь же мы получим наше второе достижение за прохождение карты.
Твайлайт будет готова телепортировать нас обратно в родной мир, дав возможность попрощаться напоследок с ее друзьями и предупредив, что заклинание может откинуть нас во времени (я говорил об этом чуть выше). Можно поговорить с персонажами на карте, если есть желание, а потом, обратившись с Твайлайт, отправиться на уже знакомую карту с Соником.
Карта "Лесная опушка".
Теперь пришло время поговорить с заждавшимся нас Соником. Тут об отсылке даже говорить не стоит, Соник он и есть Соник, кто ж его не знает. Он поприветствует нас весьма сурово, и через какое-то время мы выясним, что Соник, оказывается, опытный гопник. :) На этой карте есть возможность получить аж 3 достижения. Чтобы получить одно из них, ни в коем случае не оскорбляйте в диалогах Соника, как бы он вас не обзывал. Соник расскажет нам, что он случайно потерял свои кольца, которые приносят ему удачу, и попросит нас найти их. Если не поможем - мобилу отберет. :) Колечек всего 10, и если найти их быстрее, чем за 3 минуты, и отдать Сонику, то получим еще одно достижение.
Наконец, если ни разу не потревожить Соника во время поиска (то есть, не пытаться впарить ему меньше 10 колец), то получим третье достижение.
Продолжим диалог, и узнаем, что Соника, оказывается, киданули какие-то пацаны на деньги, а сам он на их поиски отправиться не может - больно уж прибыльная опушка - поэтому он просит нас найти их за него. Соник даст нам КПК, в которых он сам-то не особо разбирается, и потребует, чтобы мы узнали местоположение кидал, а именно - их почтовый индекс. При клике на КПК мы увидим координаты, которые следует просто аккуратно переписать в поиск Google Maps, и получим желаемое число в ответ. Сообщим индекс Сонику, и наконец-то он останется довольным и даже наградит нас какой-то вещицей. Здесь, кстати говоря, есть очередная отсылка к "Марио" - реплика Соника и флейта, которую он нам даст. Звук флейты тоже из "Марио". Тут же мы получим достижение за то, что были крайне культурными в общении с ним.
Что ж, используем флейту...
Карта "Дремучий лес".
Пейзаж поменялся, и мы оказываемся на большой мрачноватой лесной карте. Здесь также можно получить 3 достижения. Сразу же чуть выше нашего месторасположения видим монетку - и подбираем ее. Если кликнуть на монетку в инвентаре, то можно понять, что в лесу спрятано еще две таких. Они, между прочим, спрятаны достаточно несложно, полностью ни одна из них не скрыта деревьями. Чуток побродив по лесу, находим две остальные и получаем первое достижение. Возможно, кто-то поймет, что эти монетки - незаметная отсылка к игре World of Warcraft (там можно было вылавливать монетки из фонтана, и многие из них имели похожие описания).
Теперь можно приступать к прохождению карты. Вы, возможно, уже заметили на карте чародея Ирлануса, который пугает нас магией, но ни на какие разговоры не идет. Поэтому подходим к Лионе - она находится справа от того места, где мы очутились после телепортации, у костра. По секрету скажу, что это единственный персонаж, с которым мы будем идти через все препятствия почти до самого конца игры. Лиона, как оказывается, весьма положительный и доброжелательный персонаж, начинающий ассасин, не желающий нам зла (lolwut...). Она бы с радостью вывела нас из этого мрачного леса, но, увы, сама пока не может уйти - во время тренировки потеряла пару своих кунаев (это ножички такие метательные). И, естественно, просит нас помочь ей в поисках. Один кунай обнаруживается достаточно быстро под деревом, которое находится ниже Лионы. А вот второй можно даже и не пытаться искать - на карте его нет. Относим Лионе первый и жалуемся ей на то, что второго-то нет нигде! Лиона просит нас продолжить поиски.
Пришло время наведаться к Ирланусу. После непродолжительного разговора выясняем, что Лиона случайно чуть не попала кунаем в мага, и из-за этого он очень зол и не собирается нам его возвращать. Рассказав об этом Лионе, узнаем, что кунаи - это ее семейная реликвия, и уходить из леса без них она ну никак не может. Выполняем ее просьбу и снова идем к магу. Попытаемся его уговорить.
Ирланус коварен - он соглашается отдать нож, но только если мы поможем ему в его злобном эксперименте. Выхода нет, приходится согласиться. Ирланус выдает нам пару Кристаллов Силы и требует, чтобы мы расставили их на древние постаменты в лесу. Задание несложное, постаменты найти можно очень быстро. Чтобы разместить кристалл, достаточно подойти вплотную к постаменту и кликнуть по камню в инвентаре.
С этим заданием связано очередное интересное достижение. Чтобы получить его, нужно выполнять квест Ирлануса дольше пяти минут.
Казалось бы, что маг должен отдать нож, как и обещал... Но нет! Он требует, чтобы мы отправились в параллельный мир и узнали имя мага, который так мешает Ирланусу в проведении его коварных опытов. Для этого требуется просто откушать гриб, который Ирланус нам и даст. :) Если куснуть гриб трижды, то получим соответствующее достижение (последнее на этой карте).
По факту, нам придется пройти игру-в-игре - ссылка, которую вы получаете при откусывании гриба, ведет на упоротую короткую игрушку, которую следует пройти, часто принимая нестандартные решения. А все для того, чтобы в конце увидеть текст "The magician is castle", или что-то в этом роде... В любом случае, полное прохождение есть на YouTube. Итак, сообщаем имя мага-конкурента Ирланусу и наконец-то получаем заветный кунай.
Возвращаем нож Лионе и узнаем, что уйти в город из леса мы пока не можем - отец Лионы прислал ей записку, в которой указано место, куда она должна отправиться. Именно Должна! Отказаться нельзя - потому что это одно из Испытаний Ассасина. Но текст в записке зашифрован, и Лиона самостоятельно расшифровать его пока не смогла. Предлагаем ей свою помощь и получаем записку в инвентарь.
Записка представляет собой маленький текстовый документ, но при открывании его в блокноте (или каком-то интернет-браузере) мы увидим нечитаемые крякозябры. А все потому, что документ сформирован таким образом, чтобы большинство редакторов воспринимало его кодировку как UTF-8, однако на самом деле текст в нем записан в ANSI (windows-1251). Достаточно в Notepad++ (а можно и в браузере каком-то, например, Firefox) перекодировать документ в ANSI / windows-1251 и увидеть требуемое слово. В английской версии этот документ несколько другой, потому что для русской версии ответ на русском.
Сообщаем слово Лионе и узнаем, что нам следует отправиться в руины недалеко от леса.
Карта "Руины".
Лиона предлагает нам осмотреться, пока она думает, что же делать дальше. Воспользуемся ее советом и пойдем гулять по карте. Здесь можно получить целых 4 достижения. А еще тут очень много интересных философских диалогов с черным юмором, которые я бы пропускать не стал. :) Одно из достижений зарабатывается следующим образом - на карте лежат красные труселя, которые нужно подобрать...
...и примерить!
Нетрудно догадаться, что это отсылка к популярному русскому шоу "Наша Раша".
Внизу карты встречаемся с Дженнифер, но лучше с ней пока не говорить, если хотите получить следующее достижение, а отправиться в правый нижний угол карты и подойти там к небольшому постаменту. Эврика! Подходим к появившейся из пустоты и яростно матерящейся Трисс и говорим с ней. А вот и достижение! Теперь вы понимаете, почему с Дженнифер не стоило пока что разговаривать.
Говорим с Трисс, узнаем, что она суккуб, и ее выгнали из Ада за то, что она слишком мягко обходилась с грешными душами. Теперь Трисс не знает, что ей делать на поверхности, и у нас появилась возможность дать ей какой-нибудь дельный совет. Если все три доступных совета перебрать сверху вниз, то можно получить еще одно достижение.
В итоге Трисс решает остаться пока что в этих руинах - народу здесь мало, и вряд ли кто ее найдет. Но все ее вещи остались в Аду, и она просит раздобыть ей на первое время какую-нибудь книгу и зеркальце. По пути можно пообщаться и с Дженнифер, выяснив, что она археолог и в этих руинах уже очень давно и на уме у нее только чле... В общем, скучно ей одной. :) Если спросить у Джен, есть ли вообще в руинах что-то полезное, то узнаем, что руины остались от замка древней династии Каймон, представители которой были очень богатыми и ленивыми. На кого эта отсылка - догадайтесь сами. :D
Идем искать зеркальце и книгу. Если кликнуть в инвентаре по найденной книжке, то узнаем, что это роман Д.Х.Дэхова "Демоны из преисподней". Снова отсылка, и снова угадайте, о ком же речь. :)
Можно также заметить, что в небольшой огороженной комнате появился белый цветок. Это не связано с квестом, но позволяет получить последнее достижение - достаточно его сорвать и подарить Дженнифер.
Кстати, к этому моменту уже можно поговорить и с Лионой, узнав, что ей, оказывается, требуется попасть в подземелье под руинами. Она попросит нас найти вход туда. Вход - это лестница вниз, которая находится в правом верхнем углу карты. Осмотрим его и доложим Лионе, что дверь внизу заперта. Лиона с этого момента будет думать, как открыть эту злосчастную дверь, а мы можем отправиться к Трисс, чтобы отдать ей зеркальце и книгу. Завершаем разговор с Трисс, узнаем, что если у нас будут трудности, она готова нам помочь, после чего отправляемся к Дженни.
Дженнифер скажет, что дверь эту уже видела, но ключа у нее нет. Но вместо ключа она отдаст нам какую-то непонятную шкатулку. Лиона подскажет, как эту старинную музыкальную шкатулку заставить работать.
Кликнув на шкатулку в инвентаре, получим ссылку на MP3-файл. Слушать этот файл и пытаться понять слова совершенно необязательно, достаточно просто в какой-либо программе (например, Winamp) посмотреть полную информацию, содержащуюся в ID3-тегах файла - в них и будет то, что мы ищем.
Сообщаем слово Лионе и шкатулка открывается, но легче от этого не становится, так как из шкатулки появляется сфера. Ни Лиона, ни Джен не смогут подсказать, что же это вообще такое. Поэтому самое время обратиться за помощью к Трисс, которая с удивлением сообщит, что это Личная Сфера Демона (да-да, ЛСД :D). К счастью, Трисс сможет открыть шкатулку, но нам сначала придется "познать" сферу, чтобы ее содержимое стало доступно простым людям. Трисс намекнет, что нам снова потребуется мелодия, которая играла при открытии шкатулки.
Мы получим файл с расширением DLL и именем gen_musicbox. По информации о версии, находящейся в файле, становится понятно, что это плагин для плеера Winamp. Устанавливаем этот плагин (закидываем его в директорию Plugins в каталоге с плеером, после чего перезапускаем Winamp) и снова проигрываем уже знакомую мелодию! Winamp выдаст нам пароль. Кроме того, ничто не мешает дизассемблировать плагин, но это более муторно и долго.
Сообщим пароль Трисс и получим ключ! Вот и все. Можно напоследок попрощаться с Трисс, а затем пойти обрадовать Лиону, получив в награду поцелуй. Отправляемся вниз!
Карта "Пещера".
Мы оказываемся в темной пещере с большим говорящим котом Артемием. Здесь есть возможность получить два достижения. Расскажу о том, которое можно получить сразу же. Если мы попытаемся стащить меч или ножи Артемия, то он остановит нас. Но если сделать это незаметно... Можно зайти за спину кота, практически в самый верх карты, встать справа от стола с ножами и украсть их!
Теперь пора начинать прохождение. Из разговора с Артемием выясняем, что это он заманил Лиону в подземелье и теперь требует за нее выкуп. У нас появляются подозрения, что это все - чей-то коварный план, но кот хранит на этот счет молчание. Что ж, идем искать выкуп для кота. В подземелье лежат два мешочка с бриллиантами. Одного коту будет мало, а вот два он с радостью заберет. Однако мы рано радуемся - Артемий Лиону так просто не отпустит. Он захочет сыграть с нами в игру.
Кот будет задавать нам математические примеры, а мы должны их отгадывать один за другим. Всего примеров три, и на каждый последующий дается меньше времени. С этим заданием связано второе достижение карты - если с первого раза безошибочно решить все примеры Артемия и при этом уложиться в срок, то вы его заработаете. Поэтому советую запастись калькулятором, прежде чем начинать.
Итак, мы уже ждем, что Лиону отпустят, но снова нас ждет разочарование... Кот еще недостаточно наигрался и хочет, чтобы мы отгадали его последнюю (он клянется!) загадку. От Артемия мы получим фотокарточку всех девчонок, которых он когда-либо воровал, а потом набор нескольких фотографий тех же пленниц, но в один ряд.
Задание очень простое. Если посмотреть на первую картинку, увидим, что лица расположены в виде таблицы, столбцы которой обозначены буквами A, B, C, D, E, F, а строки - цифрами от 1 до 6. Таким образом, вторая картинка - это просто шифр, составленный из пар значений вида A1, B2, C3, F6, E8 (последовательность ради примера, в ответе другая), которую и следует сообщить коту (без пробелов и запятых).
Кот разочарованно исчезает вместе со своим оружием (да-да, если вы его раньше не забрали - теперь достижение заработать уже не выйдет) и возвращает нам Лиону. Лиона подтверждает, что ее похищение, скорее всего, было спланировано, и вовсе не Артемием. Дверь в руины оказывается заваленной камнями, поэтому нам приходится продвигаться дальше по пещере...
Карта "Ледяная пещера".
На этот раз мы оказываемся в ледяной пещере. Мы здесь не одни - проходим через небольшой лабиринт и видим странную компанию людей, Лиону, собаку, а еще девушку, вмороженную в глыбу льда... Но не будем обо всем этом, пока что. В первую очередь следует отметить, что эта карта - первая из всех, где нам доступно меню действий!
И оно нам не раз пригодится. Можно и просто повеселить себя, если попытаться совершить какие-то сомнительные действия с Лионой или другими персонажами. :)
Теперь немного о достижениях. Их тут три. Самое простое - найти табличку с надписями на каком-то древнем языке. И осмотреть ее с помощью меню действий.
Если кто-то не понял, то это отсылка к известному фильму "Аватар" Джеймса Кемерона, а язык этот на самом деле Na'vi. Остальные достижения более сложные. Первое подразумевает осмотр с помощью меню действий всех активных предметов и персонажей на карте (кроме вышеупомянутой таблички, конечно). Но, так как предметы появляются и исчезают, то нельзя терять бдительности! Всего таких предметов 13, но до начала прохождения карты их доступно всего 11.
У Марии и Билли можно узнать, что они и сестра Билли Илания отправились в город на ярмарку, но их застал сильный снегопад, и они решили на время укрыться в этой пещере. Однако, возникла непредвиденная и очень странная проблема...
Предлагаем Билли помощь и приступаем к решению проблемы, которая оказалась весьма сложной для многих людей, проходивших квест, хотя, по сути, ничего сложного в ней нет. Для прохождения вам потребуются наушники или колонки (короче говоря, звук обязателен). Сначала вы можете услышать мелодию, исходящую от центральной магической сферы (с помощью меню действий), находящейся на мосту, после чего необходимо эту мелодию повторить, пиная остальные 5 сфер. Мелодия состоит всего лишь из шести нот! Дам подсказку аналогичную той, которую вы можете купить в магазине подсказок: первые три сферы, которые необходимо пнуть - 4-я, 2-я, 5-я, если считать сверху. Пожалуй, скажу даже больше: верхняя сфера вам не потребуется! Если вы собьетесь, мелодию играть нужно будет с начала.
После успешного повторения мелодии из озера около моста появится водный элементаль! Не забудьте его осмотреть тоже, если хотите получить достижение.
Но пока что отойдем от прохождения и поговорим еще об одном достижении-отсылке, которое называется Иоганн Пахельбель. Это, пожалуй, самое сложное достижение за всю игру (хотя, кто знает...). Исходя из результатов поиска по интернету можно выяснить, что одна из популярнейших мелодий, созданная Пахельбелем - это Canon in D. Про это даже юмористическое видео на Ютубе есть, настолько она популярна. Вы, наверное, уже догадались, что вам нужно повторить ее основные ноты, пиная волшебные столбы. :))))) Порядок подсказывать не буду, и так уже многое рассказал. Так что вперед, дерзайте, если хотите себе полный комплект достижений.
А теперь вернемся к нашим водным элементалям. Говорим с Геллой, узнаем, что люди, находящиеся в пещере, очень мешают ей жить, и размораживать девушку она не собирается. Сообщаем об этом Билли и снова идем к Гелле - вести переговоры. Но из этого мало что получается, а Гелла становится лишь более свирепой, требуя, чтобы мы все убирались из ее пещеры, да побыстрее, а не то заморозит! Поговорим с Билли, затем с Марией, и она даст нам камень, который она нашла у входа в пещеру. Гелле этот камень нравится, но она не собирается его брать до тех пор, пока мы не сообщим ей название камня. Ей это нужно для коллекции. :)
Если кликнуть по камню в инвентаре, получим ссылку на PHP-скрипт. При переходе по указанному адресу мы по редиректу оказываемся на какой-то сторонней страницей с флешкой. Но это неважно, потому что самое время взять в руки снифер или просмотрщик HTTP-заголовков. В одном из скриптов, участвующих в цепочке редиректов, мы найдем в этих самых заголовках нужный нам пароль!
Итак, сообщаем название камня Гелле. К сожалению, девушку она не размораживает, а просто исчезает, отдав нам некий предмет, который, по ее словам, поможет нам снять чары льда. Мы не умеем этот предмет использовать и вообще не представляем, что это такое. Билли и Мария также не смогут нам помочь в этот раз. После их расспросов нам следует обратиться к всезнающей Лионе! Она скажет, что этот акустический камень активируется при произнесении определенного слова, и что подсказки на этот счет нужно искать где-то у глыбы льда.
Если мы теперь потрогаем ледяную глыбу, то получим ссылку на ролик на YouTube. Если вслушаемся, стоя у глыбы, то получим некую последовательность цифр. Как связать эти две вещи? Что может быть проще! Заходим по ссылке на Ютуб, активируем ролик и последовательно на клавиатуре нажимаем те цифры, которые мы только что узнали. Получаем слово!
Теперь достаточно использовать акустический камень, стоя у глыбы, и указать нужное слово. И вот уже перед нами стоит сестра Билли - Илания. (Да-да, ее тоже осмотрите, получите достижение. Если, конечно, никого до этого не забыли!)
Остается пообщаться с Иланией, потом с Билли, и, наконец, с Лионой. Она гордится нами!
Карта "Город и его окрестности".
Это самая большая и насыщенная карта в игре. Она включает в себя еще несколько дополнительных карт небольшого размера. Много персонажей, предметов, диалогов, отсылок, открытое меню действий - максимум возможностей! Несколько немаленьких квестов, которые можно выполнять в произвольном порядке независимо друг от друга... В сумме тут можно получить 4 достижения, я расскажу о них по ходу прохождения.
Сразу можно заметить на карте персонажа, имеющего умный вид, по имени Крис, который живет в домике на отшибе. Если с ним поговорить сейчас, он попросит нас быть с ним повежливее.
Можно догадаться, что это отсылка к Крису Касперски. :) А если осмотреть этого персонажа, то узнаем, что на нагрудном кармане у него нашивка "Kris Kas...".
Если продолжить диалоги с неосновными персонажами, то можно узнать еще одну отсылку.
Это, конечно же, Южный Парк. :)
Можно у жителей узнать и некоторую интересную информацию о городке, где мы оказались.
Бродя по городу, можно заметить у одного из домов отличающееся от других круглое окно. И если заглянуть в него, то...
Теперь пора и с Лионой поговорить. Она посоветует пообщаться с ее отцом, Николой. Он, кажется, чем-то встревожен и не желает делиться с нами причинами своего беспокойства, но убедить его в том, что мы "свой", не составит труда. Мы узнаем, что этот милый городок, кажется, кто-то планирует уничтожить, и Крис уже должен заниматься поиском ответа на вопрос "кто же именно?".
Крис расскажет, что неподалеку от города планируется высадка созданий из Ада, и именно они и собираются стереть город с лица земли. Для закрытия врат в Ад требуются некие элементы, которые можно раздобыть в городе...
Очевидно, что эта отсылка к фильму "Пятый элемент". Разумеется, Крис не знает, каков же Пятый элемент. Но мы-то знаем, не так ли? :)
Продолжив разговор, мы выясним, что у Криса есть один из элементов - земля, и он нам отдаст ее, если мы ему поможем в разработке устройства закрытия портала.
Ебэй... Все верно, это зарубежный торговец. :)
Крис просит нас определить суммарную емкость пары конденсаторов, которые изображены на картинке по ссылке. В интернете очень быстро находится расшифровка маркировок конденсаторов. Первый ("104") имеет следующую маркировку. Первые две цифры - это емкость в пикофарадах, а последняя - степерь числа 10. Таким образом, 104 - это 10 пФ * 10^4. Или 10 * (10^-6) мкФ * 10^4 = 0.1 мкФ. Ну а на втором емкость написана в явном виде - 2.2 мкФ. Складываем и получаем 2.3 мкФ.
Сообщаем ответ Крису и получаем первый элемент. К слову, это задание не обязательно было выполнять первым. Можно было сразу начать общаться с жителями городка в произвольном порядке и доставать другие элементы.
Блуждая по городу и проходя мимо Елены узнаем, что ей нужна помощь. Она потеряла свою куклу и просит на ее найти. Соглашаемся и идем искать. Кукла появляется на совершенно открытом месте. Но как только мы к ней приближаемся, с характерным звуком появляется Гага и забирает ее! Это, разумеется, отсылка к известной певице Леди Гаге. :) Подходим к ней и заводим разговор. Оказывается, она жадная особа, и за куклу просит 10 золотых! За помощью можно обратиться к торговке Джулии. Она предложит спуститься в ее погреб, чтобы взять деньги из сундучка со сбережениями. Соглашаемся и оказываемся на дополнительной крохотной карте.
Карта "Дом Джулии".
Справа вверху можно заметить висящую на стене фотографию. Если мы ее осмотрим, то нас предупредят о неприличном содержании. Можно осмотреть ее второй раз и получить соответствующее достижение. :)
Джулия скажет нам, что она забыла пароль к замку на сундуке, а замок этот делал никто иной, как сам Крис. Попробуем его взломать!
Получим ссылку на текстовый документ, в котором записан MySQL-запрос с ошибками. Цель - поправить все ошибки и получить результат запроса. Это достаточно просто сделать, правя ошибки одну за другой в каком-нибудь PHPMyAdmin или даже в консольной строке MySQL-клиента. Основная сложность - найти лишнюю скобку. А остальное по мелочам - убрать лишние наклонные кавычки и одну одинарную. Вот упрощенный запрос без ошибок, выполните его и получите ответ:
1 |
select replace(rpad(elt(1,group_concat((select hex(substring(sha1('kris coder system'), -5)) as scode),char(35),(select 'bzzbzz'))),15,'x'),'#','a'); |
Сообщаем код Джулии и получаем 10 золотых.
Карта "Город и его окрестности".
Возвращаемся к Гаге и получаем игрушку Елены назад. Кстати, по иконке игрушки понятно, что это Пикачу. :)
Гага предлагает нам сыграть на интерес в игру чет-нечет: она загадывает число, а мы должны отгадать, четное оно или нет. Если выиграть у нее трижды подряд, то получим очередное достижение! Главное - не отказываться от игры, иначе она с нами больше разговаривать не будет.
Возвращаем куклу Лене и получаем элемент Огонь. Повторюсь, что и этот квест можно проходить независимо от других, или параллельно с ними.
Теперь поговорим с котом Мурзячем. Он попытается обмануть нас, сказав, что у него есть один элемент - священное яблоко. Если мы поведемся на эту уловку, то он нам никакого элемента не отдаст, пока мы не покажем ему, что у нас уже есть какой-то другой элемент.
Если бы у нас не было ни одного элемента, пришлось бы выполнить какой-то другой квест, чтобы добыть его, и только потом вернуться к коту. Но сейчас для нас это не проблема - у нас уже целых два! Кот признается, что у него есть священная вода, но, так как это очень ценная вещь, он нам ее отдаст, если мы поможем ему забрать долг у двух человек, которые занимали у Мурзяча деньги. Это Кенни и Джо. С Джо никаких проблем не возникнет, а вот с Кенни... Его так просто не убедишь. Чтобы он вернул долг, потребуется либо все время ему угрожать, либо исключительно рассказывать о серьезной ситуации в городе.
Возвращаем собранные деньги коту и получаем долгожданную священную воду. Появляется возможность заработать еще одно достижение - окропить колодец в городе этой самой водой.
Подойдем к Ларисе и заметим, что она очень грустная. Поговорив с ней, узнаем, что ее младший брат ушел в лес и не вернулся. Конечно, мы согласимся помочь ей!
Карта "Лес у города".
Оказываемся на небольшой карте с лесным пейзажем и дедом Иннокентием. Дедок оказался назло вредным. Он видел, куда отправился мальчик, но скажет нам об этом, только если мы решим его загадку. Придется решать!
Получим ссылку на exe-файл, в котором кнопка, которая, по идее, должна отображать пароль, заблокирована. Достаточно воспользоваться какой-либо программой для работы с окнами (uuSpy, например), найти окно злополучной программы разблокировать в нем кнопку!
Сообщаем дедку ответ, и он нам рассказывает, где же малец. Идем глубже в лес и забираем парня обратно в город.
Карта "Город и его окрестности".
Возвращаем братика Ларисе, в благодарность получаем уже четвертый элемент - Воздух. Остается выяснить, каков же Пятый Элемент. Никола и Лиона дадут смутные подсказки... Но что же это может быть?! Попробуйте обнять Лиону, и узнаете! А еще вы узнаете, что с каких-то пор с Лионой очень сильно друг друга полюбили.
Пора отнести Крису все пять элементов. Крис попросит нас зайти к нему попозже, пока он готовит все необходимое для обороны от сил зла. Вернемся к Лионе и попрощаемся с ней. Вот и у Криса уже все готово... Что ж, отправляемся спасать мир!
Карта "Врата в Ад".
Вот мы и встретились. Уже знакомые злодеи Артемий и Ирланус, да еще какой-то алхимик... И почти открытые врата в Ад!!! Уговоры ни к чему не приведут - пришло время действовать.
При осмотре Врат Ада вы получите ссылку на exe-файл очень маленького размера. Если открыть его в блокноте (не говоря уже о дизассемблере или отладчике), можно понять, что он отсылает какие-то данные на сервер kaimi.io. Задача ясна - каким-то образом эти данные перехватить. Способов сделать это целая куча. Отладка самого файла, сниффинг пакетов с помощью WireShark, добавление записи в hosts и установка на локальный сервер php-скрипта с таким же именем, к которому обращается exe-файл, но который будет все обращения логировать... Словом, задача простая.
Применяем Адозакрыватель от Криса на Врата и вводим ключевое слово...
Карта "Рай".
Кажется, все получилось? Но где тогда мы очутились? В Раю?!
На этой карте есть одно маленькое простое достижение. За постройкой, которая называется "Сервер реестра", можно найти ангельский нимб. Если вернуть его Вере, то получим достижение.
Поговорив с Верой, выясним, что мы в своеобразной "приемной Рая" на распределении. Надежда сообщит, что сейчас все старшие Боги на важном совещании, а у нее что-то не ладится с Сервером Райского реестра, поэтому пока она нас распределить не сможет... Хотя, мы же можем ей помочь! Получаем сферу клиента реестра. Используем ее на Сервер реестра и видим, что система была восстановлена после критического сбоя. Если использовать сферу второй раз, то будет запрошен пароль доступа. Если потрогать Сервер реестра, то получим подсказку - доступ к системе восстановления пароля.
Это обычная картинка с прозрачным фоном. Однако, не совсем прозрачная. Едва заметными буквами на ней написан пароль. Если открыть картинку в каком-то редакторе, который по умолчанию имеет черный цвет заливки (например, IrfanView), то мы этот пароль увидим. Ну или если открыть ее в Photoshop и произвести заливку любым цветом, отличным от белого.
Внимание! Если неправильно ввести пароль к Серверу реестра, то система заблокируется на 15 минут. А вы думали, в Раю все так просто взламывается? :)
Вводим правильный пароль и видим, что реестр успешно разблокировался. Обращаемся к Надежде и узнаем, что, оказывается, в Раю нас ожидают не раньше, чем через 60 лет. Произошла ошибка, мы не должны были умирать!
Поговорим с Любовью, и она скажет, что такие ошибки уже бывали, но без санкции высших Богов вернуть нас на землю она не может. А все Боги на совещании, которое может длиться целую вечность...
Вера окажется более сговорчивой и согласится отправить нас обратно, только вот она ни разу в жизни не настраивала Круг Перемещения. Вера даст нам божественный атлас и предложит определить идентификатор координат, куда мы должны переместиться.
Снова ссылка на exe-файл, который попросту не запускается. Все дело в том, что в системных структурах этого файла допущена ошибка, поэтому Windows и отказывается его загружать. Если вы купите в магазине подсказку к этому заданию, то узнаете, что в заголовке PE-файла (т.е. exe, dll, sys и т.п.) всегда должны присутствовать буквы "PE", и явный намек на то, что в этом exe-файле с ними что-то не так. Можно с помощью редакторов вроде 010Editor замапить все структуры PE-файла, чтобы найти, где же ошибка, но можно все сделать гораздо проще за пару минут. Открываем exe-файл в любом шестнадцатеричном редакторе, например, CFF Explorer. В заголовке букв P и E в принципе нет нигде, кроме одного-единственного места.
Сразу становится ясно, что они поменяны местами. Теперь достаточно на место "E" записать "P", и наоборот, затем сохранить изменения и запустить exe-файл. Ответ получен!
Итак, сообщаем идентификатор координат Вере и перемещаемся в...
Карта "Башня волшебника".
ОЙ! ОШИБОЧКА ВЫШЛА!!! Нас переместили не совсем туда, куда хотелось бы. В итоге мы оказались взаперти в какой-то башне... Но зато мы теперь ожили, и пришло время действовать!
На этой карте имеется одно-единственное достижение, его я опишу позже.
А пока что мы видим, что выход из башни замурован, а на полу валяется целая куча всяких предметов. Собирать их все необязательно (но можно). Достаточно поднять плюшевого мишку и хрустальную сферу, а затем кинуть в котел сначала сферу, а затем мишку. Особо пытливые увидят отсылку к пародиям на Дэвида Блейна. :) После того, как эти действия были проделаны, появится призрак. Призрак очень рад, что мы его каким-то образом освободили, потому что он много сотен лет был взаперти. Прежде, чем мы сможем уйти, мы должны решить задачку, которую оставил его хозяин. Подбираем сундучок (если раньше его не подобрали).
При клике на сундучок получим ссылку на очередной exe-файл. Поснифав запросы, поймем, что этот файл отсылает некоторые данные через HTTPS. Очевидно, что надо их перехватить в открытом виде. В этом нам помогут Charles и SocksCap (или FreeCap, WideCap, WhateverCap). Но проще всего взять IEInspector HTTP Analyzer и перехватить запрос им без заморочек.
Итак, решив задачку, сообщаем ответ призраку. Но это еще не конец испытаний... Призрак телепортирует нас в соседнюю комнату, предлагая пройти магический лабиринт. Смысл его понятен - нужно касаться тех колонн, которые продвинут вас дальше по лабиринту. Все другие вернут вас в начало. Нужные колонны определяются опытным путем. Если вам удастся пройти этот лабиринт с первого раза (в чем я сомневаюсь), вы получите достижение. В любом случае, можно записать прохождение лабиринта и после полного прохождения главной сюжетной линии квеста вернуться на эту карту, чтобы пройти его правильно уже с первого раза.
Но после прохождения лабиринта нас ждет очередное разочарование - призрак по-прежнему не собирается нас отпускать! Он обещает выпустить нас, да еще и какое-то наследство впридачу, если мы решим его личную загадку. Выбора у нас, как обычно, нет.
Поговорив с призраком, получим ссылку на exe-файл. Опять. Только на этот раз необходимо определить, что требуется ввести в командную строку программы, чтобы программа выдала текст "CORRECT". Это введенное слово и будет ответом. Теперь нас ждет mixed-реверсинг, так как программа сама использует как .NET, так и имеет нативный код внутри себя. В .NET Reflector после перехода на точку входа видны пара методов, код которых мы просмотреть не можем - это check и check2. Методы помечены как unsafe. Они нативные.
Это единственные нативные методы, поэтому логично предположить, что они находятся в самом начале секции нативного кода (она чаще всего называется компиляторами .text). Если вы хотите определить точные адреса этих методов, то откройте бинарник в CFF Explorer и перейдите к .NET-таблице Method. Найдите там check и check2 и посмотрите их относительные виртуальные адреса (RVA). 0x1000 и 0x1040, что в сумме с базовым адресом бинарника (0x400000) дает именно 0x401000 и 0x401040 - далее в OllyDbg вы увидите эти адреса.
Стоит заметить, что после ввода пароля все символы "R" во введенной строке меняются на "M", но для нас это не так важно. Теперь откроем бинарник в OllyDbg. Защиты от отладки нет никакой, в этом плане всё просто. С легкостью через карту памяти (Memory Map) найдем, по какому адресу находится секция кода .text...
...а затем двойным кликом перейдем на ее начало. И вот уже исходный ассемблерный листинг процедур check и check2 перед нами.
Здесь потребуется минимальное знание ассемблера, которое можно получить за час-другой чтения соответствующих ресурсов в интернете. Из листинга check понятно, что эта процедура сравнивает длину введенной строки с 8 символами. Если длина не равна 8 символам, то производится выход из процедуры. Таким образом, одну деталь о пароле мы уже узнали, осталось теперь узнать сам пароль.
Далее в OllyDbg по адресу 0x00401012 видим сравнение первого символа строки с 0x73 - это буква "s". Если первый символ - "s", то производится его замена на символ 0x52, т.е., по таблице ASCII, это "R". противном случае такая замена не производится. Далее идет сравнение следующего (второго) символа строки с 0x65 (буква "e"). Опять-таки, если вторая буква "e", то она меняется на "R". Далее просто кидается исключение Access Violation за счет записи по нулевому указателю (адреса 0x0401030-32). Из листинга рефлектора помним, что это исключение перехватывается, а в обработчике вызывается метод check2 все с тем же аргументом-строкой.
Снова смотрим в OllyDbg на код check2. Видим полную аналогию с check - символ сравнился, и если условие выполнилось, символ заменяется на "R". Оставшиеся символы - это "n", "t", "i", "n", "e", "l". Теперь из всех восьми полученных символов мы получаем пароль!
Сообщаем полученный пароль восхищенному призраку и получаем в награду свободу и красивое колечко. После этого мы с чистой совестью покидаем башню.
Карта "Лес у башни".
Обычная лесная карта. Также здесь есть одна маленькая вспомогательная карта и парочка достижений. На карте сперва никого нет, но можно заметить несколько красивых цветов, растущих среди деревьев. Срываем розу. Появляется Лесная фея, сокрущающаяся на счет того, что мы портим богатства ее леса. Мы также узнаем, что по лесу ходят наши друзья - Крис, Лиона, и ищут нас! Фея обещает запутать их совсем, если мы не принесем ей цветочных удобрений из подвала башни. Придется снова туда лезть...
Карта "Подвал башни".
Оказавшись в подвале, видим сундук, в котором, видимо, и находятся необходимые удобрения. Попытаемся взломать его замок.
"Пообщавшись" с сундуком, получим ссылку на JAR-файл. Снова декомпилировать, но на этот раз - Java! Да еще и обфускатором накрытая. Разумеется, для прохождения этого уровня у вас должна быть установлена Java Runtime Environment (JRE). Для начала берем какой-нибудь годный декомпилятор Java, например, JD и смотрим метод, который используется для шифрования строк (он называется a) и обработчик нажатия на кнопку на форме.
Мы видим, что метод public void a(byte[] paramArrayOfByte) просто ксорит переданную ему строку на первый и последний элементы массива a (77 и 8), выше по коду (на скриншоте не видно). Упрощаем выражение и получаем N xor 77 xor 8 = N xor 69. Теперь остается определить значение переменной b, ведь именно с ней (предварительно также поксоренной на 69) производится сравнение той строки, которую мы вводим в поле ввода (см. скриншот, обведено).
Для начала необходимо установить JDK SE (доступен здесь) для того, чтобы получить некие отладочные возможности Java.
Затем запускаем файл lock.jar с помощью такой командной строки:
1 |
java -Xrunhprof:format=b,file=snapshot1.hprof -jar lock.jar |
Теперь, пока программа исполняется, в консоли жмем Ctrl+C и получаем рабочий дамп кучи процесса JAVA, он сохранен в файле snapshot1.hprof. Теперь необходимо этот файл проанализировать. Для этого в JDK существует утилита jhat (она лежит в директории с исполняемыми файлами в каталоге с вашим JDK), используем ее так:
1 |
jhat c:\путь\к\снэпшоту\snapshot1.hprof |
Программа анализирует снэпшот и поднимает HTTP-сервер на localhost:7000. Открываем браузер, заходим по этому адресу и видим удобоваримое отображение дампа с навигацией. Заходим в интересующий нас класс (он единственный):
Package
class Sample [0x500004e5]
После этого листаем страницу, пока не увидим значение интересующей нас переменной:
Static Data Members:
b (L) : ')0 e1 $76 (24 bytes)
c (L) : rchbep} (24 bytes)
Итак, значение переменной b получено. Осталось его расшифровать. Это можно быстро сделать с помощью многих HEX-редакторов, либо с помощью PHP-скрипта из пары строк:
1 2 3 4 5 |
<?php $s = "')0 e1 $76"; for($i = 0, $len = strlen($s); $i < $len; $i++) print chr(ord($s[$i]) ^ 69); ?> |
Остается лишь ввести полученную фразу в поле ввода в lock.jar и получить пароль!
Определив пароль, применяем его к сундуку. Если ни разу не пытались ввести неправильный пароль, то получим достижение.
Забрав удобрения, уходим из подвала.
Карта "Лес у башни".
Чтобы получить второе достижение, следует начать самостоятельно удобрять цветы, прежде чем рассказать фее о том, что мы раздобыли удобрения. В любом случае, такое задание мы бы получили.
После того, как все 4 цветка удобрены, можно подойти к фее. Она даст нам еще одно задание, и если мы справимся с ним, поможет нашим друзьям найти верный путь в лесу. Фея дает нам книгу и просит узнать, что же это такое.
Открыв книгу, имеем ссылку на запакованный PDF-документ. Многие антивирусы, как обычно, заругаются на него, поэтому придется их на время отключить, чтобы поработать с документом. При открытии мы получим JavaScript-окно с текстом "Укажите верный код!", и всё. Откроем документ в блокноте или Notepad++ и увидим подозрительный кусок текста с пометкой /FlateDecode с большим количеством шестнадцатеричных данных. Судя по всему, именно здесь и закодирован интересующий нас JavaScript. Существуют всякие разные программы для раскодирования таких вещей, но можно написать простейший PHP-скрипт, который сделает все за нас:
1 2 3 4 5 6 7 8 |
<?php $s="78da8d5.......fb93a2f99"; //Пропущено для краткости for($i = 0, $len = strlen($s); $i < $len; $i += 2) $s2 .= chr(hexdec(substr($s, $i, 2))); //Перекодируем из ASCII-HEX в BIN print gzuncompress($s2); //Распаковываем ?> |
В итоге получаем JavaScript-код, который, к сожалению, обфусцирован. Но снять обфускацию труда не составляет - ведь достаточно заменить eval на alert и выполнить полученный код. Вот что мы получим в результате:
1 2 3 4 5 |
var a = this.info.author; if ('frustration' == a) app.alert({cMsg: 'Пароль: ' + 'kamasutra', cTitle: '(c) kaimi.io', nIcon: 3}); else app.alert({cMsg: 'Укажите верный код!', cTitle: '(c) kaimi.io', nIcon: 3}); |
Таким образом, становится понятно, что если бы мы сменили параметр /Author (Hidden) внутри PDF на /Author frustration, то получили бы правильный пароль. Но это уже неважно, потому что пароль мы и так теперь видим в открытом виде.
Сообщаем название книги фее, которая наконец-то понимает, почему в ней нарисованы такие странные картинки. :) Фея исчезает и приводит наших долгожданных друзей.
Дарим Лионе розу и кольцо и понимаем, что дело близится к свадьбе! Возвращаемся в город.
Карта "Свадьба".
Карта, по сути, тот же город, но несколько преобразившийся. Старые достижения вы на ней уже не получите. Да и нет на ней больше достижений. Проходим направо и видим, что все готово к нашей с Лионой свадьбе! Предлагаем ей начать церемонию, однако узнаем, что она не прочь украсить празденство какими-нибудь разнообразными цветами. Джулия подскажет, где нарвать самых прекрасных.
Карта "Цветочная поляна".
Отправляемся на указанную Джулией поляну, на которой растет множество потрясающих цветов. Но при попытке сорвать хоть один встречаемся с нашей старой знакомой - Лесной феей. Убедить ее в том, что нам действительно нужны цветы, не так сложно на этот раз. Она сама нам нарвет целый букет!
Возвращаемся в город.
Карта "Свадьба".
Теперь-то уж точно все готово к свадьбе!
Обратимся к Николе с просьбой начать церемонию, но выясним, что среди граждан нет священника, и церемонию проводить попросту некому. Придется найти подходящего персонажа на эту роль. Джо откажется, но подскажет, что надо искать опытного человека. Обратимся к Крису. Он не против, но, как всегда, сильно занят и не может отвлекаться, так как растеряет всю свою концентрацию. Предложим ему свою помощь. Крис разводит в виртуальном мире виртуальных животных и просит определить, какое животное сумело самостоятельно в этом мире размножиться. :) Он дает нам шкатулку с миром.
Открыв шкатулку, получим ссылку на образ виртуальной машины VMware. Секрет в том, что пытаться запустить этот образ совсем необязательно (он и не запустится так просто), можно просто средствами VMware примонтировать диск виртуальной машины к основной системе, а затем поискать на нем подозрительные файлики (можно просто отсортировать файлы по дате изменения). В одном из таких файлов, прямо в конце (если открыть его в блокноте), мы увидим пароль.
Сообщим название вида Крису. Он теперь свободен и поможет нам провести церемонию. Поговорим с Николой и...
КОНЕЦ ИГРЫ..?
Ан нет. Не такой уж и конец! Самое интересное еще впереди! Для начала неспешно читаем титры...
Карта "WARP-Зона".
Оказываемся в warp-зоне и сразу же получаем достижение "Гений" за прохождение основной сюжетной линии квеста.
Думаете, игра на этом закончилась? Вы ошибаетесь! Для начала опишу карту - здесь стоим мы с Kaimi и как создатели игры можем ответить на парочку ваших вопросов. :) Кроме того, отсюда есть порталы во все основные местности квеста. Если вам понравился какой-то момент игры, или вы не получили какое-то достижение, поэтому хотите пройти карту снова - телепортируйтесь туда! Кроме того, отныне всегда с вами будет волшебная кнопка, с помощью которой вы сможете в любой момент времени вернуться в WARP-зону.
На карте также имеется портал на карту с понями, но, если вы не переходили на эту карту честным путем раньше, достижение за открытие карты вы не получите. Вы его получите только тогда, когда найдете маффин на самой первой карте с Соником.
И, наконец, здесь вы можете получить еще одно достижение, если воспользуетесь всеми порталами (кроме пони, потому что он позже был добавлен).
Разумеется, вы не могли не заметить портал "ФОТОБОТ", который не работает. Можно ли его активировать? Многие пытались, не у всех получилось, но активировать можно! Пришло время раскрыть тайну, которая проста как валенок: "ФОТОБОТ" - это аббревиатура! Не случайно же заглавными буквами написано. Теперь думаем, что бы это значило. А что, если воспользоваться следующими порталами в заданном порядке?...
Финальный город
Опушка
Титры
Опушка
Башня
Опушка
Титры
Попробуем! (Титры, кстати, можно пропускать с помощью клавишы Escape, если кто не догадался). И - вот она! Секретная карта, которую увидело крайне малое количество людей!
Карта "Секретная карта ФСБ".
А заодно и очередное достижение!
Но и это ведь еще не все. На этой секретной карте скрыта... секретная сцена! Единственный активный объект здесь - это Статуя дракона. (Ну, есть еще выход, который просто вернет нас в WARP-зону, и всё).
При осмотре статуи получим ссылку на (что бы вы подумали?) exe-файл! При запуске он выдает сообщение о том, что этот файл на самом деле не exe-файл, а jpg-картинка. Странно, не правда ли? Переименование файла в asm.jpg никакого результата не даст. Поэтому откроем его в OllyDbg и посмотрим на содержимое секции кода.
Это выглядит крайне странно - огромное количество ненужных инструкций вида mov AL, число. А теперь соединим полученную информацию с сообщением о JPG-картинке и поймем, что в AL записываюися байты, которые вместе составляют JPEG-изображение! Пришло время написать скрипт (или программу, или даже bat-файл, что кому по душе больше), который выдерет все эти байты из exe-файла и запишет их в наш JPEG-файл. Как видно, перед нужным нам байтом идет всегда однобайтовый опкод B0, который мы должны пропускать.
С помощью CFF Explorer (функция Address Converter) обнаружим физический адрес в файле, с которого необходимо начинать чтение. Это 0x210, по которому мы как раз и видим множество пустышек - B0.
А теперь открываем свой любимый редактор и кодим скрипт.
1 2 3 4 5 6 7 8 |
<?php $f = file_get_contents('asm.exe'); $f2 = fopen('asm.jpg', 'wb'); for($i = 0x210, $len = strlen($f); $i < $len; $i += 2) fputs($f2, $f[$i + 1]); fclose($f2); ?> |
У нас цикл идет до самого конца файла, и захватятся ненужные байты, но это не беда - JPG знает свой размер, и на отображение они никак не повлияют. Пять строк кода - и готово! Вот он, пушистый кодт, смотрящий на нас. А рядом - пароль.
Указываем пароль, пообщавшись со Статуей дракона, и...
Ого, Лиона без одежды и БДСМ с суккубом! :D Ради этого стоило постараться! Если к ним подойти, они пригласят нас поучаствовать в оргии. :) И еще - мы получили последнее достижение.
На этом игру можно называть полностью пройденной. Ни одного неисследованного уголка не осталось, все задачи решены, все достижения получены! И этим можно гордиться!
Еле сдержал слезы, когда они сыграли свадьбу :)
Воистину лучший квест!
До сих пор интересно,что в файле 123.bmp (в образе виртуальной машины) ?
Вы весь движок писали с нуля? Или взяли сорцы какого-нибудь готового 2D и добавили фич (achievements, связь с сервером, т.д.)?
С нуля все, кроме фреймворка для рисования (ClanLib).
Я в свое время не осилил весь квест, ибо застрял на каком-то этапе (уже не помню где, но там не айти, обычное задание на логику было). Попробую теперь, с этими подсказками.
Потрясающе, прочитал на одном дыхании. В своё время застрял на музыкальных сферах, мне медведь на ухо (или ещё на что-то наступил) наступил.
Если сделаете ещё один квест на этом движке, обязательно буду играть. Пока не застряну на музыкальных сферах :)
Ждём 4 квест, не важно когда, но очень бы хотелось!
А движок сделаете опенсорс?
Неа
проблема с музыкальной шкатулкой, слово в ID3-тегах нашел, но Лиона не принимает это слово, пробовал и русские варианты этого слова и нифига :( Можете еще подсказочку дать??
Вариант один - слово не то. Я когда прохождение писал, все задания практически заново решил.
Подсказка - перед нужным словом написано "pwd:".
Спасибо за подсказку) Странно но AIMP не показывал нужного слова... а вот winamp показал...
Может будете сортировать ТОП по очкам достижения, при одинаковом количестве очков, по дате последнего полученного достижения, по убыванию? А то получается, любой, кто прочитал и выполнил все достижение, станет первым.
Даты полученных достижений не хранятся в БД. Хотел сделать по дате регистрации дополнительную сортировку, но вспомнил, что даты регистрации тоже не хранятся :)
Там сейчас выше те, кто раньше зарегистрировался все равно. По id сортируется.
CakeDatabase is a lie (c)Печально и неправильно. Все же сортировать надо было по дате получения. И вы могли бы это учесть на этапе создания структуры БД и записывать дату получения. :)
А смысл? Максимум достижений получили 3 человека, прошли меньше 20, с учетом опубликованного прохождения.
Ну вот, чтобы отсортировать этих 3-х человек. :)
Сделайте хотя бы сортировку по дате прохождения квеста, т.к. это и есть одним из достижений.
Супер! Спасибо большое!
Только вот что хочу сказать, многие вещи прошел через notepad++, в том числе и виртуальную машину, и exe-картинку =)
Трехгиговый файл открыл тотал командер за мгновенье
У призрака я не стал искать что нужно ввести, когда увидел что R заменяется на M - в том же нп++ заменил на 1, а потом уже из олли получил коды букв ответа
Самым сложным для меня оказался https, из-за которого я временно забил на квест (и пропустил перед собой 5 человек :D)
Ачивы все так и не нашел, зато с Пахельбелем изрядно повозился
Юмор - супер.
4 квест если и будет, то, как я понял, не скоро... но я надеюсь! :)
Ну, теперь все ачивы описаны в прохождении. 4 квест будет, но пока не скажем, когда Ж)
Супер! Жду =)
Только не пропустить бы, а то ни один квест вовремя не начал, может подписку какую-нибудь организуете, чтобы на почту оповещение пришло?)
Подписывайся на новые посты в блоге, мы пишем, когда новый квест запускаем)
Kaimi, можно в следующем квесте упразднить все эти онэмэшные дела (НЕНАВИЖУ онэмэ!!!) и музыку (я не музыкант), а также квадрат-с-предметом-хантинг.
А сам квест сделать на движке BrowserQuest (есть на гитхабе).
И ещё.
Обязательность винампа, джавы и прочей х-ни очень неудобна.
У меня нет винампа, я им не пользуюсь, джава - ацтойный неудобный тормознутый ЯП (по сравнению с шарпом и плюсами), так что я ей тоже не пользуюсь.
Вот нафига ради прохождения квеста заставлять юзера ставить кучу ненужных программ, пусть даже в песочницу.
А может, нам вообще квест не делать? Задания же сложные, думать надо зачем-то, проще играть в игрушки для дебилов.
А онэмэшных дел в квесте не было, разве что, кроме моделек, которые просто с таким стилем рисовки оказались.