uz
Feedback

Firibgarlarga uchmang! Telemetrio bunday kanallarni topadi va belgilaydi 👉 Belgini ko‘rmoqchi bo‘lsangiz, obuna bo‘ling

DRIFT FREE SOURCE CODE

DRIFT FREE SOURCE CODE

Kanalga Telegram’da o‘tish

Ko'proq ko'rsatish
Mamlakat belgilanmaganToif belgilanmagan
2 599
Obunachilar
+3824 soatlar
+3287 kun
+42130 kun

Ma'lumotlar yuklanmoqda

O'xshash kanallar
Ma'lumot yo'q
Muammo bormi? Iltimos, sahifani yangilang yoki bizning qo'llab-quvvatlash boshqaruvchimizga murojaat qiling>.
Taglar buluti
Ma'lumot yo'q
Muammo bormi? Iltimos, sahifani yangilang yoki bizning qo'llab-quvvatlash boshqaruvchimizga murojaat qiling>.
Kirish va chiqish esdaliklari
---
---
---
---
---
---
Obunachilarni jalb qilish
Noy '26
Noyabr '26
+351
0 kanalda
Oktabr '26
+241
2 kanalda
Get PRO
Sentabr '26
+374
11 kanalda
Get PRO
Avgust '26
+304
0 kanalda
Get PRO
Iyul '26
+406
5 kanalda
Get PRO
Iyun '26
+1 256
32 kanalda
Get PRO
May '26
+29
29 kanalda
Get PRO
Aprel '26
+98
2 kanalda
Sana
Obunachilarni jalb qilish
Esdaliklar
Kanallar
08 Noyabr+20
07 Noyabr+38
06 Noyabr+25
05 Noyabr+55
04 Noyabr+52
03 Noyabr+58
02 Noyabr+99
01 Noyabr+4
Kanal postlari
🐱 Dɢ Dʀɪғᴛ — Sᴇʀᴠᴇʀ Hᴏsᴛɪɴɢ Bᴏᴛ 🚀 Yᴏᴜʀ Pᴇʀsᴏɴᴀʟ Hᴏsᴛɪɴɢ Mᴀɴᴀɢᴇʀ! 🤖 Bᴏᴛ Lɪɴᴋ: https://t.me/DG_HOSTINGPANEL_BOT?start=ref_8348660678 ☁️ Hᴏsᴛɪɴɢ Fᴇᴀᴛᴜʀᴇs 🐍 Pʏᴛʜᴏɴ Pᴀɴᴇʟ Cʀᴇᴀᴛɪᴏɴ 🟢 Nᴏᴅᴇ.ᴊs Pᴀɴᴇʟ Cʀᴇᴀᴛɪᴏɴ ⚡ Iɴsᴛᴀɴᴛ Pᴀɴᴇʟ Rᴇǫᴜᴇsᴛ 😋 Mʏ Pᴀɴᴇʟs Mᴀɴᴀɢᴇᴍᴇɴᴛ 🔑 Pᴀɴᴇʟ Lᴏɢɪɴ Dᴇᴛᴀɪʟs 🌐 Dɪʀᴇᴄᴛ Pᴀɴᴇʟ Dᴀsʜʙᴏᴀʀᴅ Aᴄᴄᴇss 😡 U sᴇʀ Fᴇᴀᴛᴜʀᴇs 📊 Pᴇʀsᴏɴᴀʟ U sᴇʀ Pʀᴏғɪʟᴇ 👱‍♂️ U sᴇʀ Iᴅᴇɴᴛɪғɪᴄᴀᴛɪᴏɴ 🔗 Pᴇʀsᴏɴᴀʟ Rᴇғᴇʀʀᴀʟ Lɪɴᴋ 🎁 Rᴇғᴇʀ & Eᴀʀɴ Sʏsᴛᴇᴍ 📈 Rᴇғᴇʀʀᴀʟ Cᴏᴜɴᴛ 📁 Eᴀsʏ Sʜᴀʀᴇ Fᴜɴᴄᴛɪᴏɴ 🤖 Sᴛᴀʀᴛ Yᴏᴜʀ Hᴏsᴛɪɴɢ Jᴏᴜʀɴᴇʏ!

2
🚀 Dɢ Dʀɪғᴛ — Gᴀʀᴇɴᴀ FF Wᴇʙsɪᴛᴇ Uᴘᴅᴀᴛᴇ 🌐 Wᴇʙsɪᴛᴇ: https://drift-garena-ff.vercel.app/ ⚡ Oᴜʀ Gᴀʀᴇɴᴀ FF Wᴇʙsɪᴛᴇ Nᴇᴇᴅs A Cᴏᴍᴘʟᴇᴛᴇ Eʀʀᴏʀ Fɪxɪɴɢ & Iᴍᴘʀᴏᴠᴇᴍᴇɴᴛ Uᴘᴅᴀᴛᴇ! 🇷🇺 Aᴠᴀɪʟᴀʙʟᴇ Tᴏᴏʟs: 🔹 Bɪᴏ Cʜᴀɴɢᴇʀ 🔹 JWT Gᴇɴᴇʀᴀᴛᴏʀ 🔹 Pᴇʀᴍᴀɴᴇɴᴛ Bᴀɴ 🔹 FF Eᴀᴛ Tᴏᴋᴇɴ 🔹 Bɪɴᴅ Tᴏᴏʟs 🔹 Fʀɪᴇɴᴅ Mᴀɴᴀɢᴇʀ 🔹 Gᴜɪʟᴅ Mᴀɴᴀɢᴇʀ  ⚙ Wᴏʀᴋ Iɴ Pʀᴏɢʀᴇss: ✅ Fɪx Aʟʟ Wᴇʙsɪᴛᴇ Eʀʀᴏʀs ✅ Fɪx API & Sᴇʀᴠᴇʀ Issᴜᴇs ✅ Fɪx Lᴏᴀᴅɪɴɢ Pʀᴏʙʟᴇᴍs ✅ Fɪx Bʀᴏᴋᴇɴ Bᴜᴛᴛᴏɴs & Pᴀɢᴇs ✅ Iᴍᴘʀᴏᴠᴇ Wᴇʙsɪᴛᴇ Sᴘᴇᴇᴅ ✅ Iᴍᴘʀᴏᴠᴇ Sᴇᴄᴜʀɪᴛʏ & Sᴛᴀʙɪʟɪᴛʏ ✅ Mᴀᴋᴇ Aʟʟ Sᴜᴘᴘᴏʀᴛᴇᴅ Tᴏᴏʟs Wᴏʀᴋ Pʀᴏᴘᴇʀʟʏ  👑  Cᴏɴᴛᴀᴄᴛ Oᴡɴᴇʀ:   @DG_DRIFT
153
3
✦ Pᴇʀᴍᴀɴᴇɴᴛ Fʀɪᴇɴᴅ API ✦ ━━━━━━━━━━━━━━━━━━ ➕ import requests url = "https://drift-garena-ff.vercel.app/api/friend_action" headers = {     "X-API-Key": API_KEY } data = {     "uid": "12345678",     "jwt": "eyJ...",     "action": "add" } r = requests.post(url, headers=headers, json=data) print(r.json()) ━━━━━━━━━━━━━━━━━━ ➖ import requests url = "https://drift-garena-ff.vercel.app/api/friend_action" headers = {     "X-API-Key": API_KEY } data = {     "uid": "12345678",     "jwt": "eyJ...",     "action": "remove" } r = requests.post(url, headers=headers, json=data) print(r.json()) ━━━━━━━━━━━━━━━━━━ 🔑 Gᴇᴛ API Kᴇʏ 🌐 Wᴇʙsɪᴛᴇ: https://drift-garena-ff.vercel.app/ 1. Oᴘᴇɴ Tʜᴇ Wᴇʙsɪᴛᴇ. 2. Gᴇɴᴇʀᴀᴛᴇ / Gᴇᴛ Yᴏᴜʀ API Kᴇʏ. 3. Cᴏᴘʏ Yᴏᴜʀ API Kᴇʏ. 4. Aᴅᴅ Iᴛ Iɴ Yᴏᴜʀ Pʏᴛʜᴏɴ Cᴏᴅᴇ. ━━━━━━━━━━━━━━━━━━ ⚙ API Dᴇᴛᴀɪʟs • Eɴᴅᴘᴏɪɴᴛ: /api/friend_action • Mᴇᴛʜᴏᴅ: POST • Aᴜᴛʜ: X-API-Key • Aᴄᴛɪᴏɴs: add / remove • Tʏᴘᴇ: Pᴇʀᴍᴀɴᴇɴᴛ API ━━━━━━━━━━━━━━━━━━ 🔴 Mᴀᴅᴇ Bʏ - @DG_DRIFT
333
4
🚀 𝘞𝘦𝘣𝘐𝘯𝘵𝘰𝘈𝘱𝘱 Wᴇʙsɪᴛᴇ Fᴜʟʟ Sᴏᴜʀᴄᴇ Cᴏᴅᴇ Aᴠᴀɪʟᴀʙʟᴇ 🔥 💻 Kɪsɪ Kᴏ 𝘞𝘦𝘣𝘐𝘯𝘵𝘰𝘈𝘱𝘱 Wᴇʙsɪᴛᴇ Kᴀ Fᴜʟʟ Sᴏᴜʀᴄᴇ Cᴏᴅᴇ Cʜᴀ
🚀 𝘞𝘦𝘣𝘐𝘯𝘵𝘰𝘈𝘱𝘱 Wᴇʙsɪᴛᴇ Fᴜʟʟ Sᴏᴜʀᴄᴇ Cᴏᴅᴇ Aᴠᴀɪʟᴀʙʟᴇ 🔥 💻 Kɪsɪ Kᴏ 𝘞𝘦𝘣𝘐𝘯𝘵𝘰𝘈𝘱𝘱 Wᴇʙsɪᴛᴇ Kᴀ Fᴜʟʟ Sᴏᴜʀᴄᴇ Cᴏᴅᴇ Cʜᴀʜɪʏᴇ Tᴏ Dɪʀᴇᴄᴛ Dᴍ Kʀᴏ! ✍️ ⚡️ Fᴜʟʟ Wᴇʙsɪᴛᴇ Sᴏᴜʀᴄᴇ Cᴏᴅᴇ ⚙️ Dᴇᴠᴇʟᴏᴘᴍᴇɴᴛ & Cᴜsᴛᴏᴍɪᴢᴀᴛɪᴏɴ 🥶 Gᴇᴛ Tʜᴇ Sᴏᴜʀᴄᴇ Cᴏᴅᴇ Fᴏʀ Yᴏᴜʀ Pʀᴏᴊᴇᴄᴛ 💰 Iɴᴛᴇʀᴇsᴛᴇᴅ? Dᴍ Fᴏʀ Pʀɪᴄᴇ & Dᴇᴛᴀɪʟs! 🚩 Dᴍ Fᴏʀ Bᴜʏ — @DG_DRIFT
462
5
Dɢ Cʜᴀᴛ Gᴘᴛ.apk
435
6
Matn yo'q...
278
7
✨ Mʏ 1 Tᴏᴏʟ • 3 Pʟᴀᴛғᴏʀᴍs 🚀 ⚡ Oɴᴇ Tᴏᴏʟ, Tʜʀᴇᴇ Wᴀʏs Tᴏ Usᴇ! 1️⃣ Aᴘᴋ Vᴇʀsɪᴏɴ 📱 Usᴇ Mʏ Aᴘᴋ 😀 Wᴇʙsɪᴛᴇ Vᴇʀsɪᴏɴ 🌐 https://drift-garena-ff.vercel.app/ 3️⃣ Tᴇʟᴇɢʀᴀᴍ Bᴏᴛ Vᴇʀsɪᴏɴ 🤖 @ff_longbio_rebot 🔥 Cʜᴏᴏsᴇ Yᴏᴜʀ Pʟᴀᴛғᴏʀᴍ & Eɴᴊᴏʏ! 👑 Pᴏᴡᴇʀᴇᴅ Bʏ Dʀɪғᴛ 📢 Mᴀɪɴ Cʜᴀɴɴᴇʟ: @DGDRIFT
299
8
🦁 Fʀᴇᴇ Fɪʀᴇ ID Bᴀɴ Tᴏ Uɴʙᴀɴ SRC Fᴏʀ Sᴀʟᴇ 🧞‍♀️ 🔥 Fᴇᴀᴛᴜʀᴇs & Dᴇᴛᴀɪʟs 🚫 Pᴇʀᴍᴀɴᴇɴᴛ Bᴀɴ Tᴏ Uɴʙᴀɴ 🟢 7 Dᴀʏs Uɴʙᴀɴ Tɪᴍᴇʀ 🟢 Pᴇʀᴍᴀ Bᴀɴ Tᴏ Uɴʙᴀɴ Fᴇᴀᴛᴜʀᴇ 💻 Fᴜʟʟ Wᴏʀᴋɪɴɢ SRC 😒 Dᴍ Tᴏ Bᴜʏ — @DG_DRIFT ✅ 💐 Tɪᴍᴇ Pᴀss Nᴏᴛ Aʟʟᴏᴡᴇᴅ ❌
410
9
💳 FᴀᴍPᴀʏ Pᴀʏᴍᴇɴᴛ Gᴀᴛᴇᴡᴀʏ 🔥 FᴀᴍPᴀʏ Pᴀʏᴍᴇɴᴛ Gᴀᴛᴇᴡᴀʏ Wᴇʙsɪᴛᴇ Kᴀ Sᴏᴜʀᴄᴇ Cᴏᴅᴇ Aᴠᴀɪʟᴀʙʟᴇ! 💻 Fᴜʟʟ Wᴇʙsɪᴛᴇ Sᴏᴜʀᴄᴇ Cᴏᴅᴇ ✉️ Iɴᴛᴇʀᴇsᴛᴇᴅ? Dᴍ Nᴏᴡ — @DG_DRIFT ⚡ Sᴇʀɪᴏᴜs Bᴜʏᴇʀs Oɴʟʏ!
377
10
DRIFT_FF_Tools.apk Guyss use my apk for free 🔴🙂
289
11
🚀 Nᴇᴡ Wᴇʙsɪᴛᴇ Lᴀᴜɴᴄʜᴇᴅ! 🔴 Gᴀʀᴇɴᴀ Fʀᴇᴇ Fɪʀᴇ Tᴏᴏʟs ✨ Aʟʟ Fᴇᴀᴛᴜʀᴇs Aᴅᴅᴇᴅ Tᴏ Tʜᴇ Wᴇʙsɪᴛᴇ! 🌐 Wᴇʙsɪᴛᴇ Lɪɴᴋ ✅ https://drift-garena-ff.vercel.app/ ⚡️ Eɴᴅᴘᴏɪɴᴛs Aᴠᴀɪʟᴀʙʟᴇ 💻 Uꜱᴇ Tʜᴇ Wᴇʙsɪᴛᴇ Eɴᴅᴘᴏɪɴᴛs Iɴ Yᴏᴜʀ Oᴡɴ Bᴏᴛ Oʀ Wᴇʙsɪᴛᴇ! 🔗 Eɴᴅᴘᴏɪɴᴛs Lɪɴᴋ ✅ https://drift-garena-ff.vercel.app/endpoints   📜 Tᴇʀᴍs & Cᴏɴᴅɪᴛɪᴏɴs    🔐 Pʀɪᴠᴀᴄʏ Pᴏʟɪᴄʏ ━━━━━━━━━━━━━━━━━━ 👑 Mᴀᴅᴇ Bʏ : @DG_DRIFT 🔥 Dʀɪғᴛ Aʀᴍʏ ━━━━━━━━━━━━━━━━━━
377
12
Kaisa chal raha hai guest generator
23
13
Fast-guest-gen-0b55.zip
459
14
🔥 Fʀᴇᴇ Fɪʀᴇ Aᴜᴛᴏ Lɪᴋᴇꜱ 🔥 ✨ Gᴇᴛ Dᴀɪʟʏ Aᴜᴛᴏ Lɪᴋᴇꜱ Fᴏʀ Yᴏᴜʀ Fʀᴇᴇ Fɪʀᴇ Iᴅ! 🚀 Fᴀꜱᴛ • Eᴀꜱʏ • Sɪᴍᴘʟᴇ 🌐 Wᴇʙꜱɪᴛᴇ Lɪɴᴋ 👇 https://auto-likes.vercel.app  ❤️ Eɴᴊᴏʏ Yᴏᴜʀ Dᴀɪʟʏ Aᴜᴛᴏ Lɪᴋᴇꜱ!
453
15
🔥 Fʀᴇᴇ Fɪʀᴇ Lɪᴋᴇs Pᴀᴄᴋᴀɢᴇ ❤️ 💎 Pʀɪᴄᴇ Lɪsᴛ 💰 🔹 ₹15 ➜ 200 ❤️ Lɪᴋᴇs ➜ 1 Dᴀʏ 🔹 ₹59 ➜ 1,500 ❤️ Lɪᴋᴇs ➜ 7 Dᴀʏs 🔹 ₹109 ➜ 3,000 ❤️ Lɪᴋᴇs ➜ 15 Dᴀʏs 🔹 ₹179 ➜ 6,000 ❤️ Lɪᴋᴇs ➜ 30 Dᴀʏs 🔹 ₹299 ➜ 12,000 ❤️ Lɪᴋᴇs ➜ 60 Dᴀʏs 🔹 ₹399 ➜ 18,000 ❤️ Lɪᴋᴇs ➜ 90 Dᴀʏs 🔹 ₹549 ➜ 24,000 ❤️ Lɪᴋᴇs ➜ 120 Dᴀʏs 🌍 Aʟʟ Sᴇʀᴠᴇʀs Sᴜᴘᴘᴏʀᴛᴇᴅ ✅ ✍️ Cᴏɴᴛᴀᴄᴛ Oᴡɴᴇʀ 👑 ✅ @DG_DRIFT 🔗 Tᴇʟᴇɢʀᴀᴍ ✈️ https://t.me/DG_DRIFT #FreeFire #FreeFireLikes #LikesPackage #FFLikes #DGDRIFT #FreeFireCommunity
454
16
❤️ Gᴜʏss, Tʜᴏʀᴀ Sᴀ Sᴜᴘᴘᴏʀᴛ Dɪᴋʜᴀᴏ 🥹❤️ 🎥 Nᴇᴡ Vɪᴅᴇᴏ 👇 https://youtu.be/8B9GrDVcmBI ❤️ Lɪᴋᴇ 👍 Cᴏᴍᴍᴇɴᴛ 💬 Sᴜʙsᴄʀɪʙᴇ 🔔
437
17
🚀 Hᴏᴡ Tᴏ Mᴀᴋᴇ Gᴜɪʟᴅ Gʟᴏʀʏ Bᴏᴛ 🔥 🍂 Sᴏᴜʀᴄᴇ Cᴏᴅᴇ Fɪʟᴇ 👇 https://t.me/DRIFT_FREE_SOURCE_CODE_BoT?start=9PMJPogWxJ 🎥 Fᴜʟʟ Tᴜᴛᴏʀɪᴀʟ Vɪᴅᴇᴏ 👇      https://youtu.be/g614F1fKnK0 💻 Wᴀᴛᴄʜ Tʜᴇ Tᴜᴛᴏʀɪᴀʟ & Fᴏʟʟᴏᴡ Tʜᴇ Sᴛᴇᴘs! ⚡️ 🔥 Mᴏʀᴇ Uᴘᴅᴀᴛᴇs & Fʀᴇᴇ Sᴏᴜʀᴄᴇ Cᴏᴅᴇs: 📢 Main Channel: https://t.me/DGDRIFT #DGDRIFT #GuildGloryBot #FreeFire #BotTutorial
518
18
Kal video aayega uske andar password rahega
306
19
Guild-Glory.zip
575
20
New major login code import json import base64 import httpx from Crypto.Cipher import AES from google.protobuf import json_format from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder # ============================================================ # Proto: LoginReq + LoginRes # ============================================================ _sym_db = _symbol_database.Default() DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( b'\n\x0e\x46reeFire.proto"c\n\x08LoginReq\x12\x0f\n\x07open_id\x18\x16 \x01(\t' b'\x12\x14\n\x0copen_id_type\x18\x17 \x01(\t\x12\x13\n\x0blogin_token\x18\x1d ' b'\x01(\t\x12\x1b\n\x13orign_platform_type\x18\x63 \x01(\t"]\n\x10\x42lacklist' b'InfoRes\x12\x1e\n\nban_reason\x18\x01 \x01(\x0e\x32\n.BanReason\x12\x17\n' b'\x0f\x65xpire_duration\x18\x02 \x01(\r\x12\x10\n\x08\x62\x61n_time\x18\x03 ' b'\x01(\r"f\n\x0eLoginQueueInfo\x12\r\n\x05\x61llow\x18\x01 \x01(\x08\x12' b'\x16\n\x0equeue_position\x18\x02 \x01(\r\x12\x16\n\x0eneed_wait_secs\x18' b'\x03 \x01(\r\x12\x15\n\rqueue_is_full\x18\x04 \x01(\x08"\xa0\x03\n\x08' b'LoginRes\x12\x12\n\naccount_id\x18\x01 \x01(\x04\x12\x13\n\x0block_region' b'\x18\x02 \x01(\t\x12\x13\n\x0bnoti_region\x18\x03 \x01(\t\x12\x11\n\tip_' b'region\x18\x04 \x01(\t\x12\x19\n\x11\x61gora_environment\x18\x05 \x01(\t' b'\x12\x19\n\x11new_active_region\x18\x06 \x01(\t\x12\x19\n\x11recommend_' b'regions\x18\x07 \x03(\t\x12\r\n\x05token\x18\x08 \x01(\t\x12\x0b\n\x03ttl' b'\x18\t \x01(\r\x12\x12\n\nserver_url\x18\n \x01(\t\x12\x16\n\x0e\x65mul' b'ator_score\x18\x0b \x01(\r\x12$\n\tblacklist\x18\x0c \x01(\x0b\x32\x11.' b'BlacklistInfoRes\x12#\n\nqueue_info\x18\r \x01(\x0b\x32\x0f.LoginQueue' b'Info\x12\x0e\n\x06tp_url\x18\x0e \x01(\t\x12\x15\n\rapp_server_id\x18' b'\x0f \x01(\r\x12\x0f\n\x07\x61no_url\x18\x10 \x01(\t\x12\x0f\n\x07ip_city' b'\x18\x11 \x01(\t\x12\x16\n\x0eip_subdivision\x18\x12 \x01(\t*\xa8\x01\n' b'\tBanReason\x12\x16\n\x12\x42\x41N_REASON_UNKNOWN\x10\x00\x12\x1b\n\x17' b'\x42\x41N_REASON_IN_GAME_AUTO\x10\x01\x12\x15\n\x11\x42\x41N_REASON_' b'REFUND\x10\x02\x12\x15\n\x11\x42\x41N_REASON_OTHERS\x10\x03\x12\x16\n' b'\x12\x42\x41N_REASON_SKINMOD\x10\x04\x12 \n\x1b\x42\x41N_REASON_IN_GAME' b'_AUTO_NEW\x10\xf6\x07\x62\x06proto3' ) _g = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _g) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, "FreeFire_pb2", _g) LoginReq = _g["LoginReq"] LoginRes = _g["LoginRes"] # ============================================================ # Constants # ============================================================ MAIN_KEY = base64.b64decode("WWcmdGMlREV1aDYlWmNeOA==") MAIN_IV = base64.b64decode("Nm95WkRyMjJFM3ljaGpNJQ==") RELEASEVERSION = "OB55" USERAGENT = "UnityPlayer/2018.4.12f1 (UnityWebRequest/1.0, libcurl/8.5.0-DEV)" LOGIN_URL = "https://loginbp.ppmainecoonghj.com/" _client = httpx.Client( limits=httpx.Limits(max_keepalive_connections=20, max_connections=50), timeout=httpx.Timeout(15.0, connect=5.0), verify=False, ) def _pad(t: bytes) -> bytes: n = AES.block_size - (len(t) % AES.block_size) return t + bytes([n] * n) def _aes(key, iv, pt: bytes) -> bytes: return AES.new(key, AES.MODE_CBC, iv).encrypt(_pad(pt)) # ============================================================ # LoginRes Parser # ============================================================ def _try_parse(data: bytes): try: m = LoginRes(); m.ParseFromString(data) if m.account_id and m.account_id > 0: return json.loads(json_format.MessageToJson(m)) except Exception: pass return None def _extract(raw: bytes) -> dict: p = _try_parse(raw) if p: return p i = 0 while True: i = raw.find(b"\x08", i) if i == -1: break p = _try_parse(raw[i:]) if p: return p i += 1 j = raw.find(b"eyJhbGciOiJIUzI1NiIs") if j != -1: for k in range(j - 1, max(j - 300, -1), -1): if raw[k] == 0x42: p = _try_parse(raw[k:]) if p: return p break raise Exception("Could not parse LoginRes from server response") # ============================================================ # MAJOR LOGIN # ============================================================ def major_login(uid: str, password: str) -> dict: """ Returns: { "jwt_token": str, "account_id": int, "region": str, "server_url": str, "open_id": str, "access_token": str, "raw": dict # full LoginRes } Raises Exception on failure. """ # 1) Garena guest token r = _client.post( "https://ffmconnect.live.gop.garenanow.com/oauth/guest/token/grant", data={ "uid": str(uid), "password": str(password), "response_type": "token", "client_type": "2", "client_secret": "2ee44819e9b4598845141067b281621874d0d5d7af9d8f7e00c1e54715b7d1e3", "client_id": "100067", }, headers={ "User-Agent": USERAGENT, "Connection": "Keep-Alive", "Accept-Encoding": "gzip", "Content-Type": "application/x-www-form-urlencoded", }, ).json() access_token = r.get("access_token") open_id = r.get("open_id") if not access_token or not open_id: raise Exception("Invalid UID or Password") # 2) Build LoginReq proto msg = LoginReq() json_format.ParseDict({ "open_id": open_id, "open_id_type": "4", "login_token": access_token, "orign_platform_type": "4", }, msg) # 3) AES-128-CBC encrypt payload = _aes(MAIN_KEY, MAIN_IV, msg.SerializeToString()) # 4) POST /MajorLogin resp = _client.post( f"{LOGIN_URL}MajorLogin", data=payload, headers={ "User-Agent": USERAGENT, "Accept": "*/*", "Accept-Encoding": "deflate, gzip", "X-Ga-Sv": "1789534056", "Authorization": "Bearer", "X-Ga": "v1 1", "Releaseversion": RELEASEVERSION, "Content-Type": "application/x-www-form-urlencoded", "X-Unity-Version": "2018.4.12f1", "PlAy_VeR": "1.132.1", "Ob_VeR": RELEASEVERSION, }, ) # 5) Parse res = _extract(resp.content) return { "jwt_token": res.get("token"), "account_id": res.get("accountId"), "region": res.get("lockRegion") or res.get("notiRegion"), "server_url": res.get("serverUrl"), "open_id": open_id, "access_token": access_token, "raw": res, }
467