Tsukuyomi Scripts
Kanalga Telegram’da o‘tish
A place for developers and learners to explore scripts, tools, and coding resources. Content shared here is strictly for educational purposes. Use responsibly. Contact: @ItachiXTsukuyomi
Ko'proq ko'rsatish1 041
Obunachilar
-224 soatlar
-57 kun
+3730 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
Kirish va chiqish esdaliklari
---
---
---
---
---
---
Obunachilarni jalb qilish
Noyabr '26Noy '26
Noyabr '26
+1
0 kanalda
Oktabr '26
+82
16 kanalda
Get PRO
Sentabr '26
+172
20 kanalda
Get PRO
Avgust '26
+64
27 kanalda
Get PRO
Iyul '26
+37
19 kanalda
Get PRO
Iyun '26
+95
18 kanalda
Get PRO
May '26
+139
34 kanalda
Get PRO
Aprel '26
+338
28 kanalda
Get PRO
Mart '26
+421
18 kanalda
| Sana | Obunachilarni jalb qilish | Esdaliklar | Kanallar | |
| 02 Noyabr | 0 | |||
| 01 Noyabr | +1 |
Kanal postlari
| 2 | 🎮 Garena Officially Posted ✅
☝️ Free Fire India Launching On Tomorrow ⛔️ | 198 |
| 3 | 11111111111111111111# | 315 |
| 4 | FreeFireServer (3).zip | 446 |
| 5 | speed | 309 |
| 6 | def var(v):
out = bytearray()
while True:
b = v & 0x7F; v >>= 7
out.append(b | (0x80 if v else 0))
if not v: return bytes(out)
def zz(v):
return var((v << 1) ^ (v >> 63))
def build_buffbehavior(
UID,
PlayerID,
InventoryID=0,
BuffBehaviorID=0,
StatusType=0,
Life=0.0,
BuffData=(),
LifeBits=None,
) -> bytes:
if LifeBits is None:
LifeBits = struct.unpack("<I", struct.pack("<f", Life))[0]
out = bytearray()
out += var(UID)
out += var(PlayerID)
out += var(InventoryID)
out += var(BuffBehaviorID)
out.append(StatusType & 0xFF)
out += var(LifeBits & 0xFFFFFFFF)
if BuffData is None:
out += zz(-1)
else:
out += zz(len(BuffData))
for v in BuffData:
out += var(v)
return bytes(out)
body = build_buffbehavior(
UID=4,
PlayerID=self.my_player_uid,
InventoryID=0,
BuffBehaviorID=333,
StatusType=0,
Life=3000.0,
BuffData=[988],
)
SP = serialize_packet(0, 170, 0,
1, body,
self.tea_key, self.udp_mask) | 292 |
| 7 | def var(v):
out = bytearray()
while True:
b = v & 0x7F; v >>= 7
out.append(b | (0x80 if v else 0))
if not v: return bytes(out)
def zz(v):
return var((v << 1) ^ (v >> 63))
def build_mark_info(owner_id: int, infos: list) -> bytes:
out = bytearray(var(owner_id))
out += zz(len(infos))
for m in infos:
out += var(m["TarPlayID"])
out += bytes([m["MarkerType"] & 0xFF])
out += var(m["MarkFlag"])
out += var(m["ScannerMarkFlag"])
return bytes(out)
moco = serialize_packet(0, 970, 0, flags,
build_mark_info(self.owner_id, marks),
self.tea_key, self.udp_mask) | 208 |
| 8 | import re
from udptool import Reader
def decode_player_join(body: bytes) -> dict:
r = Reader(body)
uid = r.var()
r.var()
pid = r.var()
nick = r.string()
runs = [m.group().decode("utf-8", "replace")
for m in re.finditer(rb"[\x20-\x7e]{2,}", body)]
tail = [s for s in runs if s != nick]
ver = tail[-1] if tail else ""
return {"NickName": nick, "PlayerID": pid, "UserID": uid, "Version": ver}
if __name__ == "__main__":
import sys, json
body = bytes.fromhex('d987849e300084808020185265645a65644b696e672121baa208f8b801be870200000000000100020401000000010000000000000000000000000100000084808020000000000000044d45040000d987849e300000000000000000000000000000000000de8305c6c694303200000008c625aa26c205ca13000000000000b1028e0b0ebe0100a1fd89af03000000000000000000000000000000000000000000000000000000000000000000000000000000000086a9c5b0030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021a599a8dd0300010286a9c5b0030000000286a9c5b00302c1fab8b103000000860100000020000000005900000000000000b10200006900000000000000020000c99ee5dd030000000000000400000000d987849e3000000000000000000000000000000000a09c01000100030010312e3133322e313100000100')
print(json.dumps(decode_player_join(body), ensure_ascii=False)) | 209 |
| 9 | def build_emote(
EmotionID=909000001,
EmotionEffIdx=0,
Loop=False,
IsLeadEmote=False,
LeadEmotionFollowPlayerId=4294967295,
CurrentSimServerTick=0,
CreateTime=0,
NickName="",
NeedCheck=False,
PeakPoints=0,
):
b = bytearray()
v = EmotionID
while v >= 0x80:
b.append((v & 0x7F) | 0x80)
v >>= 7
b.append(v)
b.append(EmotionEffIdx & 0xFF) # EmotionEffIdx
b.append(1 if Loop else 0) # Loop
b.append(1 if IsLeadEmote else 0) # IsLeadEmote
v = LeadEmotionFollowPlayerId
while v >= 0x80:
b.append((v & 0x7F) | 0x80)
v >>= 7
b.append(v)
v = CurrentSimServerTick
while v >= 0x80:
b.append((v & 0x7F) | 0x80)
v >>= 7
b.append(v)
v = CreateTime
while v >= 0x80:
b.append((v & 0x7F) | 0x80)
v >>= 7
b.append(v)
raw = NickName.encode("utf-8")
n = _zig(len(raw))
while n >= 0x80:
b.append((n & 0x7F) | 0x80)
n >>= 7
b.append(n)
b += raw
b.append(1 if NeedCheck else 0) # NeedCheck to bypass emote check
b.append(PeakPoints & 0xFF) # PeakPoints , useless
b.append(0)
return bytes(b) | 178 |
| 10 | https://github.com/redzedx64/FF_DEOBF
if you need classes of the udp for any new update , this tool will auto parse them and provide them too . | 164 |
| 11 | def decode_emote(body: bytes) -> dict:
r = Reader(body)
out = {}
out["EmotionID"] = r.var()
out["EmotionEffIdx"] = r.raw(1)[0]
out["Loop"] = bool(r.raw(1)[0])
out["IsLeadEmote"] = bool(r.raw(1)[0])
out["LeadEmotionFollowPlayerId"] = r.var()
out["CurrentSimServerTick"] = r.var()
out["CreateTime"] = r.var()
out["NickName"] = r.string()
out["NeedCheck"] = bool(r.raw(1)[0])
out["PeakPoints"] = r.raw(1)[0]
if r.p < len(body):
out["_trailing_pad"] = r.raw(1)[0]
if r.p != len(body):
out["_leftover_hex"] = body[r.p:].hex()
out["_consumed"] = f"{r.p}/{len(body)}"
return out
Reader :
class Reader:
def __init__(self, b): self.b, self.p = b, 0
def var(self):
r = sh = 0
while True:
c = self.b[self.p]; self.p += 1
r |= (c & 0x7F) << sh; sh += 7
if not c & 0x80: return r
def zz(self):
v = self.var(); return (v >> 1) ^ -(v & 1)
def raw(self, n):
v = self.b[self.p:self.p + n]; self.p += n; return v
def string(self):
n = self.zz()
return self.raw(n).decode("utf-8", "replace") if n > 0 else "" | 156 |
| 12 | Example :
def build_join_post_body(second_part , UserID , RoomID, GameMode , MapID , ClientVersion , ClientVersionCode , ClientUrl , server_ip , mode):
fields = {
"ReqInfo": {
"UserID": UserID,
"RoomID": RoomID,
"RoomType": 1,
"GameMode": GameMode,
"ServiceRoomID": RoomID,
"MapID": MapID,
"IsReconnect": 0,
"CustomRoomIndex": 0,
"GroupIcon": 0,
"IsPCClient": 0,
"IsEmulator": 1,
"IsEmulatorPool": 0,
"SystemPlatform": 1,
"CPUType": 2,
"ChannelType": 3,
"EnableFFANTIHACKTick": 0,
"ClientLanguage": 1,
"CountryCode": "DZ",
"Role": 0,
"BuildVariantType": 1,
"NewbieChoice": 1,
"FactionType": 0,
"RankMapCount": 1,
"IfHaveMapsBonus": 0,
"GSReplayEnabled": 0,
"AccountType": 4,
"ClientVersion": ClientVersion,
"ClientVersionCode": ClientVersionCode,
"ClientUrl": ClientUrl,
"NoPowerGun": 0,
"Gender": 0,
"FriendCount": 6,
"IsCadet": 0,
"DriftBottleOwnerID": 0,
"DriftBottleOwnerName": "",
"MobileReplayEnabled": 1,
"Workshop": {
"WorkshopShareCode": "",
"WorkshopMapName": "",
"IsUnlimitedAmmo": 0,
"ModeSetting": [],
"ClientEventsWhiteList": [],
"IsUnlimitedBullet": 0,
"IsUnlimitedGloowall": 0,
"IsUnlimitedThrowables": 0,
"UGCCustomMissions": [],
"NEW_0x50": {
"Value": ""
}
},
"RelationshipInfos": [],
"IsSpecialPool": 0,
"IsTransferReport": 1,
"IsHalfWayJoin": 0,
"ShowDamageType": 0,
"WeaponProficiencyMaxItemID": 4,
"UGCGameDataMD5": [],
"QuickMsgVocal": 0,
"IsBagShow": 1,
"SamoAIParam": "",
"MapLayerID": 1,
"IsVoiceBeMuted": 0,
"IsReconnectWithoutParseToken": 0,
"GroupMode": 3 if mode == 'cs' else 0,
"MatchMode": 1,
"IsAIChatOpen": 0,
"NEW_Ticks_0xD8": 639262961983238240,
"NEW_byte_0xE0": 2,
"NEW_bool_0xE1": 0,
"GameServerAddr": server_ip,
"SessionKeyHandshakeHex": ""
},
"TokenPart2": second_part
}
return build(fields) | 163 |
| 13 | def modify_join_post_body(body: bytes):
decoded = decode(body, 'JoinMatchPost_Req')
decoded['ReqInfo']['SessionKeyHandshakeHex'] = ''
return build(decoded, 'JoinMatchPost_Req') | 175 |
| 14 | in cmd 448 :
to fix the packets that does not get decrypted , remove SessionKeyHandshakeHex | 186 |
| 15 | cmd448 (2).py | 181 |
| 16 | def build_final(uid, token, timestamp, key, iv , typee):
uid_hex = hex(uid)[2:]
uid_length = len(uid_hex)
encrypted_timestamp = DecodE_HeX(timestamp)
encrypted_account_token = token.encode().hex()
encrypted_packet = encrypt_packet(encrypted_account_token, key, iv)
encrypted_packet_length = hex(len(encrypted_packet) // 2)[2:]
headers = '0' * (16-uid_length)
pad2 = '0000000000000' if typee == 'online' else '00000'
return f"0115{headers}{uid_hex}{encrypted_timestamp}{pad2}{encrypted_packet_length}{encrypted_packet}"
final token fix
def auto_update():
r = requests.get('https://redzedupdater.vercel.app/').json()
ob = r['latest_release_version']
version = r['play_version']
server_url = r['server_url']
server_host = r['host']
current_version = r['current_version']
vercfg_sign = r['vercfg_sign']
dd = requests.get(f'https://version.ggwhitehawk.com/live/ver.php?version={current_version}&lang=en&device=android&channel=android&appstore=googleplay®ion=ME&release_version={ob}&whitelist_version=1.8.0&whitelist_sp_version=1.0.0&device_name=OPPO%20PHM110&device_CPU=x86-64%20SSE3%20SSE4.1%20SSE4.2%20AVX&device_GPU=Adreno%20%28TM%29%20750&device_mem=3004').json()
cdn_url = dd['cdn_url']
abhotupdate_cdn_url = dd['abhotupdate_cdn_url']
field_106 = f'{cdn_url}|{abhotupdate_cdn_url}|6b2078db9d22dd98f8e9386a39af8462'
return ob , version , server_url , server_host , current_version , vercfg_sign , field_106
fields :
url = f'{server_url}MajorLogin'
fields = {
"3": str(datetime.now())[:-7],
"4": "free fire",
"5": 1,
"7": current_version,
"8": "Android OS 9 / API-28 (PQ3A.190605.07291804/3793265)",
"9": "Handheld",
"10": "Mobilis",
"11": "WIFI",
"12": 1280,
"13": 720,
"14": "240",
"15": "x86-64 SSE3 SSE4.1 SSE4.2 AVX | 2865 | 4",
"16": 3004,
"17": "Adreno (TM) 750",
"18": "OpenGL ES 3.1 v1",
"19": "Google|395809eb-fc28-49c2-a9d8-6780ab59f9a5",
"20": "129.41.11.53",
"21": "en",
"22": NEW_OPEN_ID,
"23": "4",
"24": "Handheld",
"25": "OPPO PHM110",
"26": "ME",
"29": NEW_ACCESS_TOKEN,
"30": 1,
"41": "Mobilis",
"42": "WIFI",
"57": "7428b253defc164018c604a1ebbfebdf",
"60": 51606,
"61": 48012,
"62": 2519,
"63": 726,
"64": 24450,
"65": 26834,
"66": 50294,
"67": 51606,
"73": 2,
"74": "/data/app/com.dts.freefireth-zOtTKLt_gwzjBgCC3knt3g==/lib/arm64",
"76": 1,
"77": "b8e0cd5e295eee42f5860d3c86e483dd|/data/app/com.dts.freefireth-zOtTKLt_gwzjBgCC3knt3g==/base.apk",
"78": 3,
"79": 2,
"81": "64",
"83": "2019121229",
"85": 1,
"86": "OpenGLES2",
"87": 4095,
"88": 4,
"92": 5824,
"93": "android",
"94": "KqsHT5NAjyBVBvewsUFN+5MxaG92/hfFyn+rVueRAKkkS1sy57Wi4BcA0ndsKtjzzvxulmAFsJyEoz24C3CZpcNwiB8ooMS1jkOywsOC+Z3ZSP5S",
"95": 111207,
"96": "{\"cur_rate\":null,\"support_etc2\":false}",
"97": 1,
"98": 1,
"99": "4",
"100": "4",
"102": {},
"104": 34898,
"105": 1,
"106": field_106,
"107": vercfg_sign
}
get login data :
major login fields + :
fields['103'] = 1
fields['3'] = str(datetime.now())[:-7],
fields['78'] = 3
fields['90'] = 'Oran'
fields['91'] = str('31')
fields['99'] = str("0")
auto update fix , build field 106 , 107
usage : ob, version, server_url, server_host, current_version , vercfg_sign , field_106 = auto_update() | 215 |
| 17 | free likes group @loginbpchat 👑 | 32 |
| 18 | 🚀 PREMIUM SOURCES & APIs AVAILABLE
Premium Free Fire APIs • Sources • Scripts • Tools available at affordable prices.
📦 What’s Included:
• Guest Account Generator
• UDP (SOCIAL ISLAND EMOTE , LVL UP , GLORY , Ect.)
• Auto Gacha Spins
• Gacha Payload Finder
• TCP Packet Capture — No Root
• HTTP Request Capture — No Root
• Player / Friend / Guild / Room APIs
• Likes, Levels & Profile APIs
• Region & Craftland APIs
• DD Checker
• Long Bio Src
• Long Bio Bot src with token gen
• Hosting Sources
• Custom TCP & HTTP Source Making
• Custom Telegram Bot Development
• Premium API Sources & Scripts
• And More ❤️🔥
💰 Price: DM for details
💳 Payment: BINANCE and UPI
📩 DM: @ishu_z3n
⚡ Need something custom? DM me with your requirements.
For authorized testing and development purposes only. | 191 |
| 19 | https://youtu.be/ZeTJhrSYt70?si=fr7iZfttgPhrXzPj | 1 |
| 20 | Guloly | 1 |
