shamhi / HamsterKombatBot

Bot that mines coins in HamsterKombat
Apache License 2.0
778 stars 231 forks source link

Оригинальные запросы к серверу promo (+ хидеры к каждой игре) #2241

Open dukerok opened 2 months ago

dukerok commented 2 months ago

Коллеги, кто вытаскивает перехваченные бёрпом запросы оригинальной игры? Не могли бы вы поделиться оригинальными данными, которые эти игры отправляют на промо. Хочется максимально полностью копировать оригинальные запросы... (хидеры, clientOrigin)

Например как на TWERK: https://github.com/shamhi/HamsterKombatBot/issues/2209#issuecomment-2293150732 Mud Racing: https://github.com/shamhi/HamsterKombatBot/issues/2209#issuecomment-2306638222 Polysphere: https://github.com/shamhi/HamsterKombatBot/issues/2241#issuecomment-2303872077 Cafe Dash https://github.com/shamhi/HamsterKombatBot/issues/2209#issuecomment-2315724261 https://github.com/shamhi/HamsterKombatBot/issues/2175#issuecomment-2315973762 Gangs https://github.com/shamhi/HamsterKombatBot/issues/2289#issuecomment-2322156343 Tile Trio https://github.com/shamhi/HamsterKombatBot/issues/2241#issuecomment-2329515196 Fluff Crusade https://github.com/shamhi/HamsterKombatBot/issues/2241#issuecomment-2330190184 Bouncemasters https://github.com/shamhi/HamsterKombatBot/issues/2209#issuecomment-2345672164

Кстати, обратили внимание что оригинальная игра запрашивает в закодированном формате данные (Accept-Encoding: gzip, deflate, br). А мы все запршиваем в utf-8?

Да и большинство генераторов вообще не шлёт половину хидеров. Как минимум user-agent точно надо слать от игры

hosegomez commented 2 months ago

I would also really appreciate it if someone could share examples of current queries across all games.

AndrewNovikof commented 2 months ago

Тут в топике по MergeAway кидали для игры Polysphere

Обратите внимание clientId - это UUID v4 а не timstamp-randomnumbers. И это очень важный момент после отправки clientId в виде uuid в Полисферу, код начал выдаваться с 3-4 попытки, а не с 15+ (P.S возможно просто продолжилась какая то другая игра, потому что вцелом генерит так же долго)

POST /promo/login-client HTTP/1.1 Host: api.gamepromo.io User-Agent: UnityPlayer/2021.3.39f1 (UnityWebRequest/1.0, libcurl/8.5.0-DEV) Accept-Encoding: gzip, deflate, br Accept: application/json Content-Type: application/json; charset=utf-8 X-Unity-Version: 2021.3.39f1 Content-Length: 151 Connection: keep-alive

{"appToken":"2aaf5aee-2cbc-47ec-8a3f-0962cc14bc71","clientOrigin":"android","clientId":"edfbbf97-e6b0-4be7-9d27-a6d7e830a0ef","clientVersion":"1.15.2"}

POST /promo/register-event HTTP/2 Host: api.gamepromo.io User-Agent: UnityPlayer/2021.3.39f1 (UnityWebRequest/1.0, libcurl/8.5.0-DEV) Accept-Encoding: gzip, deflate, br Accept: application/json Authorization: Bearer 2aaf5aee-2cbc-47ec-8a3f-0962cc14bc71:android:edfbbf97-e6b0-4be7-9d27-a6d7e830a0ef:8BHibn3jbyg:1724230851289 Content-Type: application/json; charset=utf-8 X-Unity-Version: 2021.3.39f1 Content-Length: 144

{"promoId":"2aaf5aee-2cbc-47ec-8a3f-0962cc14bc71","eventId":"d7fc78d2-1529-438b-aa9c-ad324ddc6b6d","eventOrigin":"undefined","eventType":"test"}

POST /promo/create-code HTTP/2 Host: api.gamepromo.io User-Agent: UnityPlayer/2021.3.39f1 (UnityWebRequest/1.0, libcurl/8.5.0-DEV) Accept-Encoding: gzip, deflate, br Accept: application/json Authorization: Bearer 2aaf5aee-2cbc-47ec-8a3f-0962cc14bc71:android:edfbbf97-e6b0-4be7-9d27-a6d7e830a0ef:8BHibn3jbyg:1724230851289 Content-Type: application/json; charset=utf-8 X-Unity-Version: 2021.3.39f1 Content-Length: 50

{"promoId":"2aaf5aee-2cbc-47ec-8a3f-0962cc14bc71"}

lolyinseo commented 2 months ago

Обратите внимание clientId - это UUID v4 а не timstamp-randomnumbers. И это очень важный момент после отправки clientId в виде uuid в Полисферу, код начал выдаваться с 3-4 попытки, а не с 15+

чушь полная

AndrewNovikof commented 2 months ago

Обратите внимание clientId - это UUID v4 а не timstamp-randomnumbers. И это очень важный момент после отправки clientId в виде uuid в Полисферу, код начал выдаваться с 3-4 попытки, а не с 15+

чушь полная

Чушь что? Что разные игры могут передавать clientId в разном формате? Или что всегда Полисфера выдавала ключ за 13-15 попыток, а тут выдала за 2-3?

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

А кому не пофиг на эти ньюансы, тот меня понял и уже поправил у себя генерацию clientId в виде uuid для Полисферы.

lolyinseo commented 2 months ago

Обратите внимание clientId - это UUID v4 а не timstamp-randomnumbers. И это очень важный момент после отправки clientId в виде uuid в Полисферу, код начал выдаваться с 3-4 попытки, а не с 15+

чушь полная

Чушь что? Что разные игры могут передавать clientId в разном формате? Или что всегда Полисфера выдавала ключ за 13-15 попыток, а тут выдала за 2-3?

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

А кому не пофиг на эти ньюансы, тот меня понял и уже поправил у себя генерацию clientId в виде uuid для Полисферы.

Лучше не позорься и ничего не пиши

  1. Заголовки никто не анализирует и не хранит, у них даже GA не работает. Это сотни терабайт.
  2. Завтра обновиться Unity, разраб пересоберёт приложение и будут другие
  3. deviceid(clientId ) каждый разраб делает как хочет, hk просто дали endpoint им
  4. hk на вас плевать, главное рекламку смотри. (Но хомяки что-то начади подозревать и за месяц HK потеряли половину юзеров)
  5. В самом начале в config отдавали ВСЕ НАСТРОЙКИ ИГР С ТАЙМИНГАМИ, они захардкодены. Потом убрали.
AndrewNovikof commented 2 months ago

Лучше не позорься и ничего не пиши

Ну я бы не был так уверен в том что позорюсь здесь я своими утверждениями - а не ты.

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

Подумай, может все не так однозначно как ты считаешь.

Juv1e commented 2 months ago

Обратите внимание clientId - это UUID v4 а не timstamp-randomnumbers. И это очень важный момент после отправки clientId в виде uuid в Полисферу, код начал выдаваться с 3-4 попытки, а не с 15+

проверил, инфа фейк

SilentMajor1ty commented 2 months ago

проверил, инфа фейк

Лишь бы что спиздануть не по теме

Juv1e commented 2 months ago

Лишь бы что спиздануть не по теме

схуев не по теме? чел выкакал хуйню, я проверил, сказал что фейк

AndrewNovikof commented 2 months ago

Обратите внимание clientId - это UUID v4 а не timstamp-randomnumbers. И это очень важный момент после отправки clientId в виде uuid в Полисферу, код начал выдаваться с 3-4 попытки, а не с 15+

проверил, инфа фейк

А что ты проверил? Что не uuid отправляется?

AndrewNovikof commented 2 months ago

Право нет никакого желания никому ничего доказывать. И тем более общаться с неадекватами - далеким от разработки и культуры вежливого общения.

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

Все, мне дальше не интересно вести полемику

Juv1e commented 2 months ago

А что ты проверил? Что не uuid отправляется?

у себя для poly ключей сделал uuid4

hosegomez commented 2 months ago

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

kyt3 commented 2 months ago

Это рандом когда можно будет сгенерировать код. В моих логах(к сожалению первый форк делал не с этого репозитория и так и оставил, так как много чего под себя сделал) можно заметить, что к одной и той же игре без смены алгоритма код иногда можно получить после 10 регистраций ивентов, иногда после 3-х, иногда после 5-и... Если они никак не валидируют поле - откуда взяться вообще логике "правильности отправки id"? Я тоже ставлю на то, что это бред, не надо вводить в заблуждение если повезло получить код с 3-го раза. Это рандом.

yoyoallf commented 2 months ago

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

Полнейший рандом, при реальной игре, дают коды за просмотр рекламных роликов и всегда рандомное количество

dukerok commented 2 months ago

Обратите внимание clientId - это UUID v4 а не timstamp-randomnumbers. И это очень важный момент после отправки clientId в виде uuid в Полисферу, код начал выдаваться с 3-4 попытки, а не с 15+

чушь полная

Чушь что? Что разные игры могут передавать clientId в разном формате? Или что всегда Полисфера выдавала ключ за 13-15 попыток, а тут выдала за 2-3? Ты можешь забить на эти ньюансы и генерить в генераторе, который нагуглишь в первых ссылках гугла (которому пофиг на заголовки и параметры) - комментарий был не для среднестатистического хомячка. А кому не пофиг на эти ньюансы, тот меня понял и уже поправил у себя генерацию clientId в виде uuid для Полисферы.

Лучше не позорься и ничего не пиши

  1. Заголовки никто не анализирует и не хранит, у них даже GA не работает. Это сотни терабайт.
  2. Завтра обновиться Unity, разраб пересоберёт приложение и будут другие
  3. deviceid(clientId ) каждый разраб делает как хочет, hk просто дали endpoint им
  4. hk на вас плевать, главное рекламку смотри. (Но хомяки что-то начади подозревать и за месяц HK потеряли половину юзеров)
  5. В самом начале в config отдавали ВСЕ НАСТРОЙКИ ИГР С ТАЙМИНГАМИ, они захардкодены. Потом убрали.
  1. То что у них не работает GA, не показатель, что никто не анализирует передаваемые данные. Зачем хранить логи? Проще сделать в промо-коде который мы вводим в игре одну позицию отственную за фейковость. Ну т.е. пришли не те хидеры или данные, возведем этот флаг и пусть юзер вводит код, без проблем. Потом введеный такой код пометит юзера как ботовода. Далеко ходить не надо. Вводимые данные 100% анализируются, по крайней мере clientID. Тест довольно простой. Сгенерируй на статичном clientID несколько промокодов и внимательно посмотри на первые 3 символа... они ВСЕГДА похожи, например у меня всегда! начинают с 3 промокоды. А потом сравни промокоды с генераторов или с других clientID они полностью другие...

  2. То что разраб что-то там пересоберет это не значит что юзер это скачает. Многие годами не качают обновы.

  3. Может и так. Но promo сервер это сервер хомяков, скорее всего есть какие-то требования... Да и речь не про то что они туда передают, наша цель не отличаться...

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

dukerok commented 2 months ago

Mud Racing https://github.com/shamhi/HamsterKombatBot/issues/2209#issuecomment-2306638222

AndrewNovikof commented 2 months ago

Cafe Dash Запросы: https://github.com/shamhi/HamsterKombatBot/issues/2209#issuecomment-2315724261 Заголовки: https://github.com/shamhi/HamsterKombatBot/issues/2175#issuecomment-2315973762

dukerok commented 2 months ago

Gangs https://github.com/shamhi/HamsterKombatBot/issues/2289#issuecomment-2322156343

dukerok commented 1 month ago

Tile Trio

POST /promo/1/login-client HTTP/2
Host: api.gamepromo.io
User-Agent: UnityPlayer/2020.3.48f1 (UnityWebRequest/1.0, libcurl/7.84.0-DEV)
Accept: */*
Accept-Encoding: gzip, deflate, br
Content-Type: application/json
Authorization: Bearer 
X-Unity-Version: 2020.3.48f1
Content-Length: 127

{"appToken":"e68b39d2-4880-4a31-b3aa-0393e7df10c7", "clientOrigin":"deviceid", "clientId":"1727761", "clientVersion":"12.4.57"}

ответ body {"clientToken":"{clientToken}"}

POST /promo/1/get-client HTTP/2
Host: api.gamepromo.io
User-Agent: UnityPlayer/2020.3.48f1 (UnityWebRequest/1.0, libcurl/7.84.0-DEV)
Accept: */*
Accept-Encoding: gzip, deflate, br
Content-Type: application/json
Authorization: Bearer e68b39d2-4880-4a31-b3aa-0393e7df10c7:deviceid:1727761:8C4P0TAohiU:1725454306224
X-Unity-Version: 2020.3.48f1
Content-Length: 50

{"promoId":"e68b39d2-4880-4a31-b3aa-0393e7df10c7"}

пример ответа: {"hasCode":false,"eventsCount":0,"eventsTotal":5,"promoCodesCount":0,"promoCodesTotal":4}

POST /promo/1/register-event HTTP/2
Host: api.gamepromo.io
User-Agent: UnityPlayer/2020.3.48f1 (UnityWebRequest/1.0, libcurl/7.84.0-DEV)
Accept: */*
Accept-Encoding: gzip, deflate, br
Content-Type: application/json
Authorization: Bearer e68b39d2-4880-4a31-b3aa-0393e7df10c7:deviceid:1727761:8C4P0TAohiU:1725454306224
X-Unity-Version: 2020.3.48f1
Content-Length: 154

{"promoId":"e68b39d2-4880-4a31-b3aa-0393e7df10c7", "eventId":"abe9bcb9-d1b4-405b-ade8-328ef3148d4d", "eventOrigin":"undefined", "eventType":"gt_progress"}

пример ответа: {"hasCode":false,"eventsCount":1,"eventsTotal":5,"promoCodesCount":0,"promoCodesTotal":4}

POST /promo/1/create-code HTTP/2
Host: api.gamepromo.io
User-Agent: UnityPlayer/2020.3.48f1 (UnityWebRequest/1.0, libcurl/7.84.0-DEV)
Accept: */*
Accept-Encoding: gzip, deflate, br
Content-Type: application/json
Authorization: Bearer e68b39d2-4880-4a31-b3aa-0393e7df10c7:deviceid:1727761:8C4P0TAohiU:1725454306224
X-Unity-Version: 2020.3.48f1
Content-Length: 50

{"promoId":"e68b39d2-4880-4a31-b3aa-0393e7df10c7"}

пример ответа: {"promoCode":"TILE-YN8-9H4J-XVA3-123","eventsCount":5,"eventsTotal":5,"promoCodesCount":1,"promoCodesTotal":4}

dukerok commented 1 month ago

Fluff Crusade

POST /promo/1/login-client HTTP/2
Host: api.gamepromo.io
User-Agent: UnityPlayer/2022.3.27f1 (UnityWebRequest/1.0, libcurl/8.5.0-DEV)
Accept: */*
Accept-Encoding: gzip, deflate, br
Content-Type: application/json
X-Unity-Version: 2022.3.27f1
Content-Length: 127

{"appToken":"112887b0-a8af-4eb2-ac63-d82df78283d9","clientId":"3a19b48b-df0c-4b14-9079-403f854d4321","clientOrigin":"deviceid"}
POST /promo/1/get-client HTTP/2
Host: api.gamepromo.io
User-Agent: UnityPlayer/2022.3.27f1 (UnityWebRequest/1.0, libcurl/8.5.0-DEV)
Accept: */*
Accept-Encoding: gzip, deflate, br
Content-Type: application/json
Authorization: Bearer 112887b0-a8af-4eb2-ac63-d82df78283d9:deviceid:3a19b48b-df0c-4b14-9079-403f854d4321:8C4KaW4VMck:1725448990125
X-Unity-Version: 2022.3.27f1
Content-Length: 50

{"promoId":"112887b0-a8af-4eb2-ac63-d82df78283d9"}
POST /promo/1/register-event HTTP/2
Host: api.gamepromo.io
User-Agent: UnityPlayer/2022.3.27f1 (UnityWebRequest/1.0, libcurl/8.5.0-DEV)
Accept: */*
Accept-Encoding: gzip, deflate, br
Content-Type: application/json
Authorization: Bearer 112887b0-a8af-4eb2-ac63-d82df78283d9:deviceid:3a19b48b-df0c-4b14-9079-403f854d4321:8C4KaW4VMck:1725448990125
X-Unity-Version: 2022.3.27f1
Content-Length: 125

{"promoId":"112887b0-a8af-4eb2-ac63-d82df78283d9","eventId":"5a809a07-7326-4ba8-a32b-89f85018d6fd","eventOrigin":"undefined"}
POST /promo/1/create-code HTTP/2
Host: api.gamepromo.io
User-Agent: UnityPlayer/2022.3.27f1 (UnityWebRequest/1.0, libcurl/8.5.0-DEV)
Accept: */*
Accept-Encoding: gzip, deflate, br
Content-Type: application/json
Authorization: Bearer 112887b0-a8af-4eb2-ac63-d82df78283d9:deviceid:3a19b48b-df0c-4b14-9079-403f854d4321:8C4KaW4VMck:1725448990125
X-Unity-Version: 2022.3.27f1
Content-Length: 50

{"promoId":"112887b0-a8af-4eb2-ac63-d82df78283d9"}
dukerok commented 1 month ago

Bouncemasters https://github.com/shamhi/HamsterKombatBot/issues/2209#issuecomment-2345672164