Комментарии 29
История взлома всех игр в Telegram
Достаточно очевидно, что если вся игровая механика реализована на клиенте, а на сервер отправляются только результаты, то можно отправить на сервер любые результаты. Так что я бы не назвал это "взломом" :)
Обфускация исходников и формата запросов — не панацея, обход — только вопрос времени.
История взлома всех игр в Telegram
В Telegram больше нет игр, кроме тех, что перечислены в статье? А если найду?
Проблема в том, что таких игр 98% среди всех. Об этом стоило написать, что бы разрабы начали переносить хоть часть логики на бекенд. Взломом можно назвать общую массу игр, если за 2-3 дня смог перебрать все популярные игры. И игры для рассмотрения брались из многих источников, в том числе и из games.tlgrm.ru. Если какую то игру не рассмотрел, то она либо типична по решению, либо не популярна.
Всех игр? Добро пожаловать: @ChatWarsBot
Что за нелепая попытка самопиара? Очевидно, что речь про html5 игры, которые взламывать — как щелкать орехи.
Это текстовый квест сделанный через бота. В текущую тему не очень вписывается
Ну да — классика подхода security by obscurity
*security through obscurity
чем хороши статьи про ботов, что все эти методы можно применять и для автоматизированного тестирования в случае если нет другого инструмента.
gameeUI.saveScore(some_score)Можно еще воспользоваться этим:
GameeWeb.updateScore(1337)
Прописывать в момент смерти.
как момент смерти отлавливать будешь?
В принципе, его можно программно не отлавливать. Сделать любое движение, которое приведет к смерти и ~перед смертью выполнить команду
i.imgur.com/s49SVIr.gifv
i.imgur.com/s49SVIr.gifv
Для игр из бота @gamebot (дровосек и математический батл) есть способ еще проще. Открыть исходный код программы, найти «random» и поменять на любое число, сохранить. В итоге получится, что в дровосеке деревья появляются только с одной стороны, а примеры, которые надо решить — одинаковые. В игре Corsairs (от того же бота), найти «bulletSpeed» и поменять стартовую константу в 130 и ту строчку, где она увеличивается на 1.1. С остальными платформами не пробовал, из @gamebot одни из первых игры были. Сложнее подобрать красивое число, 777 например (вот здесь есть доказательство @gamestion (не реклама, и группу нашел совершенно случайно)).
Круто! Есть чем перед девчонками похвастаться!
Чит для дровосека: открываем консоль, вводим
Для кораблика: опять же в консоли
Правда результаты на сервер не отправлял, т.к. меня забанили после наглой попытки послать curl'ом такой же запрос, подменив Highscore на 1000000
Math.random = function() { return 0.5; }
и рубим ветки с одной стороныДля кораблика: опять же в консоли
function fixBulletSpeed() { bulletSpeed = 1; setTimeout(fixBulletSpeed, 1); }; fixBulletSpeed();
уворачиваемся, как нео, от снарядов. Правда результаты на сервер не отправлял, т.к. меня забанили после наглой попытки послать curl'ом такой же запрос, подменив Highscore на 1000000
Очень приятно увидеть плоды своих трудов в этой статье. (tricky foxy)
Сам разраб Лисицы оценил, спасибо!)
Вот по примеру его игры нужно строить фронт енд логику
А зачем, если вы все равно его взломали?
Потому что делал это долго, сделать это было проблематично, и большинство людей просто не станет так сильно заморачиваться. И взломал, потому что был баг в работе сервера. Если бы не он, было бы все намного сложнее. И я был первым, кто нашел этот баг среди 100к людей, и второй среди тех, кто когда либо ломал эту игру. Так что это говорит о прекрасно проделанной работе одного разработчика.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
История взлома всех игр в Telegram