Как сделать баскетбольное кольцо в телеграмме
Перейти к содержимому

Как сделать баскетбольное кольцо в телеграмме

  • автор:

Play Dude (Баскетбол в телеграме): установить телеграм бота: playdude_bot

�� Он также убирает все после себя, когда находится в группе, так что �� не остается в группе. Бот должен быть администратором.

�� Узнайте учетную запись, команда «Учетная запись», команда «Очистить» очищает учетную запись.

Описание на английском (in English)

�� Bot, both for single player and for adding to a group, counts hits, send one of three emoji �� ��

�� The calculation is carried out by the percentage of hits from the total number of attempts by the player. The rating is based on the percentage of \»Fartiness.\» (more is better.)

�� He also cleans up everything after himself when he is in a group, so that �� does not remain in the group. The bot must be an admin.

�� Find out the account, the \»Account\» command, the \»Clear\» command clears the account.

10 игровых ботов в Телеграме, которые вас развлекут ⁠ ⁠

Тут недавно был пост про 10 полезных ботов Телеграма, в этом же посте будут описаны игровые боты. Для удобства рядом с названием ботов размещены ссылки непосредственно на бота и на его страницу в магазине ботов). Для игры нужно либо установить мобильное приложение Telegram, либо открыть веб-версию (http://web.telegram.org). Все боты бесплатны, хотя некоторые из них предполагают покупку внутриигровой валюты (впрочем, как и во многих казулках: разработчики тоже хотят кушать).

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

И да, меня не покидает ощущение дежа-вю 🙂 Помните текстовые wap-игры и icq-ботов? История возвращается. Итак, начнем.

Как понятно из названия, это бот, позволяющий играть в покер. Ребята выпустили его больше, чем полгода назад, и постоянно развивают. Я бы не сказал, что интерфейс очень удобный, нужно немного привыкнуть, но — если вы любите покер, это бот для вас.

10 игровых ботов в Телеграме, которые вас развлекут Telegram, Боты, Игры, Квест, Текстовый квест, Казино, Головоломка, Длиннопост

Главная фишка этого бота заключается в том, что он присылает вам анимированный gif с результатом заезда двух машин-прямоугольничков: вашей и машины соперника. Мне напомнил древние компьютерные игры лохотронщиков, где надо было делать ставки на то, какая лошадь придет к финишу первой. Впрочем, денег не требуют, так что с лохотроном все-так общего не имеет 🙂

10 игровых ботов в Телеграме, которые вас развлекут Telegram, Боты, Игры, Квест, Текстовый квест, Казино, Головоломка, Длиннопост

Игра представляет собой текстовый квест, в котором вам нужно помочь главному герою, внезапно оказавшемуся на дне океана (да, почти как Губка Боб, но печальнее). Мне чем-то напомнила игру Heavy Metal Thunder.

Диалоги не очень замысловатые, но для знакомства с жанром текстовых квест-игр бот подходит вполне. Олдфажным игрокам, думаю, он наскучит сравнительно быстро.

По словам разработчиков, в сюжете есть мелочи и нестыковки (впрочем, некритичные), которые еще надо доделать, однако лично мне это не помешало получить удовольствие от игры.

10 игровых ботов в Телеграме, которые вас развлекут Telegram, Боты, Игры, Квест, Текстовый квест, Казино, Головоломка, Длиннопост

Один из моих любимых ботов. По словам разработчиков, они давно хотели сделать текстовую версию однорукого бандита, и наконец-то реализовали ее в Телеграме. На своем сайте они говорят «совершенно новых ощущениях от игры» и я, пожалуй, в чем-то с ними согласен.

Главная фишка — это то, что в качестве символов на барабанах используются emoji. А так — стандартная слотовая механика: 5 линий, выигрышные комбинации, бонусы несколько раз в сутки.

10 игровых ботов в Телеграме, которые вас развлекут Telegram, Боты, Игры, Квест, Текстовый квест, Казино, Головоломка, Длиннопост

Еще один казино-бот, однако, в отличие от предыдущего, в нем можно поиграть сразу в три игры: слоты, кости и рулетку. У slotobot слот реализован явно лучше, а вот в кости с рулеткой, за неимением альтернатив, можно поиграть и здесь.

10 игровых ботов в Телеграме, которые вас развлекут Telegram, Боты, Игры, Квест, Текстовый квест, Казино, Головоломка, Длиннопост

Старая добрая (на самом деле не очень) игра в виселицу. Вам нужно угадать слово за определенное число попыток. Только вместо рисования человечка у вас есть запас жизней.

10 игровых ботов в Телеграме, которые вас развлекут Telegram, Боты, Игры, Квест, Текстовый квест, Казино, Головоломка, Длиннопост

Еще один текстовый квест, завораживающий своей атмосферой. Но готовьтесь: нужно будет много читать. Понравилось, что помимо текста, бот иногда присылает иллюстрации, что добавляет атмосферности происходящему.

10 игровых ботов в Телеграме, которые вас развлекут Telegram, Боты, Игры, Квест, Текстовый квест, Казино, Головоломка, Длиннопост

Нужно угадать присланный флаг, выбрав из четырех вариантов. Игра на английском, но — все довольно просто и понятно.

10 игровых ботов в Телеграме, которые вас развлекут Telegram, Боты, Игры, Квест, Текстовый квест, Казино, Головоломка, Длиннопост

Еще один бот, на которого я потратил много времени. Вероятно, сказывается дизайнерское прошлое 🙂

Суть та же, что и в предыдущем боте, только вместо стран нужно угадывать компании. Есть как простые вопросы (типа Бургер Кинга или той же Ямахи), так и сложные (касаются компаний, которые не присутствуют на российском рынке).

Игра так же ведется на английском языке, но вам его потребуется самый-самый минимум.

10 игровых ботов в Телеграме, которые вас развлекут Telegram, Боты, Игры, Квест, Текстовый квест, Казино, Головоломка, Длиннопост

Десятого бота, к сожалению нет. Им должен был быть Акинатор, но он почему-то сломался 🙁

Да, игр для Телеграма пока мало, а хороших игр, в которые хочется играть, — еще меньше.

С другой стороны, развивается и Телеграм, и боты (так, совсем недавно Фейсбук объявил о намерении запустить ботов), а значит, нас ждет реинкарнация давно забытых текстовых игр.

Спасибо, что прочитали!

Если уж говорить об игровых ботах, то необходимо упомянуть http://telegram.me/rulek_bot — игры на деньги с контролем честности. И там все-таки не на эмоджи сделано, а на анимированных гифах. Всяко поприкольнее.

попробуйте телеграмм бота, который водит экскурсии по Москве @questivity_bot

еще достаточно интересная игра Ферма, есть вывод реальных денег, сам пока не успел опробовать

текстовая телеграмм игра, заходи и наслаждайся))(за черный квартал))))

Ещё игра, типо покемонов

Интересный бот игра капиталист покупаешь технику, качаешь нефть и деньги. Кстати деньги можно выводить ( ну если подсесть на игру и не забывать собирать плюшки

https://for24.ru/492-rulek-bot.html ещё из казино, взял с каталога https://for24.ru/atelegram/channels/

Уже делают игры на html5 для телеграма и интегрируют с внешними серверами
Открывается много новых фишек и возможностей)))

А фермер где? https://telegram.me/happyfarmerbot

Помоему очень даже прикольно

Я играю в Arena это файтинг по типу старых браузерных игр (типа комбатса) помогите мне прокачаться регистрируйтесь по этой ссылке и я получу золото в игре! Все плюс в карму!

Присоединяйся к игре Chat Wars! Первая ММОРПГ в Telegram. Заходи по ссылке и получишь 10 золотых монет:

Как сохранить данные из бота в Google таблицу⁠ ⁠

В работе часто приходится сохранять данные, полученные от пользователей чат-бота. Показываю как это легко сделать.

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

1. Регаемся на конструкторе чат-ботов Botmother, в личном кабинете привязываем аккаунт к Google почте (можно на свою или создать отдельную) и создаем бота.

2. В конструкторе на стартовый экран добавляем компонент «Сообщение» и спрашиваем имя. Это первое сообщение от бота.

3. Добавляем компонент «Ввод от пользователя» для сохранения имени в переменную Name c типом данных Текст.

4. Добавляем компонент «Сообщение» и спрашиваем номер телефона.

5. Добавляем компонент «Ввод от пользователя» для сохранения телефона в переменную Phone с типом данных Число.

6. Добавляем компонент «Сообщение» и спрашиваем электронную почту.

7. Добавляем компонент «Ввод от пользователя» для сохранения почты в переменную Email с типом данных Email.

8. Добавляем компонент «Сообщение» и благодарим за запись.

9. Добавляем компонент «Google таблицы», пишем название (например, «Запись на курс»), добавляем ключи и значения. Ключ — это будет название столбца в таблице, значение — наша переменная. Имя — Name, Телефон — Phone, Почта — Email.

10. Сохраняем (советую сохраняться чаще).

Открываем бота и пошагово проходим все этапы — записываемся на курс. Пишем свое имя, телефон и почту.

Открываем Гугл диск — там должна появиться новая таблица с названием и заполненными данными.

Разумеется, можно настроить бота по-своему, например, задавать больше вопросов, передавать в гугл больше данных или сделать сложные сценарии.

Вот как выглядит экран с компонентами:

Как сохранить данные из бота в Google таблицу Разработка, Telegram, Боты, Бот, Чат-бот, Видео, YouTube, Длиннопост

Как сохранить данные из бота в Google таблицу Разработка, Telegram, Боты, Бот, Чат-бот, Видео, YouTube, Длиннопост

Как сохранить данные из бота в Google таблицу Разработка, Telegram, Боты, Бот, Чат-бот, Видео, YouTube, Длиннопост

Как сохранить данные из бота в Google таблицу Разработка, Telegram, Боты, Бот, Чат-бот, Видео, YouTube, Длиннопост

Как сохранить данные из бота в Google таблицу Разработка, Telegram, Боты, Бот, Чат-бот, Видео, YouTube, Длиннопост

Супер мини-квест: розыгрыш трех копий Warhammer: End Times — Vermintide Collector’s Edition и еще нескольких игр⁠ ⁠

Супер мини-квест: розыгрыш трех копий Warhammer: End Times - Vermintide Collector

📄Квест поделен на две части и включает в себя такие игры как:

📄Попрошу внимательно читать описание всех розыгрышей и обойтись без спойлеров и явных подсказок в комментариях.

🔑Ключи для активации в RU-CIS (Россия, Украина и СНГ).

⏳Окончание 13 августа в 14:28 по МСК.

📢Больше розыгрышей в нашем Discord канале.

Телеграм-каналы для крысинга⁠ ⁠

Я ещё помню ламповые времена, когда всякий OSINT (сбор разведывательной информации из общедоступных источников, а также её анализ) надо было осуществлять руками: пробивали людей вручную, по крупицам собирали данные, гуглили, занимались «социальной инженерией». Алгоритм написать под это дело не сложно вообще-то, но вопрос не ставился на «поток», а за публикацию таких программок можно было по рукам получить. И вот славный 2021-ый, массы узнают, что госбазы сто лет в обед как слиты по даркнетам, а в телеге можно онлайн пробить практически любого человека. Тащемта, я поюзал местных ботов и составил свой короткий обзор.

1. @EyeGodsBot — глаз Бога. Дешёво найдёт кучу инфы из открытых источников. Самый подробный и самый бесплатный. Понятно, доступно, недорого — скоро им будут пользоваться все домохозяйки.

2. @get_kontaktt_bot — нерабочая шляпа за деньги, проще установить обычный «Гет» или заюзать «Глаз бога».

3. @phone_avito_bot — ищет объявления на «Авито» по номеру. Иногда пригождается. В «Глазе» тоже есть такая опция, но она платная для одного пробива — 30 р. [исправлено модератором]

4. @bmi_np_bot — определяет тариф и оператора по номеру. В целом, довольно бесполезное занятие, ибо эта информация редко пригождается.

5. Smart_SearchBot ищет контактную инфу, но делает это несколько корявенько. Через несколько запросов начитает трещать о деньгах.

6. @vkfindface_bot — офигенский бот, заменяющий «ФайндФэйс» крысам, не имеющим доступ к корпоративному аналогу! Через него я уже нашёл нескольких кексов, но его мощности далеки от тех версий, которыми сейчас пользуются доблестные органы правоохранения. Впрочем, имея на руках хорошее фото можно попытаться что-нибудь найти. Иногда лажает.

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

После инцидента с Навалом начальство даст всем по голове, но прогресс и жадность будут неумолимо приближать час всеобщей публичности. Зная, как работают алгоритмы, можно не оставлять излишки инфы.

Кстати, если знаете больше интересных ботов — оставляйте их в комментах.

Кратко о создании игры — здесь

Myst 1993, Прохождение, Myst, Компьютерные игры, Ретро-игры, Игры, Квест, Головоломка, Длиннопост

Разработчик: Cyan

Издатель: Brøderbund

Платформа: Mac OS

Год выхода: 1993

Наткнувшись на книгу под названием «Myst», я не имел никакого представления о том, сколько ей лет, кто её написал, и откуда вообще она взялась. Внутри было подробное описание таинственного одинокого острова. Зачитавшись, я машинально положил руку на одну из страниц, и вдруг реальность вокруг меня расплылась и померкла. А через мгновение я обнаружил себя ТАМ. На берегу того самого острова, о котором только что читал.

Spoiler alert.

Внимание! Текст, приведённый ниже, раскрывает сюжет игры.

Myst 1993, Прохождение, Myst, Компьютерные игры, Ретро-игры, Игры, Квест, Головоломка, Длиннопост

Несмотря на обилие разнообразных рукотворных сооружений, остров был абсолютно безлюден. Лишь шум ветра, плеск волн и редкое потрескивание высоких деревьев нарушали царившую здесь тишину.

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

Центральную часть острова занимали два каменных здания, одно из которых оказалось чем-то вроде планетария, а другое — библиотекой.

Myst 1993, Прохождение, Myst, Компьютерные игры, Ретро-игры, Игры, Квест, Головоломка, Длиннопост

Книги, которые стояли на полках, сильно обгорели. Это было странно, поскольку вокруг не было никаких следов пожара. Уцелела лишь малая часть содержимого библиотеки, но и её мне хватило, чтобы провести здесь несколько часов.

Судя по тому, что мне удалось узнать, хозяином этого места и автором большинства книг был человек по имени Атрус. У него была жена Катерина и двое сыновей, Сиррус и Ахенар. От своего отца Атрус унаследовал удивительный дар: через книги, которые он писал, он и члены его семьи могли перемещаться в фантастические миры, которые он почему-то называл «эпохами». Часть сохранившихся текстов была его дневниками. Из них я узнал о существовании мира Прибоя, Аспермера, Воднолеса, эпохи Бесконечных дюн, Осмойской, Селенитовой и Механической эпох, а также эпохи Каменного корабля.

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

Кроме обгоревших томов, что стояли на полках, в библиотеке было ещё две книги, каждой из которых в зале было отведено особое место. Раскрыв одну из них, я увидел, что в ней не хватает страниц. Часть из них была просто вырвана, причём одна из недостающих розовых страниц лежала рядом. Я аккуратно вложил её в книгу и попытался разобрать текст.

Перед моим мысленным взором будто возникло лицо человека, который что-то пытался мне сказать. Я не мог разобрать детали, речь его была слышна будто сквозь сильные помехи.

— . алуйста, ..ги мне! . ди . сные . аницы! Я не . ижу . ..шишь меня?

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

Myst 1993, Прохождение, Myst, Компьютерные игры, Ретро-игры, Игры, Квест, Головоломка, Длиннопост

Вторая книга, голубого цвета, была примерно в таком же состоянии. Когда я раскрыл её, видение повторилось, но я понял, что теперь передо мной другой человек, хотя их лица и были очень похожи.

— . ут . хенар, — расслышал я, и сразу всё понял.

Это были братья, двое сыновей Атруса. По какой-то причине они оказались заточены в этих книгах, и чтобы вернуть их к жизни, мне нужно было найти остальные страницы.

Помимо книг, в библиотеке висела странная картина с изображением коридора и карта острова с отмеченными на ней сооружениями.

Myst 1993, Прохождение, Myst, Компьютерные игры, Ретро-игры, Игры, Квест, Головоломка, Длиннопост

Вниз от библиотеки уходила аллея с колоннами и чем-то вроде небольшого фонтана посередине. Она вела к дальнему концу острова, где напротив берега прямо в воде стояла необычная башня с часами.

Эта часть острова была покрыта лесом. Одно из деревьев, намного выше других, было особенным: оно было окружено каменным забором, а рядом стоял сарай с каким-то странным паровым механизмом. Разобравшись, я понял, что этот механизм управлял большой подземной гидравлической машиной, которая могла менять высоту этого огромного дерева, поднимая или опуская его основание. В стволе была выемка, куда мог забраться человек.

Таким образом я смог подняться над верхушками деревьев. Вид оттуда открывался захватывающий.

Myst 1993, Прохождение, Myst, Компьютерные игры, Ретро-игры, Игры, Квест, Головоломка, Длиннопост

Другой сарай в лесу оказался входом в подземную электростанцию. Оттуда электрические провода через весь остров шли к странному сооружению, которое напоминало лежащую на боку космическую ракету из мультфильмов 1950-х годов.

Myst 1993, Прохождение, Myst, Компьютерные игры, Ретро-игры, Игры, Квест, Головоломка, Длиннопост

Ещё один подземный проход я нашёл возле пристани. Он привёл меня в помещение с голографическим проектором, напоминавшим огромный котёл. Там с помощью кода из записки, которую отец семейства написал своей жене, я смог воспроизвести секретное послание от Атруса. В нём он сообщал Катерине плохие новости: большая часть его книг была умышленно уничтожена, и Атрус подозревал, что за этим стоит один из его сыновей.

Он записал это послание перед тем, как покинуть остров Мист и отправиться на поиски сыновей, которые в это время, похоже, были в других мирах. Атрус собирался вскоре вернуться к своей жене, но, судя по всему, этого так и не случилось. Пропала и Катерина.

Четыре уцелевших книги-портала мужчина унёс из библиотеки и спрятал в особых местах, куда нельзя было добраться без специальных ключей: в ракете, под гигантским деревом, на затонувшем корабле (его можно было поднять на поверхность) и внутри шестерни на вершине скалы. Это было сделано, чтобы до книг не добрались его сыновья, один из которых, очевидно, был злодеем.

Я же, следуя указаниям Атруса, мог найти ключи в башне-обсерватории (проход туда открывало прикосновение к картине в библиотеке). Я решил, добравшись до книг, с их помощью переместиться в другие миры, где побывали Артус и его сыновья, в надежде разобраться в случившемся и, возможно, исправить ситуацию.

Селенитовая эпоха

Myst 1993, Прохождение, Myst, Компьютерные игры, Ретро-игры, Игры, Квест, Головоломка, Длиннопост

Когда Атрус прибыл сюда, это был новый девственный мир без единой живой души. Стоя на поросшем травой холме, Атрус созерцал внизу зелёные луга с редкими островками леса и наслаждался тишиной. Вдали виднелось большое озеро, воздух был свеж, а небо усыпано белыми облачками. Лишь горячий северный ветер нарушал идиллию, вызывая необъяснимое неприятное чувство внутри.

О, если бы он знал, что это только начало! К вечеру ветер стал ещё горячее, красная полоса на горизонте так и не исчезла после заката, а ночью земля затряслась и с неба стали падать огненные шары. Атрус быстро покинул этот мир, опасаясь за свою жизнь.

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

Прекрасное большое озеро, которое Атрус видел в первый день здесь, полностью пересохло. Зато вместо него образовалось другое, в большом метеоритном кратере. Весь остальной окружающий мир напоминал пустыню.

Будто в противовес унылому пейзажу, этот мир теперь был полон звуков. А может, это у Атруса так обострился слух в отсутствие визуальных раздражителей. (Позже он построит здесь специальную станцию, которая будет записывать уникальные звуки этого мира)

Myst 1993, Прохождение, Myst, Компьютерные игры, Ретро-игры, Игры, Квест, Головоломка, Длиннопост

Однажды ночью его разбудило ужасное шипение. Обнаружив спросонья, что он весь взмок от высокой температуры, Атрус немедленно окунулся в ближайший ручей, чтобы остыть. Горячий ветер вернулся, а вместе с ним и подземный гул.

Пройдя некоторое расстояние, Атрус увидел, как из-под земли вырвались языки пламени. Внезапно грунт пошёл трещиной, и открылась глубокая пропасть. Она продолжала расти, пока не стала настолько широкой, что её уже нельзя было преодолеть. Затем шум стал затихать, превратившись в глухой рёв где-то в глубине.

Впрочем, Атрус не унывал: он задумался о том, чтобы каким-то образом использовать жар из этого разлома. Кроме того, он увидел в недрах земли целый новый мир для изучения. Спустившись в разлом, он обнаружил там настолько обширную систему подземных пещер, что для того, чтобы обследовать их все и нанести на карту, понадобилось бы несколько лет. Атрус решил в будущем придумать удобный и безопасный способ для передвижения под землёй.

Когда мужчина вернулся сюда с необходимым оборудованием, его ждали приятные новости: оказалось, что эта эпоха изобилует полезными ископаемыми. Здесь не только было полно железа, но встречался даже самородный титан. Такое обилие ресурсов позволило ему организовать здесь масштабное строительство.

Следующие полтора года Атрус посвятил сооружению подземной железной дороги, перемещаться по которой можно было в специальном батискафе на магнитной подушке.

Myst 1993, Прохождение, Myst, Компьютерные игры, Ретро-игры, Игры, Квест, Головоломка, Длиннопост

Полотно магнитной дороги держалось на многометровых металлических балках, которые были закреплены в стенах подземных пещер. Создание этого грандиозного инженерного сооружения полностью вымотало Атруса, и он был очень рад наконец вернуться к своим сыновьям.

Осматривая удивительные сооружения этого мира, я с удивлением обнаружил здесь пару вырванных страниц из книг в библиотеке: одну — на том самом зелёном холме, который пережил метеоритную бомбардировку, а другую — в «саду поющих камней», где была установлена звукозаписывающая аппаратура. Неужели кто-то умышленно спрятал страницы книг в различных эпохах?

Myst 1993, Прохождение, Myst, Компьютерные игры, Ретро-игры, Игры, Квест, Головоломка, Длиннопост

Путешествие по магнитной дороге внутри системы подземных пещер оказалось невероятно долгим и утомительным. Страшно даже представить, сколь утомительным было её строительство!

Когда я вернулся на остров Мист и добавил найденные страницы в книги братьев, их речь стала несколько более разборчивой. Сиррус, насколько мне удалось понять, выражал мне свою благодарность и в целом был основным кандидатом на спасение. Поведение Ахенара, напротив, вызывало серьёзные сомнения касательно его психического здоровья. Он то и дело хихикал и гримасничал, у этого персонажа явно были проблемы с головой. К тому же, именно его в первую очередь подозревал отец. И всё-таки меня настораживали слова, которые Ахенар то и дело повторял: «Не верь моему брату! Он лжец!»

В любом случае, стоило продолжать поиски, поэтому я отправился в новое путешествие.

Механическая эпоха

Myst 1993, Прохождение, Myst, Компьютерные игры, Ретро-игры, Игры, Квест, Головоломка, Длиннопост

В первый визит Атруса небо этого мира было тёмным и серым. Вдали то и дело вспыхивали молнии. Здесь он встретил старика с длинной бородой и седыми волосами до пояса. Он был так стар, что с трудом передвигался. Однако за его спиной был огромный опыт жизни в этом мире, и Атрус многое узнал от него.

По словам старца, когда-то здесь был прекрасный город, который поднимался прямо из воды. В нём жило много людей, и у них было всё, чего они могли пожелать. Этот город был окружён тремя высокими горами.

На восточной горе был устроен большой смотровой пост. Жители города построили этот пост в ожидании прибытия гостей с востока. У живших здесь людей не было возможности путешествовать по воде, поэтому они просто ждали, когда к ним приплывут, кто бы там ни был — друзья или враги.

Со временем дружелюбные гости стали приносить вести о могущественных врагах, которые существовали где-то за горизонтом. Люди стали бояться, хотя ничего ещё не происходило. И вот настал тот день, когда обычно солнечное небо стало тёмным как ночь, а на горизонте показались чёрные корабли. Дозорные со сторожевого поста попытались вступить в переговоры с пришельцами, но их не стали слушать и быстро перебили. После этого корабли принялись сеять хаос в городе, уничтожая всех и вся. Когда были разрушены опоры, на которых стоял город, он погрузился на дно океана. Осталась лишь смотровая площадка. После этого чёрные корабли удалились.

После той атаки в живых осталось лишь восемь человек. За девять лет, прошедших с момента нападения, умерли ещё двое из них. Будущее виделось совершенно безнадёжным: поговаривали, что через десять лет после разрушения города великий враг вернётся, чтобы завершить начатое.

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

Спустя всего полгода строительство было закончено. Три горы, когда-то окружавшие город, теперь были тремя островами в море, и новая крепость возвышалась посередине между них. Она могла поворачиваться вокруг вертикальной оси, соединяясь металлическим мостиком с каждым из трёх островов, либо отворачиваясь от них. Внутри Атрус установил голографическое устройство, при помощи которого обитатели механической крепости могли научиться самостоятельно ей управлять.

Myst 1993, Прохождение, Myst, Компьютерные игры, Ретро-игры, Игры, Квест, Головоломка, Длиннопост

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

Неизвестно, сколько прошло времени и что случилось с тех пор, но когда я прибыл в эту эпоху, небо здесь было голубым. Внутри крепости было пусто, и привычная уже тишина говорила о том, что я не найду здесь ни одной живой души, как и в предыдущих двух мирах, где мне довелось побывать. Но что же случилось с людьми?

Осмотрев крепость, я нашёл покои, где раньше жили Сиррус и Ахенар. Комната последнего подтверждала мои опасения: судя по всему, это был безумный садист. Разнообразное оружие, висящее на стенах и разбросанное по комнате. какая-то жуткая маска. пыльный трон. За ним — тайная комната, а в ней — мясницкий нож на окровавленной плахе, ящик с гниющим черепом внутри, полки с какими-то ядами, и напротив — большая железная клетка с кнопкой, нажатие которой подавало на прутья электрический разряд. Я содрогнулся при мысли о том, что могло происходить в этих стенах.

Комната Сирруса, напротив, была роскошно убрана, опрятна и чиста. Она напоминала скорее королевские покои. Здесь тоже был красивый трон, а за ним — потайная комната. Но, в отличие от братца-садиста, Сиррус использовал её в качестве сокровищницы. Там хранились сундуки с золотом и дорогие вина. Но боже мой, откуда у этого молодого человека взялось столько сокровищ?

Myst 1993, Прохождение, Myst, Компьютерные игры, Ретро-игры, Игры, Квест, Головоломка, Длиннопост

Кроме того, здесь я нашёл весьма интересную записку такого содержания:

Твоя жадность меня уже бесит! Когда ты наконец уже насытишься богатством и перестанешь грабить? Я прикажу своим подданным не платить тебе новый налог, и ты прекрасно знаешь, что они так и сделают.

С уважением, Ахенар.»

Подданные? Грабить? Налог? Я поднял глаза на портрет человека в горностаевой мантии. Он надменно восседал на троне и держал в руках что-то вроде королевских регалий. Кажется, я начинал понимать.

Эпоха Каменного корабля

Myst 1993, Прохождение, Myst, Компьютерные игры, Ретро-игры, Игры, Квест, Головоломка, Длиннопост

Изначально это была просто группа острых скал посреди большого моря, поэтому Эммит, первый человек, который здесь жил, так и назвал это место – Скалы. В общем-то, ему здесь нравилось: время от времени он плавал от одной скалы к другой, но никогда не уплывал слишком далеко в море.

Однажды, без всякой видимой причины, здесь появился второй человек. Эммит дал ему имя Бранч. Они быстро стали друзьями, вместе плавали и вместе били рыбу острогами. Эммит показал Бранчу своё нехитрое жилище — небольшую пещеру в самой крупной скале. Вскоре и Бранч выбрал место, где он будет жить. Всё в той же большой скале.

Солнце в их мире всегда светило ярко, а вода всегда была идеально прозрачной, так что парни даже могли разглядеть дно океана, который их окружал. Только не подумайте, что друзьям было жарко на солнцепёке, вовсе нет: с севера дул лёгкий бриз, благодаря которому здесь никогда не было слишком жарко или слишком душно.

Однажды, плавая в воде, Бранч обнаружил ещё одного мальчика. Его решено было назвать Уиллом. Вскоре парни приняли Уилла в свою группу, и отныне все трое парней стали плавать и наслаждаться своим идеальным миром.

По крайней мере, такую историю услышал Атрус, когда оказался в этой эпохе. Вскоре после его появления пошёл дождь – как оказалось, впервые в этом мире – так что парни не на шутку испугались. Чтобы их приободрить, Атрус решил сделать ребятам подарок: вписать в этот мир корабль при помощи Искусства, которому научил его отец.

Но что-то пошло не так: судно почему-то совместилось с большой скалой и оказалось расколото надвое. Однако мальчишкам всё равно понравилось, и они провели целый день, играя на корабле. Сам же Атрус использовал его палубу в качестве площадки для астрономических наблюдений.

Однажды ночью, созерцая звёзды в свой телескоп, Атрус заметил какой-то мерцающий свет на горизонте. Это мог быть какой-то естественный источник света, но мужчина решил, что там могут быть ещё люди. По крайней мере, это объяснило бы появление Бранча и Уилла. Поэтому он решил построить маяк, чтобы подать тем далёким людям ответный сигнал.

Спустя несколько недель маяк был готов. Парни, которые помогали Атрусу, очень гордились своей работой. Источник света питался от аккумуляторной батареи, которой хватало на несколько часов. Заряжать её приходилось вручную, посредством динамо-машины.

Myst 1993, Прохождение, Myst, Компьютерные игры, Ретро-игры, Игры, Квест, Головоломка, Длиннопост

Через какое-то время здесь появилось ещё двое людей – мужчина и девочка. Довольный собой, Атрус покинул этот мир, чтобы вернуться сюда спустя 10 лет. К тому времени ребята повзрослели и превратились в мужчин, остров наполнился новыми людьми. Они открыли новые источники пищи и новые материалы, даже где-то золото нашли.

Маяк сохранился прекрасно: ребята исправно за ним ухаживали. Единственное, что смутило Атруса, это то, что скала, на которой он был построен, погрузилась под воду на 40-50 сантиметров.

Трудно сказать, чем был обусловлен подъём уровня моря, но к тому времени, как здесь появился я, весь нижний этаж маяка и туннели в скале были затоплены водой. Я уже не удивлялся отсутствию людей, хотя, судя по записям Атруса, здесь должно было быть полно народу.

Пробравшись по простому деревянному мостику к насосной станции, я сумел откачать воду сперва из здания маяка, а затем и из туннелей, которые вели к вырубленным в глубине скалы жилым помещениям.

Myst 1993, Прохождение, Myst, Компьютерные игры, Ретро-игры, Игры, Квест, Головоломка, Длиннопост

К счастью, они закрывались герметично, поэтому внутреннее убранство комнат не пострадало от воды.

Осмотревшись, я без особого труда нашёл покои, где жили два брата. Спальня Сирруса была украшена роскошными коврами, вдоль стен стояла изысканная мебель из красного дерева. Но что это я вижу в ящике его письменного стола? Похоже, что наш благородный король употреблял вещества!

Myst 1993, Прохождение, Myst, Компьютерные игры, Ретро-игры, Игры, Квест, Головоломка, Длиннопост

Я принялся рыться в его вещах, проверяя один ящик за другим, пока не нашёл очередное доказательство. Один из невинных свёртков ткани в нижнем ящике комода был покрыт совсем не невинным узором. Символы, вышитые на чёрном фоне, один в один повторяли рисунок на флаге чёрных кораблей, которые когда-то уничтожили цивилизацию Механической эпохи.

Спальня Ахенара, как я и ожидал, носила следы пребывания душевнобольного человека. На комоде напротив грязной незастеленной кровати стоял небольшой проектор с голограммой, изображавшей превращение алой розы в жуткий человеческий череп. На столике в дальнем конце комнаты стояли уже знакомые склянки с ядовитыми микстурами, но больше всего меня впечатлил светильник с абажуром из человеческих рёбер.

Myst 1993, Прохождение, Myst, Компьютерные игры, Ретро-игры, Игры, Квест, Головоломка, Длиннопост

Судя по всему, братцы друг друга стоили, и я всё больше понимал, что не доверяю ни одному из них.

Myst 1993, Прохождение, Myst, Компьютерные игры, Ретро-игры, Игры, Квест, Головоломка, Длиннопост

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

Когда Атрус впервые прибыл сюда, он обнаружил здесь обезьяноподобных существ, которые говорили на неизвестном языке. Встретив человека, они приняли его за божество и отвели в свою деревню. Следуя за ними, Атрус с удивлением заметил, что вода под мостками постепенно меняет свой цвет. Если изначально вода была синей, то теперь она стала грязно-оранжевой, а затем полностью прозрачной.

Деревня обезьяньего народа была расположена на деревьях, примерно в десяти метрах над уровнем воды и нижних мостков. Забраться сюда можно было при помощи верёвочных лестниц, которые свисали с её нижнего яруса.

Myst 1993, Прохождение, Myst, Компьютерные игры, Ретро-игры, Игры, Квест, Головоломка, Длиннопост

Обезьяны отвели человека в большую хижину, где находился их вождь. Рядом с вождём сидел необычного вида персонаж, которому обезьяны воздавали такие же божественные почести. Он отдалённо напоминал человека. Точнее, это и был человек, только невероятно старый, костлявый и совершенно седой. Он-то и поведал Атрусу историю этого мира, поскольку мог говорить на его языке.

Давным-давно здесь был большой остров, где жили и люди, и древесный народ. Они не мешали друг с другу, поскольку люди жили на земле, а обезьяны – высоко на деревьях. Время от времени из-под земли был слышен какой-то тревожный грохот, иногда землю сотрясали небольшие толчки, но никто не придавал этому большого значения. Но однажды всё изменилось: подземный грохот усилился и не прекращался, земля задрожала, а затем весь остров стал уходить под воду.

В тот день умерло много людей. Многие из них пожертвовали собой, пытаясь остановить погружение острова. Те, кому посчастливилось пережить катастрофу, стали жить на деревьях. Однако, в отличие от лесного народа, люди не были приспособлены к таким условиям жизни, поэтому со временем они почти все вымерли.

Атрус так и не понял, каким образом люди могли остановить погружение острова, но обезьяны, похоже, с тех пор чтили их всех как богов или, по крайней мере, великих героев. Закончив свой рассказ, старец пожал руки слушателю, пробормотал что-то про долгожданный покой и неожиданно резко встал. Он что-то сказал обезьянам на их языке, а затем вышел из хижины и просто шагнул с воздушного мостика прямо вниз.

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

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

Этот мир оказался самым красивым и любопытным из всех, что я посетил. Практически все механизмы здесь приводились в действие гидравлической силой. Вода к ним подводилась по трубам, проложенным вдоль деревянных мостков, а качал её ветряной насос на одиноком скалистом острове.

Myst 1993, Прохождение, Myst, Компьютерные игры, Ретро-игры, Игры, Квест, Головоломка, Длиннопост

Деревня лесного народа занимала целых два яруса на деревьях и, как я и ожидал, была совершенно пуста. Наверху я обнаружил следы пребывания Сирруса и Ахенара. Голографическое изображение последнего произносило какую-то жуткую речь на обезьяньем языке, рядом опять были орудия пыток; ещё одна голограмма, на этот раз с лицом Сирруса, позволяла предположить, что братья были в сговоре между собой.

Судя по всему, наивные обезьяны считали их тут богами, и в конечном итоге всё закончилось геноцидом. Я почувствовал, как к горлу подкатывает ком, и поспешил вернуться на остров Мист.

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

Я отыскал в библиотеке тайную кодовую комбинацию под нужным номером, набрал её внутри специальной капсулы, которая была спрятана в камине библиотеки, и оказался перед финальным выбором: передо мной лежали голубая и красная страницы, и мне предстояло выбрать, кого из братьев выпустить на свободу.

Myst 1993, Прохождение, Myst, Компьютерные игры, Ретро-игры, Игры, Квест, Головоломка, Длиннопост

Набрав воздуха в лёгкие, я решился и раскрыл запретную зелёную книгу. Оттуда на меня посмотрел спокойный зрелый мужчина в белых одеждах. Это был сам Атрус, якобы убитый (нет). Он рассказал мне о двух книгах-ловушках, которые были созданы, чтобы защитить остров от возможных грабителей, и о том, как туда угодили его собственные жадные сыновья.

Проводя многие месяцы и долгие годы в фантастических мирах, наивный отец не заметил, как его дети отбились от рук, наполнившись безумием и порочностью. Он доверял сыновьям самостоятельно использовать Книги, чтобы путешествовать между мирами, и это была его ошибка. Чужие эпохи стали для братьев игрушкой: пользуясь доверием их жителей, они принялись порабощать целые народы и вести кровопролитные войны — один из жажды власти и богатства, другой просто в качестве садистской забавы.

Само собой, Атрус запретил сыновьям трогать голубую и красную книги, и тогда они, обезумев от жадности, решили его обмануть. При помощи ничего не подозревавшей матери, Катерины, они заманили отца в эпоху Д’ни. Как всегда, он взял с собой книгу острова Мист, чтобы вернуться назад, но на этот раз братья тайно удалили из неё одну страницу. Этого было достаточно, чтобы Атрус оказался навечно заперт в Д’ни.

К счастью, я уже нашёл эту недостающую страницу в тайнике на острове Мист. И теперь был готов перенестись в Д’ни, чтобы вызволить Атруса.

Myst 1993, Прохождение, Myst, Компьютерные игры, Ретро-игры, Игры, Квест, Головоломка, Длиннопост

Небольшая пасхалка: мозаика на полу не относится к семье Атруса. Это лицо художника Чака Картера; так сказать, автопортрет.

Создатель миров сидел за письменным столом в глубине большого каменного зала. Местечко, которое он здесь для себя оборудовал, можно было назвать по меньшей мере аскетичным.

Myst 1993, Прохождение, Myst, Компьютерные игры, Ретро-игры, Игры, Квест, Головоломка, Длиннопост

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

Он поделился со мной беспокойством по поводу судьбы Катерины, которая всё это время была в каком-то плену, а также обмолвился, что сейчас ему противостоит намного большее зло, чем его сыновья могли себе представить. Но всё это уже не касалось меня: писатель явно был не в духе и сказал, что справится со всем этим сам. Мне же оставалось вернуться обратно на остров.

Оказавшись в библиотеке, я невольно бросил взгляд на те полки, где раньше лежали красная и голубая книги. Теперь там было пусто, и лишь горелые чёрные отметины напоминали о грехе, который Атрус осмелился взять на себя.

Telegram X: весеннее обновление

Telegram X Android получил стабильную версию 0.22.8.1361. Ниже представлен краткий обзор новых функций приложения:

Улучшенные настройки конфиденциальности
  • Просмотр и редактирование настроек конфиденциальности для каждого конкретного пользователя (открыть профиль — Трехточечное меню — Конфиденциальность);

  • Возможность установить настройки конфиденциальности для всех пользователей определенной группы.

  • Возможность добавлять группы при редактировании исключений конфиденциальности в разделе «Настройки — Конфиденциальность».
Викторины 2.0
  • Добавлены объяснения для викторин;
  • Таймер для викторин, созданных через бот @QuizBot;
Интерактивные эмодзи
  • Отправьте в чат кубик 🎲 и мессенджер сгенерирует случайное число;
  • Если вы сделаете снимок и батарея устройства разрядится перед отправкой, фотография будет сохранена в галерее (если это не был Секретный чат);
  • Управление зумом с помощью кнопок громкости при записи видео.

Также в приложении добавлено множество других небольших улучшений и исправлено множество багов. Полный список всех изменений смотрите в этой статье.

Подписывайтесь на канал Вам Телеграм — актуальные новости, полезные статьи и советы по работе с Telegram.

История взлома всех игр в Telegram

Сейчас компьютерные игры везде. Присутствуют они и в Telegram. Расскажу о том, как были взломаны практически все игры этого мессенджера, обойдя самых первоклассных игроков, находящихся в топах скорбордов. Хочу поделится результатами исследований. О различных методиках взлома, читинга и путях обхода логики игр под катом.

@gamebot

Первая игра, которая была рассмотрена несколько месяцев назад — LumberJack, играя дровосеком, нужно рубить ветки так, что бы они не придавили игрока. Цель игры в том, что бы срубить как можно больше веток за определенное количество времени.

Изначально, хотелось попрактиковаться в графическом читинге игр, то есть на основе графических данных на мониторе принимать решение. Программа должна эмулировать реакцию человека, отправляя нужные комбинации клавиш, исходя из ситуации на экране. Принцип построения логики программы для текущей игры следующий. Делается скриншот экрана размером 600×1 пиксель по правую сторону дерева. Не весь экран, потому что на процесс снятия скриншота такого большого пространства уходит больше времени. Затем программа в 6 точках проверяет цвет пикселей и на основе этого рассчитывает траекторию движения игрока сразу для 6 веток. Если справа есть ветка, уйти влево, если нет — остаться справа. За один ход делается 2 удара топором. Выполняются ходы, затем снова делается скриншот и цикл повторяется. Так будет продолжаться, пока не закончится время.

Код программы для python 2.7 в ОС Ubuntu 16.04

Для запуска нужно установить следующие зависимости

За эмуляцию клавиш в среде Linux отвечает утилита xte, подробнее можно почитать тут. За снятие скриншота выбранного участка экрана отвечает библиотека pyscreenshot, подробнее читать тут. Для работы программы нужно задать первую точку (самую нижнюю ветку справа, или место, где она могла бы находится), для этого можно воспользоваться функцией get_mouse(). Высота между ветками — 100 пикселей. Задержки между нажатиями клавиш и задержка между снятием скриншотов выставлена методом проб и ошибок. Меньше, чем эти значения, установить не вышло, программа не успевала обрабатывать изображение или нажимать клавиши. Пример работы представлен на видео.

800 очков ни один человек набрать не сможет, так что результат работы программы можно считать победой.

Процесс написания и отладки занял довольно продолжительное время, так что нужно рассмотреть другие варианты решений.

Анализируя HTTP запросы, при окончании игры отправляется два типа запросов. Если пользователь не достиг нового рекорда.

Достаточно лишь подменить some_score на какое то значение, и новое число добавляется в таблицу.

В base64 отправляются данные о аккаунте, то есть id, имя игрока, который кликнул на игру, имя игры, а так же id чата.

Стоит отметить, что эта игра относится к боту @gamebot, на котором есть еще две игры, Math Battle и Corsairs. Более подробно была рассмотрена игра Math Battle.

HTTP запрос с количеством баллов отправляется похожий. Стоит попробовать отправить запрос через инспектор в браузере.

Открыв режим отладчика, открыть исходный код main.min.js. Поставить несколько брекпоинтов (точек останова), запустить игру и найти переменную r, в которой хранится количество очков. Через консоль это значение можно менять.

Отключив режим дебага, выполнится функция отправки очков и таким образом можно отправить уже заданное количество очков. Что бы не кликать много раз, включая\отключая инспектор, стоит немного разобраться в исходниках main.min.js, отредактированный сервисом JS Beautifier. Вот три интересные функции.

Функция na() вызывается, когда достигнут новый рекорд, ca() нужна просто для получения scoreboard игры. Кстати, решение, какую функцию вызвать происходит в функции U() в этой строке.

При изменении параметра r и вызове функции na() должен быть включен режим дебага. Должно получится примерно так.

Исходный код немного обфусцирован, это усложняет его анализ, но основные вещи ясны.

Игра Corsairs, относящаяся так же к боту @gamebot решается всеми вышеописанными методами. За различные запросы на сервер я был забанен, и не могу добавляться в scoreboard, аккаунт находится в бан листе. Нужно быть осторожным при тестировании игр этого бота.

@gamee

Довольно популярным был бот @gamee. Выбрана игра Qubo.

Запрос, отправляемый в конце игры следующий

Подменить score, как в предыдущем боте, уже не получится. Генерируются хэши, которые подписывают score, play_time и тд, что бы таким простым способом нельзя было накрутить очки. Отладчик не очень помог, так как в нем было очень много переменных.

Пришлось анализировать код вручную. В исходном коде страницы игры можно найти такой кусок кода.

Примечательно, что скрипты подключаются не обычным способом, а через запрос в js, и поэтому их не видно в инспекторе. Любопытные два файла — gameUI.min.js и gameUIdesktop.min.js. В первом файле нашлась такая функция, которая является методом объекта gameeUI.

Очевидно, что входящий параметр e — очки, отправляемые на сервер. Отправив в консоли строку gameeUI.saveScore(some_score), можно получить заветное количество баллов.

К этому боту относятся игры «3+3», «Karate Kido», «Space Traveler», «Hexonix» и тд. Все решаются вышеописанным способом. Можно сделать вывод, что когда одна из игр очередного бота решается определенным способом, то им решаются и остальные игр этого бота.

@GamesHDBot

Довольно сложную по логике можно назвать игру «Galaxy Space Shooter». Красивая графика, много плюх в процессе игры, можно зарабатывать очки и монеты.

Но достаточно было заглянуть в инспектор, найти объект TlgAdapter и его метод putScore.

@ludeiBot

Любопытным оказался этот бот. Игра для тестирования — «Jumping Submarine».

Запрос при окончании игры следующий.

Очки подменить просто. Примечательно то, что в открытом виде посылается user_id. Если узнать id всех пользователей в чате, то можно сделать следующую атаку типа спам. Сделать это можно через API Telegram.

Идея в том, что можно мало того, что менять очки другого игрока в таблице, так еще и спамить в общем чате, отсылая уведомления о новом победителе текущей игры. Это довольно серьезная атака, если правильно ее сделать. Нельзя определить, кто на самом деле накручивает очки, и даже после исключения человека из чата (атакующего или того, кто «спамит») — все равно можно продолжать безобразничать. Можно «спамить» от имени любого участника чата, включая админа, заставив админа чата исключить определенных людей. Единственный способ прекратить такое мракобесие — админу чата удалить сообщение с предложенной игрой.

К этому боту относятся так же игры «iBasket», «Sumon», «Angry Piano».

@MeduzaGameBot

К этому боту относятся 5 игр, и их можно применять для того типа атаки, который описан выше.
К примеру игра, всем знакомый сапер.

Здесь еще проще. Обычным GET запросом, зная id чата и id пользователей можно устраивать спам.

@foragamesbot

Тут всего одна игра — «DevRunner»

После окончания игры отправляется два запроса

Второй запрос позволяет увидеть, на каком месте игрок с текущим количеством баллов. До того, как было начато тестирование, на первом месте был игрок с 2000-3000 баллов, а забавно то, что всего играло в игру около 13к людей. Получается никто из этих людей не додумался перехитрить эту игру 🙂 Подменив запросы с количеством очков 111113 оказался на первом месте.

@brugamebot

Бота с этой игрой можно определенно назвать самыми скучными среди всех.

Пример — шахматы. Никакого рейтинга, оповещение о победе и так далее. Игра только client-side.

@microgamesbot

Эта игра так же одна в этом боте, «Jumper Frog».

Запрос в конце игры

Часть токена вырезана, но смысл должен быть ясен. На сервер отправляется в качестве данных только score. Подменить его просто. Вопрос в другом, как сервер распознал, что играл определенный человек, и записал его в scoreboard в чате телеграмма? А все просто — сервер берет данные из заголовка Referer токен, упомянутый выше. Странный костыль, насмешил. Логичный вопрос, что будет, если зайти по прямой ссылке на эту игру? Ничего особенного, вот только когда набрать очки, в ответ на запрос выше (без Referer) придет ответ такого вида.

Ловится ошибка, которая раскрывает абсолютные пути к файлам. В совместимости с LFI, например, уже можно достать много полезных данных. Но так как задача стояла в обнаружении недочетов игр, а не проводить полноценный пентест конкретной игры, на этом было решено остановится.

@foxgamebot

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

При окончании игры отправляется такой запрос

Что за хэш пока не ясно. Это явно не hex или base64. В исходном 30 тысяч строк, если переформатировать код в читаемый вид. Был использован сервис JS Beautifier. Логично поискать какую нибуть подстроку по такому фильтру — post». Находится такая функция.

Поискав эту функцию через поиск, можно найти несколько мест, где она вызывается. К примеру из этих объектов — this.ApiService, или this.scoreView. Но ни один из них не был доступен через инспектор. Тогда было решено разобраться, что за хэш отправляется и как его декодировать.

Далее поиск производился уже по тексту setScore. Нашлась такая замечательная функция, которая объясняла примерно, как производится шифрование.

Сначала JSON формат еще не известных данных переводится в строку, затем эта строка разбивается на символы в массиве, меняется задом на перед порядок этих символов и строка склеивается заново. Небольшая антиреверс фишка от разработчика? Поставив брекпоинт как на скриншоте был получен доступ ко всем текущим функциям и объектам, доступными конкретно в строке 14016.

Теперь можно получить доступ к некоторым интересным параметрам.

Получается, что все данные шифруются алгоритмом AES 256 в режиме ECB. Но вот что не понятно, воспользовавшись хорошим сервисом по симметричному шифрованию получил.

В то время, как программа выдавала другой результат.

Получается алгоритм шифрования тоже изменен, очередная фишка для антиреверса и процесса эксплуатации. Впрочем это не самая большая проблема. На сервер отправляется не количество очков, а массивы данных в формате JSON (отформатировано для читаемости, в запросе нет переносов и ни единого пробела).

Исходя из логики _t, это время, когда была съедена очередная курица в миллисекундах, _f — координаты острова или курицы, _s — номер, _n — следующий остров с съеденной курицей. Получается на сервере обрабатываются не то, сколько очков набрано, а данные о какие данные были зафиксированы при съедении куриц. Очень хорошая идея с точки зрения безопасности игры.

Проведя несколько игр, не вышло определить, что такое _p и _r, скорее всего они для отвлечения внимания и усложнения понимания кода, очередная фишка разработчика. Но все переменные варьировались в определенных пределах и было написан скрипт, который исходя из нужного количества времени и необходимого количества очков генерировал бы JSON массивы.

Результат нужно было вставить в консоль и затем сделать подмену HTTP запроса. Увы это работало для нескольких очков, затем аккаунт был забанен. Видимо не все было учтено в скрипте.

Пришлось брать другой тестовый аккаунт, продолжать изучать исходный код и проводить тестирования. В исходнике много разных странных вещей присутствует, например реализованы все виды шифрования AES, или вот такой странный кусок кода с таблицами хэшей.

Или вот, например, непонятно зачем нужный ключ в base64 (при шифровании передавался md5 ключ).

И вот его расшифровка.

Это не все странности, найденные в коде. Впрочем, после еще нескольких часов отлаживания нашлось кое что интересное, функция catchAnimals.

Из нее становится понятно, как генерируются массив. Каждый раз, когда лисица съедает очередную курицу, вызывается эта функция и к существующему массиву добавляется новый блок данных, который помещается в переменную _n. А еще, в score записывалось значение, которое было переведено в другую систему исчисления, вместо десятичной, в score записывалось число в двадцатеричной системе, очередной антиреверс прием от разработчика. Вместо усовершенствования скрипта, было решено поставить брекпоинт и подменить score прямо на лету.

Прям перед установлением score в коде. Теперь в консоли поменять значение и продолжить выполнение скрипта.

И вот так я был вознагражден за труды.

В общий скорборд добавился немного позднее.

Примечательно то, что изменить очки можно всего одним массивом. В параметре _s записать нужное количество очков в 20чной системе исчисления, все это зашифровав кастомным алгоритмом aes, с сгенерированным ключем(md5 формат). Стоит отметить, что ключ выдается исходя из id чата, и не меняется в процессе игры. Исходя из id аккаунта в этой игре, можно сделать вывод, что в нее играло не менее 100 тысяч человек.

Хочется отметить, что выполнить эту атаку удалось благодаря уязвимости на сервере. Кода принимается JSON, расшифровывается, скорее всего, из массива данных берется массив с максимальным _s, и не важно, что он всего один. Поправить это просто — нужно парсить весь массив на предмет инкрементного увеличения _s, проверяя, что бы значение этого параметра соответствовало номеру вхождения в дереве JSON.

Какой можно сделать вывод? Все, что обрабатывается на стороне клиента, можно модифицировать, подменить, и не важно, насколько сложно шифруются данные для отправки и насколько сложно обфусцирован код. Очень порадовала игра «Tricky Fox», разработчик молодец. Пусть это всего лишь игра, на которую нужно тратить час-два максимум, все же стоит принимать меры по предотвращению читерства и обходу логики. На фоне других более популярных игр с халатным отношением к модификации очков очень хорошо сделана игра. Если ты, уважаемый читатель, хочешь разработать свою игру, то разобрав практически кейсы из этой статьи сможешь создать не только красивую, интересную, но и довольно защищенную игру.

Добавить комментарий

Ваш адрес email не будет опубликован.