всё началось примерно полтора месяца назад, когда пошла ебанутая шумиха о том, что есть около-бесплатные возможности получить аккаунт с плюсом в чатджб
идея мне сразу понравилась, и я решил разузнать подробнее. мне итер скидывает бота китайца (@gptnocard_bot), оттуда я вступаю в чат и начинаю мониторить всю инфу, что там есть, параллельно создав себе пару аккаунтов гпт. осознав, что это работает, и заимев большое желание заработать на этом, я начал копать дальше.
просмотрев всю историю чата, я понял, что абуз заключался в генерации карт по Luhn-алгоритму по бину определенных банков.
в то время возможность активировать акцию на бесплатного гпт была буквально у каждого аккаунта за счёт того, что на стороне опенай не было валидации на то, претендует ли пользователь на какую-либо акцию или нет. потому просто указав:
promo_campaign_id: "plus-1-month-free"
в теле запроса на получение ссылки внутри страйпа.
после полученной ссылки можно было просто вводить бесконечное кол-во сгенерированных карт, страйп пропускал (да и щас пропускает) буквально спам этими запросами.
к сожалению, на стороне опенаи решили ввести фильтры, и рандомные карты проходить перестали. наши китайские коллеги в течение нескольких дней нашли новый абуз - GoPay.
GoPay - индонезийский кошелек, который позволял регистрировать аккаунт КАЖДОМУ человеку по номеру телефона (в приоритете индонезийские номера), принимать отп-смски можно было как через WhatsApp, так и через обычные смс.
основной проблемой на моем пути было то, что аппка сама по себе построена на flutter, посему его надо было реверсить, и реверсить очень глубоко.
после базового ресерча я нашел - https://github.com/worawit/blutter/, но там не было поддержки IOS среды, посему быстренько навайбкодив и отладив его поддержку, принялся ковырять уже саму аппку.
после недолгого анализа было выяснено: для запросов используется банальная защита от переиспользования заголовков: в хедере использовался таймстемп, и всё хешировалось через внутренний hmac ключ, который вшит внутри самой аппки под 10418 слоев говна, из-за чего просто через поиск строчек его не найти.
тогда я пошел более тупым путем - frida, захукав потенциальные поинтеры функций, я аргументы каждого проверял и смотрел на момент возможности использовать его как hmac ключ. после десятков итераций он был найден, и вся схема отлажена под будущие обновления.
после того, как hmac был вытащен, алгоритмы генерации заголовков воссозданы, я принялся тестить весь код - и о чудо: оно работает, но только первые два запроса: рега и ввод отп; получив токен и вставив его в заголовок - НИЧЕГО НЕ ЗАРАБОТАЛО.
оказалось потом, оно не работало из-за того, что как раз этот антиперевоспроизводимый заголовок после получения токена принимал еще одно поле внутрь себя, из-за чего я немного потупил и пососался.
после чего фастиком я нагенерировал авторег аккаунтов гпт, также двух ботов для тг, которые используются для получения сообщений из имапа + смс провайдеров, а также реализовал апи к ним, чтобы кодом можно было тоже к ним обращаться.
цимес весь в чем?))) проработал мой софт ровно один день))), после 4 дней разработки оно просто перестало работать БУКВАЛЬНО. всё из-за антифрода уже со стороны мерча самого гопея, из-за которого принять пеймент было трудно даже руками.
после таких палок в колеса я решил чуть попридержать коней и забить хуяку на эти фришки, посему щас и пишу этот пост.
мораль такова - если хочешь чото бесплатно, то делай это быстро.
https://x.com/dolbaebskicode/status/2061735490341028254