Делаем автокликер на JavaScript. На примере игры HAMSTER KOMBAT

Делаем автокликер на JavaScript. На примере игры HAMSTER KOMBAT

Предыстория: те, кто разбирается в разработке/верстке, знают, что такое HTML IFRAME. Telegram-приложения, которые мы запускаем в Telegram, по сути, являются iframe-приложениями которые пишут сторонние разработчики. Веб-версия Telegram — это основная страница, а боты — это встраиваемые страницы внутри неё.

Когда мы запускаем HAMSTER KOMBAT - запускается их приложение по ссылке https://hamsterkombatgame.io/clicker которое доступно даже при прямом переходе (правда оно не запустится, т.к. для этого нужны данные авторизации телеграма).

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

Какой у нас план:
1) Запустить приложение через браузер
2) Создать примитивный автокликер для авто-скликивания

И так, начнем:

Как запустить приложение с компьютера

При попытке запустить приложение через веб-версию телеграма у нас выйдет сообщение "Play on your mobile". То есть запускать приложение можно только через телефон.

Делаем автокликер на JavaScript. На примере игры HAMSTER KOMBAT

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

Наводим на блок с запущенным приложением, кликаем правой кнопкой мыши и нажимаем "Просмотреть код" (на разных ОС и браузерах может называться по разному, например "Исследовать элемент").

Делаем автокликер на JavaScript. На примере игры HAMSTER KOMBAT

Затем открывается панель инструментов, где нам нужно найти нужный нам iframe приложения.

Делаем автокликер на JavaScript. На примере игры HAMSTER KOMBAT

Дважды кликаем на элемент и переходим в режим редактирования. Видим там платформу, которую телеграм передает стороннему приложению.

Делаем автокликер на JavaScript. На примере игры HAMSTER KOMBAT

Заменяем "weba" на "android" и кликаем вне элемента чтобы сохранить изменения.

Делаем автокликер на JavaScript. На примере игры HAMSTER KOMBAT

И наше приложение благополучно запускается с компьютера))

Делаем автокликер на JavaScript. На примере игры HAMSTER KOMBAT

А что это нам дает?

Во первых: таким (или схожим) способом мы сможем запускать любые приложения через веб-версию телеграма (пока сами разработчики приложений не позаботятся об этом или сам телеграм не придумает способ защиты)

Во вторых: имея возможность запускать приложения через браузер – мы можем создавать автокликеры, автосборщики, автопрокачки и т.д. на обычном, чистом JavaScript (через консоль). То есть автоматизировать все безо всяких ферм на 20 телефонов или устройств "кликеров". Либо один раз написать JS скрипт и инжектить его на веб-страницу.

Делаем самый простой автокликер на JavaScript

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

Делаем автокликер на JavaScript. На примере игры HAMSTER KOMBAT

Копируем ее класс (а это user-tap-button) и пишем самый примитивный автокликер с помощью setInterval на JS.

Переходим в консоль и вставляем туда следующий код:

setInterval(function() { document.querySelector('.user-tap-button').dispatchEvent(new Event('pointerup')); } , 1000);

Нажимаем Enter и видим как JS скрипт начинает отрабатывать события кликов

Делаем автокликер на JavaScript. На примере игры HAMSTER KOMBAT

Тем самым хомяк будет тапаться каждую секунду. В функцию setIterval мы передали значение одной секунды. Вы можете заменить 1000 на любое другое значение (тут время передаются в милисекундах, поэтому указывается 1000 вместо 1). Мы можем дополнительно написать обработчики которые будут кликать с паузой или в хаотичном порядке делая паузы, чтобы имитировать реального пользователя. Более улучшенная версия кликера с паузой в 3 секунды после рандомных нажатий от 5 до 10 раз.

function startClicker() { let counter = 0, randomNumber = Math.floor(Math.random() * 6) + 5; let clicker = setInterval(function() { document.querySelector('.user-tap-button').dispatchEvent(new Event('pointerup')); counter++; if (randomNumber === counter) { clearInterval(clicker); setTimeout(function() { startClicker(); }, 3000); } }, 300); } startClicker();

Каждый клик по хомяку не отправляет запрос на сервер, иначе их сервер точно не выдерживал бы нагрузок. На стороне JS у них стоит задержка перед отправкой запроса на сервер (примерно 2-3 секунды). То есть, если мы быстро кликнем 20 раз по хомяку, то через 2-3 секунды уйдет запрос на сервер. Пример этого запроса:

{ count: 20, // количество очков которые надо прибавить availableTaps: 980, // оставшееся количество тапов timestamp: 1722621486 // время запроса в timestamp формате (должен брать реальное время, иначе могут заблокировать) }

И самое прикольное то, что мы можем разом отправлять имитацию 1000 кликов. То есть нам даже не нужно слать 1000 запросов на каждый клик.

Достаточно одного запроса в котором нам нужно установить:
count = 1000 и availableTaps = 0

Тем самым мы можем рассчитать время когда откатиться полная энергия (сравнивать оставшуюся энергию с максимальной) и повторно отправлять один запрос

Но самый прикол в том, что эти запросы можно слать вручную: через Postman, через терминал (CURL) или любую другую программу которая позволяет отправлять POST запросы. Хамстер комбат работает через обычный Bearer token. Сам этот токен мы можем перехватить во вкладке "Сеть"

Делаем автокликер на JavaScript. На примере игры HAMSTER KOMBAT

С помощью этого токена мы можем отправлять POST запрос на эндпоинт https://api.hamsterkombatgame.io/clicker/tap. И не забываем на всякий случай везде подменять наш User-Agent на какой-нибудь Андроид.

Я уверен, что и с другими играми можно делать подобное. То есть для этого даже не нужно покупать фермы с кучей телефонов. Единственное что нам нужно будет - это прокси сервера или VPN, чтобы нас не заблокировали.

P.S. - я не автор идеи. Подсмотрел все тут - https://www.youtube.com/watch?v=PTdUmkT-yas&t=2578s&ab_channel=%25Aram%25
В нем рассказывается все более детально и с более улучшенным кодом. Я же просто написал статью по видео со своими дополнениями чтобы просто донести информацию

Начать дискуссию