Learn with H4RDIXx
Open in Telegram
Learn with meeee about anything 🗿🫶
Show moreThe country is not specifiedThe category is not specified
237
Subscribers
No data24 hours
No data7 days
No data30 days
Posts Archive
Repost from x7m ChanneL
Don't buy any src udp from anyone
bcs it's leaked ⚠️⚠️⚠️⚠️
* GLORY
* LEVEL
etc etc....
+ the src will be banned ur accs⚠️
السلام عليكم متوفر شركة الكترونية
اي شخص لديه binance
اول مرة تدخل فيها تربح 16$
لما تسحبها تاخذهم كاملين على binance
من دون احتيال و من ظون دفع اي شيء
تنويه : تقدر كمان تدفع 50$ و تربح كل يوم 1.2 دولار للابد
(باستثناء الاحد و السبت )
يعني من الاخر تربح كثير
لازم تدخل من هذا الرابط عشان تقدر تاخذ الدولارات
https://ncaisf.com/#/pages/login/registerView?code=dk3yf4
تنويه : اذا ما تدخلت ب هذا الرابط ما راح تاخذ اي شيء !
بعد ما تكمل تسجل ف الموقع تحمل ذا تطبيق
https://play.google.com/store/apps/details?id=com.cipherchat.bonchat
و تروح ل Search و تكتب
NCAI312
و تكتب
Ur Name
Age : 18+
Ur work : for example Studying
Ur Phone Number ;
This Phone Number : +216 24 603 831
For example
Omar
19
Student
ur phone number
+216 24 603 831
Repost from PARAHEX TEAM
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)Repost from PARAHEX TEAM
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)Repost from PARAHEX TEAM
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))Repost from PARAHEX TEAM
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)Repost from PARAHEX TEAM
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 .
Repost from PARAHEX TEAM
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 ""Repost from PARAHEX TEAM
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)Repost from PARAHEX TEAM
def modify_join_post_body(body: bytes):
decoded = decode(body, 'JoinMatchPost_Req')
decoded['ReqInfo']['SessionKeyHandshakeHex'] = ''
return build(decoded, 'JoinMatchPost_Req')
Repost from PARAHEX TEAM
in cmd 448 :
to fix the packets that does not get decrypted , remove SessionKeyHandshakeHex
Repost from PARAHEX TEAM
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()Repost from H4RDIXx channel
https://t.me/DesireRoute
H@ACK SAFE BY Desire ✅☠
FULL SAFE FOR PC AND PHONE
COMMING SOON........
real damage ✅
