March 13, 2025

StatusAI Free Coffee - как это было?

Я разработчик бота @StatusAIEnergyBot, расскажу как создавался бот, почему были блокировки, как он работал и почему он вообще был сделан.

Оглавление:

  1. Как пришла идея
  2. Создание бота для получения кофе
  3. Итоги

1. Как пришла идея

Увидел в тиктоке приложение, решил попробовать, скачал и залип.

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

Решил посмотреть за что дают кофе, увидел что их можно купить и получить за реферала, тут появилась идея..

2. Создание бота для получения кофе

Запустил LDPlayer, включил режим отладки по ADB в эмуляторе и подключился к нему через HTTP Toolkit.

Вошел через гугл аккаунт в приложение и увидел запрос ниже

Тут мы видим:

  1. Ссылку через которую происходит авторизация в приложении
  2. В заголовках передаётся параметр build, это версия сборки приложения
  3. Передаётся device-id, это уникальный id вашего устройства
  4. version, версия приложения

Параметры которые передаются в этом запросе:

Тут мы видим:

  1. timezone - ваш часовой пояс, от него зависит когда восстанавливается ваша энергия а так же всё время в игре делает поправку на него.
  2. inviteCode - код человека который вас пригласил, именно ему дадут 1 кофе.
  3. googleJWT - Подписанный уникальный токен для авторизации

googleJWT стал передаваться после обновления 1.3.4 и именно этот параметр исправил уязвимость которая была допущена и которой пользовался бот для регистрации аккаунтов и выдачи вам кофе.

До этого передавался googleUserId - уникальный id вашего гугл аккаунта, то есть зная ID любого человека можно было авторизоваться в его аккаунт. Это критическая уязвимость, сейчас она уже исправлена, но тогда...


Я отправил данные из запроса ChatGPT, он сделал мне код для отправки копии этого запроса, единственное что нужно было поправить это использовать библиотеку curl_cffi т.к. она делает их более реалистично.

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

  • Случайный id гугла
  • Случайный device-id
  • Указаный код

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

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

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

1) Начал я с чата https://t.me/statuskaiser, где после минут 10-15 меня успешно забанили, хоть и многие меня хвалили и распространяли бота дальше, а так же раздавали коды сами после меня, я зашел с 2 и 3 аккаунта где так же быстро получил бан, с администратором я связаться не мог т.к. ссылок не было.

2) Я пошел в тикток где часто мне не верили, а так же почти у всех бот просто не находился в тг по поиску, не знаю почему но и до сих пор он не выдается, возможно ограничения самого тг т.к. он посчитал его не безопасным.

3) Чат https://t.me/statusxo, тоже получил бан, тоже некоторые люди перешли в бота и начали использовать.

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

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

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

В целом из-за существования моей программы и бота приложение "легло" 12 марта и писало что нет интернета, на самом деле я писал об этом подробнее тут: https://t.me/StatusAIFree/9

Запрос на получение данных пользователя превысил лимит 20000 запросов в минуту, а он отправляется при входе в аккаунт, авторизации и запуске приложения.


После я внес некоторые изменения:

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

И лёг спать..


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

Я обновил версию и снова запустил бота, и снова пошел спать, всё работало, банов больше быть не должно, я ввел проверку на валидность версии и если бы они снова обновили приложение то бот бы перестал отправлять запросы.


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

Зато после этого было много фана, мы прикалывались в канале и чате канала а так же я создал РП по статусу @StatusFanRP

Так же могу вас уверить что бот ещё будет работать, для начала подождем пока приложение будет более менее стабильно работать, а после ждите обновлений, новости о них будут тут: @StatusAIFree

3. Итоги

  1. Люди хоть не надолго но смогли уталить свою ломку
  2. Создан небольшой фандом вокруг канала

3. Ну и главное, разработчики пофиксили критический баг на старте игры

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