karate kido 2 чит

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

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

karate kido 2 чит

@gamebot

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

karate kido 2 чит

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

karate kido 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.

karate kido 2 чит

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

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

karate kido 2 чит

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

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

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

karate kido 2 чит

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

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

@gamee

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

karate kido 2 чит

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

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

karate kido 2 чит

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

karate kido 2 чит

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

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

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

@GamesHDBot

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

karate kido 2 чит

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

karate kido 2 чит

@ludeiBot

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

karate kido 2 чит

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

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

karate kido 2 чит

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

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

@MeduzaGameBot

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

karate kido 2 чит

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

@foragamesbot

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

karate kido 2 чит

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

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

karate kido 2 чит

@brugamebot

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

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

karate kido 2 чит

@microgamesbot

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

karate kido 2 чит

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

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

karate kido 2 чит

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

@foxgamebot

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

karate kido 2 чит

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

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

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

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

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

karate kido 2 чит

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

karate kido 2 чит

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

karate kido 2 чит

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

karate kido 2 чит

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

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

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

karate kido 2 чит

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

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

karate kido 2 чит

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

karate kido 2 чит

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

karate kido 2 чит

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

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

karate kido 2 чит

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

karate kido 2 чит

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

karate kido 2 чит

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

karate kido 2 чит

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

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

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

Источник

Telegram Karate Kido «Hacking»

Gampelay game di telegram (karate kido 2)Подробнее

karate kido 2 чит

Karate Kido 2 hackingПодробнее

karate kido 2 чит

Telegram Karate Kido «Hacking»Подробнее

karate kido 2 чит

How to get 700000 points on @gamee botПодробнее

karate kido 2 чит

How To Hack Corsairs Telegram Game On Mobile (2021)Подробнее

karate kido 2 чит

How to Hack Lumberjack (Telegram GameBot Game)Подробнее

karate kido 2 чит

HACK @GAMEE TELEGRAM BOT TO GET MAXIMUM SCORE POSSIBLEПодробнее

karate kido 2 чит

TELEGRAM LUMBERJACK VZLOM UZBEK TILIDA | LUMBERJACK ВЗЛОМПодробнее

karate kido 2 чит

How to hack telegram game bot @gamebot or math battle game unlimited scoreПодробнее

karate kido 2 чит

How to Hack Lumberjack, Corsairs, Math Battle (Telegram GameBot Game) And Dino(Chrome offline game)Подробнее

karate kido 2 чит

Telegram corsairs «Hacking»Подробнее

karate kido 2 чит

How To Hack Corsairs Telegram Game (2020)Подробнее

karate kido 2 чит

Telegram LumberJack vzlom / LUMBERJACK взлом / How to Hack LumberJackПодробнее

karate kido 2 чит

Lumberjack vzlom na telefone, telefonda vzlom qilish, lumberjack hacked, telegram gamebot vzlomПодробнее

karate kido 2 чит

Telegram LumberJack o’yinini vzlom qilish/ LUMBERJACK взлом / How to Hack #LumberJackПодробнее

karate kido 2 чит

Telegram lumberjack «Hacking»Подробнее

karate kido 2 чит

КАК ВЗЛОМАТЬ CORSAIRS ТЕЛЕГРАММЕ НА ПК! | ARMKATVツПодробнее

karate kido 2 чит

Источник

Karate Kido 2 hacking

Для просмотра онлайн кликните на видео ⤵

karate kido 2 чит

Gamee karate kido 2 game 14,000+ pointПодробнее

karate kido 2 чит

Gamee app: Karate kido 2Подробнее

karate kido 2 чит

MAIN GAME KARATE KIDO 2Подробнее

karate kido 2 чит

(Gamee)Karate Kido 2..Ozbiljnoo!!Подробнее

karate kido 2 чит

Karate kido 2 #gamekaratekido2Подробнее

karate kido 2 чит

Karate Kido 2 (minigame di Telegram) ma con una musica bellaПодробнее

karate kido 2 чит

Gampelay game di telegram (karate kido 2)Подробнее

karate kido 2 чит

Juego al karate kido 2 con el cover del Harry Styles de fondoПодробнее

karate kido 2 чит

Jugando gaame a karate kido 2Подробнее

karate kido 2 чит

GameE/Karate Kido v.s Karate Kido 2 etc./Ep3Подробнее

karate kido 2 чит

Jugando karate kido 2Подробнее

karate kido 2 чит

Karate Kido 2 (am facut 3018)#1Подробнее

karate kido 2 чит

GAMEE Karate Kido 2Подробнее

karate kido 2 чит

Karate kido 2 / NOOB playerПодробнее

karate kido 2 чит

karate kido 2 чит

Le GANO a PEDTRIVM en KARATE KIDO 2Подробнее

Источник

Karate Kido 2 hacking

KOMMENTARE • 15

karate kido 2 чит

karate kido 2 чит

You can download the method to work on the phone as well

karate kido 2 чит

karate kido 2 чит

Porque utilizan hack en un juego haci XD

karate kido 2 чит

Porque son re petes y les duele la cola si no hacen trampa

karate kido 2 чит

karate kido 2 чит

Es como los que utilizan hacks en among us xD, pero bueno, que se le va a hacer.

karate kido 2 чит

karate kido 2 чит

karate kido 2 чит

doesn’t work anymore

karate kido 2 чит

All working! Thanks! Just need some thinking, thank you again!

karate kido 2 чит

Всё равно не робит

karate kido 2 чит

@Leo Korotkevich немного подумать и внимательно посмотреть, на словах вряд ли получится объяснить, но суть в том что ты запускаешь поиск ошибок, так сказать, в определенной строке, которая отвечает за твой счёт в игре. После этого надо получить одно очко, когда этот параметр измениться время в игре останавливается и ты сможешь его поменять на свой, а после надо сразу же проиграть, там всё не очень сложно. И это работает для многих телеграм игр, надо просто найти закономерность

Источник

Karate Kido 2 Hacking

Загрузил: Nematillo Ochilov

Длительность: 1 мин и 7 сек

Telegram Corsairs Hacking

Telegram Karate Kido Hacking

How To Hack Telegram Game Bot Gamebot Or Math Battle Game Unlimited Score

Math Battle Hacking

Gampelay Game Di Telegram Karate Kido 2

Telegram Lumberjack Lumberjack Vzlom Hack

Telegram Lumberjack Hack 2019 Working

Gamee App Karate Kido 2

Money Boss: earn money online

Hack Gamee Telegram Bot To Get Maximum Score Possible

Telegram Math Battle Hacking

Telegram Lumberjack Vzlom Uzbek Tilida Lumberjack Взлом

Slack Basics The Ultimate Slack Introduction

Karate Kido 2 Gameplay Telegram Shorts Gameplay Telegram

Telegram Unlimited Referrals Tricks 2018

Metatrader 4 Savdo Platformasida Robotlarni Sinovdan O Tkazish Eng Daromadli Kasb Bu Forex

Corvusos 9 0 For Samsung Exynos 7870 Devices Corvus Os 9 0 Endgame Corvus Os For Samsung Devices

Godaddy Com Free Email Setup And Login Tutorial

Yangi Qo Shiqlari Yorqinxo Ja Umarov

Free For Profit Rock Beats

Клуб Микки Мауса Скачать

Narkoman Hard Bass Минус

The Weeknd Type Beat

Goodie Bag Still Woozy

Kapral Anton Abakumov Ты За Всё Прости Меня

Егор Крид Самый Лучший Друг И Самый Злейший Враг

Дарья Трубникова Булавы 2020

Сердце Пацана Ремикс

Kinoebi Qartulad 2020

Breezeblocks Alt J Cry Wolf Remix Slowed

Аниме Клип Полюбила Гада

Yagoo Singing Bakamitai Better Looking

The Swan Performed By Piano Cello

Karate Kido 2 Hacking

История Скорпиона Scorpion Mortal Kombat 11

Billie Eilish Same Interview The Fourth Year Vanity Fair

Mgl Sub Billie Eilish I D Love To Let You Go 6 18 18 Xxxtentacion

Medusa Myself Kailee Morgue Savi Ft Ida Da Silva Ravedj

Прохождение Alan Wake 5 Световое Шоу На Лаверс Пик

Jazz Cartier Tempted Remix

Practicemode Cadillac Morgenshtern Edition Prod Maskbeats

Billie Eilish 6 18 18 Traduction

Слабые Места Топ 10 Пиков Драфта 2021

Sandu Ciorba Papu Videoclip Oficial

Yot Club Kizumonogatari Edit

Sandu Ciorba Noi Macedon 2020

Хочу Пожрать И Витус Витус Красиво Ответил На Вопрос Подписчика

Источник

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *