310
订阅者
+1924 小时
+207 天
+2930 天
帖子存档
310
import requests,time;from Crypto.Cipher import AES
K,V,T=b'Yg&tc%DEuh6%Zc^8',b'6oyZDr22E3ychjM%',"eyJhbGciOiJIUzI1NiIsInN2ciI6IjEiLCJ0eXAiOiJKV1QifQ.eyJhY2NvdW50X2lkIjoxOTA0MTM2MzgyMCwibmlja25hbWUiOiJaQ0ZsUUE4TFYxYz0iLCJub3RpX3JlZ2lvbiI6Ik1FIiwibG9ja19yZWdpb24iOiJNRSIsImV4dGVybmFsX2lkIjoiZTU0ZTllNzkwZjUzZWQ2MDUzMTJmYmNmMTllZTU1MDEiLCJleHRlcm5hbF90eXBlIjo0LCJwbGF0X2lkIjoxLCJjbGllbnRfdmVyc2lvbiI6IjEuMTMyLjkiLCJjbGllbnRfdmVyc2lvbl9jb2RlIjoiMjAxOTEyMTIyOSIsImVtdWxhdG9yX3Njb3JlIjowLCJpc19lbXVsYXRvciI6ZmFsc2UsImNvdW50cnlfY29kZSI6IkRaIiwiZXh0ZXJuYWxfdWlkIjo4NDE2NTg0MzI4LCJyZWdfYXZhdGFyIjoxMDIwMDAwMDcsInNvdXJjZSI6MCwibG9ja19yZWdpb25fdGltZSI6MTc5Mzk4NjUxMCwiY2xpZW50X3R5cGUiOjIsInNpZ25hdHVyZV9tZDUiOiI3NDI4YjI1M2RlZmMxNjQwMThjNjA0YTFlYmJmZWJkZiIsInVzaW5nX3ZlcnNpb24iOjEsInJlbGVhc2VfY2hhbm5lbCI6ImFuZHJvaWQiLCJyZWxlYXNlX3ZlcnNpb24iOiJPQjU1IiwiZXhwIjoxNzk0MDIwOTk3fQ.fXncjNwuodjU4BVYXBWmTKLqJV6OfdnJFrKZhxolzPY"
def v(n):
d=[]
while 1:
b=n&0x7f;n>>=7;d.append(b|0x80 if n else b)
if not n:return bytes(d)
def p(f):
o=b''
for k,x in f.items():
if isinstance(x,int):o+=v(k<<3)+v(x)
elif isinstance(x,str):
b=x.encode();o+=v(k<<3|2)+v(len(b))+b
return o
def d(b):
x=AES.new(K,AES.MODE_CBC,V).decrypt(b);return x[:-x[-1]]
def rv(b,i):
r=s=0
while 1:
c=b[i];i+=1;r|=(c&0x7f)<<s
if not c&0x80:return r,i
s+=7
def pa(b):
o={};i=0
while i<len(b):
try:k,i=rv(b,i)
except:break
f,w=k>>3,k&7
try:
if w==0:val,i=rv(b,i)
elif w==2:
l,i=rv(b,i);val=b[i:i+l];i+=l
elif w==5:val=b[i:i+4];i+=4
elif w==1:val=b[i:i+8];i+=8
else:break
except:break
o.setdefault(f,[]).append(val)
return o
def c(x):
if isinstance(x,int):return x
if isinstance(x,(bytes,bytearray)):
try:
s=x.decode()
if all(32<=ord(z)<0x10FFFF for z in s) and s.strip():return s
except:pass
if len(x)>1:
try:
q=pa(x)
if q and all(k<100 for k in q):return{str(k):[c(y) for y in z] if len(z)>1 else c(z[0]) for k,z in q.items()}
except:pass
return x.hex()
return str(x)
def h(x):
if isinstance(x,str):
try:
s=bytes.fromhex(x).decode().strip()
if s and all(32<=ord(z)<0x10FFFF for z in s):return s
except:pass
return x
def F(u):
r=requests.post("https://clientbp.ppmainecoonghj.com/RemoveFriend",headers={"User-Agent":"UnityPlayer/2018.4.12f1","Accept":"*/*","Accept-Encoding":"deflate, gzip","X-GA-SV":str(int(time.time())),"X-GA":"v1 1","ReleaseVersion":"OB55","Content-Type":"application/x-www-form-urlencoded","X-Unity-Version":"2018.4.12f1","Authorization":f"Bearer {T}"},data=(lambda x:(lambda n:x+bytes([n])*n)(16-len(x)%16))(p({1:u})),timeout=15)
if r.status_code not in(200,400):return{"error":r.status_code}
m=pa(d(r.content))
return{str(f):[h(c(x)) for x in z] if len(z)>1 else h(c(z[0])) for f,z in m.items()}
if __name__=="__main__":
print(F(int(input("EnTeR UID => "))))
Rempve Player By ID310
import requests,time;from Crypto.Cipher import AES
K,V,T=b'Yg&tc%DEuh6%Zc^8',b'6oyZDr22E3ychjM%',"eyJhbGciOiJIUzI1NiIsInN2ciI6IjEiLCJ0eXAiOiJKV1QifQ.eyJhY2NvdW50X2lkIjoxOTA0MTM2MzgyMCwibmlja25hbWUiOiJaQ0ZsUUE4TFYxYz0iLCJub3RpX3JlZ2lvbiI6Ik1FIiwibG9ja19yZWdpb24iOiJNRSIsImV4dGVybmFsX2lkIjoiZTU0ZTllNzkwZjUzZWQ2MDUzMTJmYmNmMTllZTU1MDEiLCJleHRlcm5hbF90eXBlIjo0LCJwbGF0X2lkIjoxLCJjbGllbnRfdmVyc2lvbiI6IjEuMTMyLjkiLCJjbGllbnRfdmVyc2lvbl9jb2RlIjoiMjAxOTEyMTIyOSIsImVtdWxhdG9yX3Njb3JlIjowLCJpc19lbXVsYXRvciI6ZmFsc2UsImNvdW50cnlfY29kZSI6IkRaIiwiZXh0ZXJuYWxfdWlkIjo4NDE2NTg0MzI4LCJyZWdfYXZhdGFyIjoxMDIwMDAwMDcsInNvdXJjZSI6MCwibG9ja19yZWdpb25fdGltZSI6MTc5Mzk4NjUxMCwiY2xpZW50X3R5cGUiOjIsInNpZ25hdHVyZV9tZDUiOiI3NDI4YjI1M2RlZmMxNjQwMThjNjA0YTFlYmJmZWJkZiIsInVzaW5nX3ZlcnNpb24iOjEsInJlbGVhc2VfY2hhbm5lbCI6ImFuZHJvaWQiLCJyZWxlYXNlX3ZlcnNpb24iOiJPQjU1IiwiZXhwIjoxNzk0MDIwOTk3fQ.fXncjNwuodjU4BVYXBWmTKLqJV6OfdnJFrKZhxolzPY"
def v(n):
d=[]
while 1:
b=n&0x7f;n>>=7;d.append(b|0x80 if n else b)
if not n:return bytes(d)
def p(f):
o=b''
for k,x in f.items():
if isinstance(x,int):o+=v(k<<3)+v(x)
elif isinstance(x,str):
b=x.encode();o+=v(k<<3|2)+v(len(b))+b
return o
def d(b):
x=AES.new(K,AES.MODE_CBC,V).decrypt(b);return x[:-x[-1]]
def rv(b,i):
r=s=0
while 1:
c=b[i];i+=1;r|=(c&0x7f)<<s
if not c&0x80:return r,i
s+=7
def pa(b):
o={};i=0
while i<len(b):
try:k,i=rv(b,i)
except:break
f,w=k>>3,k&7
try:
if w==0:val,i=rv(b,i)
elif w==2:
l,i=rv(b,i);val=b[i:i+l];i+=l
elif w==5:val=b[i:i+4];i+=4
elif w==1:val=b[i:i+8];i+=8
else:break
except:break
o.setdefault(f,[]).append(val)
return o
def c(x):
if isinstance(x,int):return x
if isinstance(x,(bytes,bytearray)):
try:
s=x.decode()
if all(32<=ord(z)<0x10FFFF for z in s) and s.strip():return s
except:pass
if len(x)>1:
try:
q=pa(x)
if q and all(k<100 for k in q):return{str(k):[c(y) for y in z] if len(z)>1 else c(z[0]) for k,z in q.items()}
except:pass
return x.hex()
return str(x)
def h(x):
if isinstance(x,str):
try:
s=bytes.fromhex(x).decode().strip()
if s and all(32<=ord(z)<0x10FFFF for z in s):return s
except:pass
return x
def F(u):
r=requests.post("https://clientbp.ppmainecoonghj.com/GetSpecialFriendList",headers={"User-Agent":"UnityPlayer/2018.4.12f1","Accept":"*/*","Accept-Encoding":"deflate, gzip","X-GA-SV":str(int(time.time())),"X-GA":"v1 1","ReleaseVersion":"OB55","Content-Type":"application/x-www-form-urlencoded","X-Unity-Version":"2018.4.12f1","Authorization":f"Bearer {T}"},data=(lambda x:(lambda n:x+bytes([n])*n)(16-len(x)%16))(p({1:u})),timeout=15)
if r.status_code not in(200,400):return{"error":r.status_code}
m=pa(d(r.content))
return{str(f):[h(c(x)) for x in z] if len(z)>1 else h(c(z[0])) for f,z in m.items()}
if __name__=="__main__":
print(F(int(input("EnTeR UID => "))))
Req Add Player By ID310
if R.status_code not in (200, 400): return {"error": R.status_code}
msg = parse_pb(dec(R.content))
out = {}
for f, vals in msg.items():
out[str(f)] = [human(clean(v)) for v in vals] if len(vals) > 1 else human(clean(vals[0]))
return out
if name=="main":
uid=int(input("EnTeR UID => "))
print(Func(uid))
`
Req Player By ID310
`python
import json,requests,time;from Crypto.Cipher import AES; from Crypto.Util.Padding import pad
xK,xV,xJwT=b'Yg&tc%DEuh6%Zc^8',b'6oyZDr22E3ychjM%',"eyJhbGciOiJIUzI1NiIsInN2ciI6IjEiLCJ0eXAiOiJKV1QifQ.eyJhY2NvdW50X2lkIjoxOTA0MTM2MzgyMCwibmlja25hbWUiOiJaQ0ZsUUE4TFYxYz0iLCJub3RpX3JlZ2lvbiI6Ik1FIiwibG9ja19yZWdpb24iOiJNRSIsImV4dGVybmFsX2lkIjoiZTU0ZTllNzkwZjUzZWQ2MDUzMTJmYmNmMTllZTU1MDEiLCJleHRlcm5hbF90eXBlIjo0LCJwbGF0X2lkIjoxLCJjbGllbnRfdmVyc2lvbiI6IjEuMTMyLjkiLCJjbGllbnRfdmVyc2lvbl9jb2RlIjoiMjAxOTEyMTIyOSIsImVtdWxhdG9yX3Njb3JlIjowLCJpc19lbXVsYXRvciI6ZmFsc2UsImNvdW50cnlfY29kZSI6IkRaIiwiZXh0ZXJuYWxfdWlkIjo4NDE2NTg0MzI4LCJyZWdfYXZhdGFyIjoxMDIwMDAwMDcsInNvdXJjZSI6MCwibG9ja19yZWdpb25fdGltZSI6MTc5Mzk4NjUxMCwiY2xpZW50X3R5cGUiOjIsInNpZ25hdHVyZV9tZDUiOiI3NDI4YjI1M2RlZmMxNjQwMThjNjA0YTFlYmJmZWJkZiIsInVzaW5nX3ZlcnNpb24iOjEsInJlbGVhc2VfY2hhbm5lbCI6ImFuZHJvaWQiLCJyZWxlYXNlX3ZlcnNpb24iOiJPQjU1IiwiZXhwIjoxNzk0MDIwOTk3fQ.fXncjNwuodjU4BVYXBWmTKLqJV6OfdnJFrKZhxolzPY"
def EnV(n):
d = []
while True:
b = n & 0x7F; n >>= 7
if n: b |= 0x80
d.append(b)
if not n: break
return bytes(d)
def pb(f):
p = bytearray()
for k, v in f.items():
k = int(k)
if isinstance(v, int): p += EnV((k << 3) | 0) + EnV(v)
elif isinstance(v, str):
d = v.encode(); p += EnV((k << 3) | 2) + EnV(len(d)) + d
elif isinstance(v, (bytes, bytearray)): p += EnV((k << 3) | 2) + EnV(len(v)) + bytes(v)
return bytes(p)
def dec(b):
if len(b) % 16: return b
d = AES.new(xK, AES.MODE_CBC, xV).decrypt(b)
n = d[-1]
if 1 <= n <= 16 and d.endswith(bytes([n]) * n): d = d[:-n]
return d
def rd_varint(data, pos):
r = 0; s = 0
while pos < len(data):
b = data[pos]; pos += 1
r |= (b & 0x7F) << s
if not (b & 0x80): break
s += 7
return r, pos
def parse_pb(data):
out = {}; pos = 0
while pos < len(data):
try: key, pos = rd_varint(data, pos)
except: break
f = key >> 3; w = key & 7
try:
if w == 0: v, pos = rd_varint(data, pos)
elif w == 2:
ln, pos = rd_varint(data, pos); v = data[pos:pos+ln]; pos += ln
elif w == 5: v = data[pos:pos+4]; pos += 4
elif w == 1: v = data[pos:pos+8]; pos += 8
else: break
except: break
out.setdefault(f, []).append(v)
return out
def clean(v):
if isinstance(v, int): return v
if isinstance(v, (bytes, bytearray)):
try:
s = v.decode("utf-8")
if all(32 <= ord(c) < 0x10FFFF for c in s) and s.strip():
return s
except: pass
if len(v) >= 2:
try:
sub = parse_pb(v)
if sub and all(k < 100 for k in sub.keys()):
return {str(k): [clean(x) for x in vs] if len(vs) > 1 else clean(vs[0]) for k, vs in sub.items()}
except: pass
return v.hex()
return str(v)
def enc(p):
n = 16 - len(p) % 16
return AES.new(xK, AES.MODE_CBC, xV).encrypt(p + bytes([n] * n))
def human(v):
if isinstance(v, str):
try:
s = bytes.fromhex(v).decode("utf-8").strip()
if all(32 <= ord(c) < 0x10FFFF for c in s) and s:
return s
except: pass
return v
def Func(uid):
url="https://clientbp.ppmainecoonghj.com/RequestAddingFriend"
headers={"User-Agent": "UnityPlayer/2018.4.12f1 (UnityWebRequest/1.0, libcurl/8.5.0-DEV)", "Accept": "*/*", "Accept-Encoding": "deflate, gzip", "X-GA-SV": str(int(time.time())), "X-GA": "v1 1", "ReleaseVersion": "OB55", "Content-Type": "application/x-www-form-urlencoded", "X-Unity-Version": "2018.4.12f1", "Authorization": f"Bearer {xJwT}"}
data=enc(pb({1: uid}))
R=requests.post(url, headers=headers, data=data, timeout=15)310
import json,requests,time;from Crypto.Cipher import AES; from Crypto.Util.Padding import pad
xK,xV,xJwT=b'Yg&tc%DEuh6%Zc^8',b'6oyZDr22E3ychjM%',"eyJhbGciOiJIUzI1NiIsInN2ciI6IjEiLCJ0eXAiOiJKV1QifQ.eyJhY2NvdW50X2lkIjoxOTA0MTM2MzgyMCwibmlja25hbWUiOiJaQ0ZsUUE4TFYxYz0iLCJub3RpX3JlZ2lvbiI6Ik1FIiwibG9ja19yZWdpb24iOiJNRSIsImV4dGVybmFsX2lkIjoiZTU0ZTllNzkwZjUzZWQ2MDUzMTJmYmNmMTllZTU1MDEiLCJleHRlcm5hbF90eXBlIjo0LCJwbGF0X2lkIjoxLCJjbGllbnRfdmVyc2lvbiI6IjEuMTMyLjkiLCJjbGllbnRfdmVyc2lvbl9jb2RlIjoiMjAxOTEyMTIyOSIsImVtdWxhdG9yX3Njb3JlIjowLCJpc19lbXVsYXRvciI6ZmFsc2UsImNvdW50cnlfY29kZSI6IkRaIiwiZXh0ZXJuYWxfdWlkIjo4NDE2NTg0MzI4LCJyZWdfYXZhdGFyIjoxMDIwMDAwMDcsInNvdXJjZSI6MCwibG9ja19yZWdpb25fdGltZSI6MTc5Mzk4NjUxMCwiY2xpZW50X3R5cGUiOjIsInNpZ25hdHVyZV9tZDUiOiI3NDI4YjI1M2RlZmMxNjQwMThjNjA0YTFlYmJmZWJkZiIsInVzaW5nX3ZlcnNpb24iOjEsInJlbGVhc2VfY2hhbm5lbCI6ImFuZHJvaWQiLCJyZWxlYXNlX3ZlcnNpb24iOiJPQjU1IiwiZXhwIjoxNzk0MDIwOTk3fQ.fXncjNwuodjU4BVYXBWmTKLqJV6OfdnJFrKZhxolzPY"
def EnV(n):
d = []
while True:
b = n & 0x7F; n >>= 7
if n: b |= 0x80
d.append(b)
if not n: break
return bytes(d)
def pb(f):
p = bytearray()
for k, v in f.items():
k = int(k)
if isinstance(v, int): p += EnV((k << 3) | 0) + EnV(v)
elif isinstance(v, str):
d = v.encode(); p += EnV((k << 3) | 2) + EnV(len(d)) + d
elif isinstance(v, (bytes, bytearray)): p += EnV((k << 3) | 2) + EnV(len(v)) + bytes(v)
return bytes(p)
def dec(b):
if len(b) % 16: return b
d = AES.new(xK, AES.MODE_CBC, xV).decrypt(b)
n = d[-1]
if 1 <= n <= 16 and d.endswith(bytes([n]) * n): d = d[:-n]
return d
def rd_varint(data, pos):
r = 0; s = 0
while pos < len(data):
b = data[pos]; pos += 1
r |= (b & 0x7F) << s
if not (b & 0x80): break
s += 7
return r, pos
def parse_pb(data):
out = {}; pos = 0
while pos < len(data):
try: key, pos = rd_varint(data, pos)
except: break
f = key >> 3; w = key & 7
try:
if w == 0: v, pos = rd_varint(data, pos)
elif w == 2:
ln, pos = rd_varint(data, pos); v = data[pos:pos+ln]; pos += ln
elif w == 5: v = data[pos:pos+4]; pos += 4
elif w == 1: v = data[pos:pos+8]; pos += 8
else: break
except: break
out.setdefault(f, []).append(v)
return out
def clean(v):
if isinstance(v, int): return v
if isinstance(v, (bytes, bytearray)):
try:
s = v.decode("utf-8")
if all(32 <= ord(c) < 0x10FFFF for c in s) and s.strip():
return s
except: pass
if len(v) >= 2:
try:
sub = parse_pb(v)
if sub and all(k < 100 for k in sub.keys()):
return {str(k): [clean(x) for x in vs] if len(vs) > 1 else clean(vs[0]) for k, vs in sub.items()}
except: pass
return v.hex()
return str(v)
def enc(p):
n = 16 - len(p) % 16
return AES.new(xK, AES.MODE_CBC, xV).encrypt(p + bytes([n] * n))
def Func(clan_uid):
url="https://clientbp.ppmainecoonghj.com/GetSpecialFriendList"
headers={"User-Agent": "UnityPlayer/2018.4.12f1 (UnityWebRequest/1.0, libcurl/8.5.0-DEV)", "Accept": "*/*", "Accept-Encoding": "deflate, gzip", "X-GA-SV": str(int(time.time())), "X-GA": "v1 1", "ReleaseVersion": "OB55", "Content-Type": "application/x-www-form-urlencoded", "X-Unity-Version": "2018.4.12f1", "Authorization": f"Bearer {xJwT}"}
data=enc(pb({1: uid}))
R=requests.post(url, headers=headers, data=data, timeout=15)
if R.status_code not in (200, 400): return {"error": R.status_code}
msg = parse_pb(dec(R.content))
out = {}
for f, vals in msg.items():
out[str(f)] = [clean(v) for v in vals] if len(vals) > 1 else clean(vals[0])
return out
if __name__=="__main__":
uid=int(input("EnTeR UID => "))
print(Func(uid))
Get Special Friend By UID310
import json,requests,time;from Crypto.Cipher import AES; from Crypto.Util.Padding import pad
xK,xV,xJwT=b'Yg&tc%DEuh6%Zc^8',b'6oyZDr22E3ychjM%',"eyJhbGciOiJIUzI1NiIsInN2ciI6IjEiLCJ0eXAiOiJKV1QifQ.eyJhY2NvdW50X2lkIjoxOTA0MTM2MzgyMCwibmlja25hbWUiOiJaQ0ZsUUE4TFYxYz0iLCJub3RpX3JlZ2lvbiI6Ik1FIiwibG9ja19yZWdpb24iOiJNRSIsImV4dGVybmFsX2lkIjoiZTU0ZTllNzkwZjUzZWQ2MDUzMTJmYmNmMTllZTU1MDEiLCJleHRlcm5hbF90eXBlIjo0LCJwbGF0X2lkIjoxLCJjbGllbnRfdmVyc2lvbiI6IjEuMTMyLjkiLCJjbGllbnRfdmVyc2lvbl9jb2RlIjoiMjAxOTEyMTIyOSIsImVtdWxhdG9yX3Njb3JlIjowLCJpc19lbXVsYXRvciI6ZmFsc2UsImNvdW50cnlfY29kZSI6IkRaIiwiZXh0ZXJuYWxfdWlkIjo4NDE2NTg0MzI4LCJyZWdfYXZhdGFyIjoxMDIwMDAwMDcsInNvdXJjZSI6MCwibG9ja19yZWdpb25fdGltZSI6MTc5Mzk4NjUxMCwiY2xpZW50X3R5cGUiOjIsInNpZ25hdHVyZV9tZDUiOiI3NDI4YjI1M2RlZmMxNjQwMThjNjA0YTFlYmJmZWJkZiIsInVzaW5nX3ZlcnNpb24iOjEsInJlbGVhc2VfY2hhbm5lbCI6ImFuZHJvaWQiLCJyZWxlYXNlX3ZlcnNpb24iOiJPQjU1IiwiZXhwIjoxNzk0MDIwOTk3fQ.fXncjNwuodjU4BVYXBWmTKLqJV6OfdnJFrKZhxolzPY"
def EnV(n):
d = []
while True:
b = n & 0x7F; n >>= 7
if n: b |= 0x80
d.append(b)
if not n: break
return bytes(d)
def pb(f):
p = bytearray()
for k, v in f.items():
k = int(k)
if isinstance(v, int): p += EnV((k << 3) | 0) + EnV(v)
elif isinstance(v, str):
d = v.encode(); p += EnV((k << 3) | 2) + EnV(len(d)) + d
elif isinstance(v, (bytes, bytearray)): p += EnV((k << 3) | 2) + EnV(len(v)) + bytes(v)
return bytes(p)
def dec(b):
if len(b) % 16: return b
d = AES.new(xK, AES.MODE_CBC, xV).decrypt(b)
n = d[-1]
if 1 <= n <= 16 and d.endswith(bytes([n]) * n): d = d[:-n]
return d
def rd_varint(data, pos):
r = 0; s = 0
while pos < len(data):
b = data[pos]; pos += 1
r |= (b & 0x7F) << s
if not (b & 0x80): break
s += 7
return r, pos
def parse_pb(data):
out = {}; pos = 0
while pos < len(data):
try: key, pos = rd_varint(data, pos)
except: break
f = key >> 3; w = key & 7
try:
if w == 0: v, pos = rd_varint(data, pos)
elif w == 2:
ln, pos = rd_varint(data, pos); v = data[pos:pos+ln]; pos += ln
elif w == 5: v = data[pos:pos+4]; pos += 4
elif w == 1: v = data[pos:pos+8]; pos += 8
else: break
except: break
out.setdefault(f, []).append(v)
return out
def clean(v):
if isinstance(v, int): return v
if isinstance(v, (bytes, bytearray)):
try:
s = v.decode("utf-8")
if all(32 <= ord(c) < 0x10FFFF for c in s) and s.strip():
return s
except: pass
if len(v) >= 2:
try:
sub = parse_pb(v)
if sub and all(k < 100 for k in sub.keys()):
return {str(k): [clean(x) for x in vs] if len(vs) > 1 else clean(vs[0]) for k, vs in sub.items()}
except: pass
return v.hex()
return str(v)
def enc(p):
n = 16 - len(p) % 16
return AES.new(xK, AES.MODE_CBC, xV).encrypt(p + bytes([n] * n))
def Func(clan_uid):
url="https://clientbp.ppmainecoonghj.com/GetPlayerBriefInfo"
headers={"User-Agent": "UnityPlayer/2018.4.12f1 (UnityWebRequest/1.0, libcurl/8.5.0-DEV)", "Accept": "*/*", "Accept-Encoding": "deflate, gzip", "X-GA-SV": str(int(time.time())), "X-GA": "v1 1", "ReleaseVersion": "OB55", "Content-Type": "application/x-www-form-urlencoded", "X-Unity-Version": "2018.4.12f1", "Authorization": f"Bearer {xJwT}"}
data=enc(pb({1: uid}))
R=requests.post(url, headers=headers, data=data, timeout=15)
if R.status_code not in (200, 400): return {"error": R.status_code}
msg = parse_pb(dec(R.content))
out = {}
for f, vals in msg.items():
out[str(f)] = [clean(v) for v in vals] if len(vals) > 1 else clean(vals[0])
return out
if __name__=="__main__":
uid=int(input("EnTeR Clan UID => "))
print(Func(uid))
Get Basic Info Player310
import json,requests,time;from Crypto.Cipher import AES
xK,xV=b'Yg&tc%DEuh6%Zc^8',b'6oyZDr22E3ychjM%'
def EnV(n):
d=[]
while True:
b=n&0x7F;n>>=7
if n:b|=0x80
d.append(b)
if not n:break
return bytes(d)
def pb(f):
p=bytearray()
for k,v in f.items():
k=int(k)
if isinstance(v,int):p+=EnV((k<<3)|0)+EnV(v)
elif isinstance(v,str):
d=v.encode();p+=EnV((k<<3)|2)+EnV(len(d))+d
return bytes(p)
def enc(p):
n=16-len(p)%16
return AES.new(xK,AES.MODE_CBC,xV).encrypt(p+bytes([n]*n))
def dec(b):
if len(b)%16:return b
d=AES.new(xK,AES.MODE_CBC,xV).decrypt(b)
n=d[-1]
if 1<=n<=16 and d.endswith(bytes([n])*n):d=d[:-n]
return d
def UpdateSocialBasicInfo(token,bio):
url="https://clientbp.ppmainecoonghj.com/UpdateSocialBasicInfo"
headers={"User-Agent":"UnityPlayer/2018.4.12f1 (UnityWebRequest/1.0, libcurl/8.5.0-DEV)","Accept":"*/*","Accept-Encoding":"deflate, gzip","X-GA-SV":str(int(time.time())),"X-GA":"v1 1","ReleaseVersion":"OB55","Content-Type":"application/x-www-form-urlencoded","X-Unity-Version":"2018.4.12f1","Authorization":f"Bearer {token}"}
R=requests.post(url,headers=headers,data=enc(pb({8:bio})),timeout=15)
return R.status_code,dec(R.content)
if __name__=="__main__":
token=input("Token => ").strip()
bio=input("Bio => ")
st,body=UpdateSocialBasicInfo(token,bio)
print("STaTus => ",st)
print("Res => ",body.hex() if body else "")
print("Success =>", "True" if st == 200 else "False")
Change Bio By JWT Tokeb310
import json,requests,time;from Crypto.Cipher import AES; from Crypto.Util.Padding import pad
xK,xV,xJwT=b'Yg&tc%DEuh6%Zc^8',b'6oyZDr22E3ychjM%',"eyJhbGciOiJIUzI1NiIsInN2ciI6IjEiLCJ0eXAiOiJKV1QifQ.eyJhY2NvdW50X2lkIjoxOTA0MTM2MzgyMCwibmlja25hbWUiOiJaQ0ZsUUE4TFYxYz0iLCJub3RpX3JlZ2lvbiI6Ik1FIiwibG9ja19yZWdpb24iOiJNRSIsImV4dGVybmFsX2lkIjoiZTU0ZTllNzkwZjUzZWQ2MDUzMTJmYmNmMTllZTU1MDEiLCJleHRlcm5hbF90eXBlIjo0LCJwbGF0X2lkIjoxLCJjbGllbnRfdmVyc2lvbiI6IjEuMTMyLjkiLCJjbGllbnRfdmVyc2lvbl9jb2RlIjoiMjAxOTEyMTIyOSIsImVtdWxhdG9yX3Njb3JlIjowLCJpc19lbXVsYXRvciI6ZmFsc2UsImNvdW50cnlfY29kZSI6IkRaIiwiZXh0ZXJuYWxfdWlkIjo4NDE2NTg0MzI4LCJyZWdfYXZhdGFyIjoxMDIwMDAwMDcsInNvdXJjZSI6MCwibG9ja19yZWdpb25fdGltZSI6MTc5Mzk4NjUxMCwiY2xpZW50X3R5cGUiOjIsInNpZ25hdHVyZV9tZDUiOiI3NDI4YjI1M2RlZmMxNjQwMThjNjA0YTFlYmJmZWJkZiIsInVzaW5nX3ZlcnNpb24iOjEsInJlbGVhc2VfY2hhbm5lbCI6ImFuZHJvaWQiLCJyZWxlYXNlX3ZlcnNpb24iOiJPQjU1IiwiZXhwIjoxNzk0MDIwOTk3fQ.fXncjNwuodjU4BVYXBWmTKLqJV6OfdnJFrKZhxolzPY"
def EnV(n):
d = []
while True:
b = n & 0x7F; n >>= 7
if n: b |= 0x80
d.append(b)
if not n: break
return bytes(d)
def pb(f):
p = bytearray()
for k, v in f.items():
k = int(k)
if isinstance(v, int): p += EnV((k << 3) | 0) + EnV(v)
elif isinstance(v, str):
d = v.encode(); p += EnV((k << 3) | 2) + EnV(len(d)) + d
elif isinstance(v, (bytes, bytearray)): p += EnV((k << 3) | 2) + EnV(len(v)) + bytes(v)
return bytes(p)
def dec(b):
if len(b) % 16: return b
d = AES.new(xK, AES.MODE_CBC, xV).decrypt(b)
n = d[-1]
if 1 <= n <= 16 and d.endswith(bytes([n]) * n): d = d[:-n]
return d
def rd_varint(data, pos):
r = 0; s = 0
while pos < len(data):
b = data[pos]; pos += 1
r |= (b & 0x7F) << s
if not (b & 0x80): break
s += 7
return r, pos
def parse_pb(data):
out = {}; pos = 0
while pos < len(data):
try: key, pos = rd_varint(data, pos)
except: break
f = key >> 3; w = key & 7
try:
if w == 0: v, pos = rd_varint(data, pos)
elif w == 2:
ln, pos = rd_varint(data, pos); v = data[pos:pos+ln]; pos += ln
elif w == 5: v = data[pos:pos+4]; pos += 4
elif w == 1: v = data[pos:pos+8]; pos += 8
else: break
except: break
out.setdefault(f, []).append(v)
return out
def clean(v):
if isinstance(v, int): return v
if isinstance(v, (bytes, bytearray)):
try:
s = v.decode("utf-8")
if all(32 <= ord(c) < 0x10FFFF for c in s) and s.strip():
return s
except: pass
if len(v) >= 2:
try:
sub = parse_pb(v)
if sub and all(k < 100 for k in sub.keys()):
return {str(k): [clean(x) for x in vs] if len(vs) > 1 else clean(vs[0]) for k, vs in sub.items()}
except: pass
return v.hex()
return str(v)
def enc(p):
n = 16 - len(p) % 16
return AES.new(xK, AES.MODE_CBC, xV).encrypt(p + bytes([n] * n))
def ReqClanInfo(clan_uid):
url="https://clientbp.ppmainecoonghj.com/GetClanPersonalActivenessInfo"
headers={"User-Agent": "UnityPlayer/2018.4.12f1 (UnityWebRequest/1.0, libcurl/8.5.0-DEV)", "Accept": "*/*", "Accept-Encoding": "deflate, gzip", "X-GA-SV": str(int(time.time())), "X-GA": "v1 1", "ReleaseVersion": "OB55", "Content-Type": "application/x-www-form-urlencoded", "X-Unity-Version": "2018.4.12f1", "Authorization": f"Bearer {xJwT}"}
data=enc(pb({1: clan_uid}))
R=requests.post(url, headers=headers, data=data, timeout=15)
if R.status_code not in (200, 400): return {"error": R.status_code}
msg = parse_pb(dec(R.content))
out = {}
for f, vals in msg.items():
out[str(f)] = [clean(v) for v in vals] if len(vals) > 1 else clean(vals[0])
return out
if __name__=="__main__":
clan_uid=int(input("EnTeR Clan UID => "))
print(ReqClanInfo(clan_uid))
Get Glory Clan By ID310
xK,xV,xJwT=b'Yg&tc%DEuh6%Zc^8',b'6oyZDr22E3ychjM%',"eyJhbGciOiJIUzI1NiIsInN2ciI6IjEiLCJ0eXAiOiJKV1QifQ.eyJhY2NvdW50X2lkIjoxOTA0MTM2MzgyMCwibmlja25hbWUiOiJaQ0ZsUUE4TFYxYz0iLCJub3RpX3JlZ2lvbiI6Ik1FIiwibG9ja19yZWdpb24iOiJNRSIsImV4dGVybmFsX2lkIjoiZTU0ZTllNzkwZjUzZWQ2MDUzMTJmYmNmMTllZTU1MDEiLCJleHRlcm5hbF90eXBlIjo0LCJwbGF0X2lkIjoxLCJjbGllbnRfdmVyc2lvbiI6IjEuMTMyLjkiLCJjbGllbnRfdmVyc2lvbl9jb2RlIjoiMjAxOTEyMTIyOSIsImVtdWxhdG9yX3Njb3JlIjowLCJpc19lbXVsYXRvciI6ZmFsc2UsImNvdW50cnlfY29kZSI6IkRaIiwiZXh0ZXJuYWxfdWlkIjo4NDE2NTg0MzI4LCJyZWdfYXZhdGFyIjoxMDIwMDAwMDcsInNvdXJjZSI6MCwibG9ja19yZWdpb25fdGltZSI6MTc5Mzk4NjUxMCwiY2xpZW50X3R5cGUiOjIsInNpZ25hdHVyZV9tZDUiOiI3NDI4YjI1M2RlZmMxNjQwMThjNjA0YTFlYmJmZWJkZiIsInVzaW5nX3ZlcnNpb24iOjEsInJlbGVhc2VfY2hhbm5lbCI6ImFuZHJvaWQiLCJyZWxlYXNlX3ZlcnNpb24iOiJPQjU1IiwiZXhwIjoxNzk0MDIwOTk3fQ.fXncjNwuodjU4BVYXBWmTKLqJV6OfdnJFrKZhxolzPY"
def EnV(n):
d=[]
while True:
b=n&0x7F;n>>=7
if n:b|=0x80
d.append(b)
if not n:break
return bytes(d)
def pb(f):
p=bytearray()
for k,v in f.items():
k=int(k)
if isinstance(v,int):p+=EnV((k<<3)|0)+EnV(v)
elif isinstance(v,str):
d=v.encode();p+=EnV((k<<3)|2)+EnV(len(d))+d
elif isinstance(v,(bytes,bytearray)):p+=EnV((k<<3)|2)+EnV(len(v))+bytes(v)
return bytes(p)
def enc(p):
n=16-len(p)%16
return AES.new(xK,AES.MODE_CBC,xV).encrypt(p+bytes([n]*n))
def dec(b):
if len(b)%16: return b
d=AES.new(xK,AES.MODE_CBC,xV).decrypt(b)
n=d[-1]
if 1<=n<=16 and d.endswith(bytes([n])*n):d=d[:-n]
return d
def rd_varint(data,pos):
r=0;s=0
while True:
b=data[pos];pos+=1
r|=(b&0x7F)<<s
if not(b&0x80):break
s+=7
return r,pos
def parse_pb(data):
out={};pos=0
while pos<len(data):
try:key,pos=rd_varint(data,pos)
except:break
f=key>>3;w=key&7
try:
if w==0:v,pos=rd_varint(data,pos)
elif w==2:
ln,pos=rd_varint(data,pos);v=data[pos:pos+ln];pos+=ln
elif w==5:v=data[pos:pos+4];pos+=4
elif w==1:v=data[pos:pos+8];pos+=8
else:break
except:break
out.setdefault(f,[]).append(v)
return out
def clean(v):
if isinstance(v,int):return v
if isinstance(v,(bytes,bytearray)):
try:
s=v.decode("utf-8")
if all(32<=ord(c)<0x10FFFF for c in s) and s.strip():
return s
except:pass
if len(v)>=2:
try:
sub=parse_pb(v)
if sub and all(k<100 for k in sub.keys()):
return {str(k):[clean(x) for x in vs] if len(vs)>1 else clean(vs[0]) for k,vs in sub.items()}
except:pass
return v.hex()
return str(v)
def ReqClanInfo(clan_uid):
url="https://clientbp.ppmainecoonghj.com/GetClanInfoByClanID"
headers={"User-Agent":"UnityPlayer/2018.4.12f1 (UnityWebRequest/1.0, libcurl/8.5.0-DEV)","Accept":"*/*","Accept-Encoding":"deflate, gzip","X-GA-SV":str(int(time.time())),"X-GA":"v1 1","ReleaseVersion":"OB55","Content-Type":"application/x-www-form-urlencoded","X-Unity-Version":"2018.4.12f1","Authorization":f"Bearer {xJwT}"}
data=enc(pb({1:clan_uid,2:1}))
R=requests.post(url,headers=headers,data=data,timeout=15)
if R.status_code not in (200,400):return {"error":R.status_code}
raw=dec(R.content)
msg=parse_pb(raw)
out={}
for f,vals in msg.items():
out[str(f)]=[clean(v) for v in vals] if len(vals)>1 else clean(vals[0])
return out
if __name__=="__main__":
clan_uid=int(input("EnTeR Clan UID => "))
print(json.dumps(ReqClanInfo(clan_uid),ensure_ascii=False,indent=4))
Get Clan Info By ID310
import time, requests, urllib3
urllib3.disable_warnings()
def vr(n):
d=[]
while True:
b=n&0x7F;n>>=7
if n:b|=0x80
d.append(b)
if not n:break
return bytes(d)
def pb(F):
p=bytearray()
for f,v in F.items():
if isinstance(v,int):p.extend(vr((f<<3)|0));p.extend(vr(v))
elif isinstance(v,str):d=v.encode();p.extend(vr((f<<3)|2));p.extend(vr(len(d)));p.extend(d)
elif isinstance(v,bytes):p.extend(vr((f<<3)|2));p.extend(vr(len(v)));p.extend(v)
return bytes(p)
def rv(d,p):
r=0;s=0
while p<len(d):
b=d[p];p+=1;r|=(b&0x7F)<<s
if not(b&0x80):break
s+=7
return r,p
def parse(d):
f={};p=0;n=len(d)
while p<n:
try:k,p=rv(d,p)
except:break
fn=k>>3;wt=k&7
if fn==0:break
try:
if wt==0:v,p=rv(d,p)
elif wt==2:ln,p=rv(d,p);v=d[p:p+ln];p+=ln
elif wt==5:v=d[p:p+4];p+=4
elif wt==1:v=d[p:p+8];p+=8
else:break
except:break
f.setdefault(fn,[]).append(v)
return f
def enc(p):
from Crypto.Cipher import AES
n=16-(len(p)%16)
return AES.new(b'Yg&tc%DEuh6%Zc^8',AES.MODE_CBC,b'6oyZDr22E3ychjM%').encrypt(p+bytes([n]*n))
out = {}
counter = 0
def collect(f):
global counter
for k in sorted(f.keys()):
for item in f[k]:
if isinstance(item, bytes):
if not item:
counter += 1
out[counter] = "(empty)"
continue
sub = parse(item)
if sub and len(item) > 4:
collect(sub)
continue
try:
s = item.decode()
if s.isprintable():
counter += 1
out[counter] = s
continue
except: pass
counter += 1
out[counter] = "0x" + item.hex()
else:
counter += 1
out[counter] = item
H = {"User-Agent":"UnityPlayer/2018.4.12f1","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInN2ciI6IjEiLCJ0eXAiOiJKV1QifQ.eyJhY2NvdW50X2lkIjoxOTAwNTYxNjY2OSwibmlja25hbWUiOiJhQ1IrZDJ4NlVWTmJDZz09Iiwibm90aV9yZWdpb24iOiJNRSIsImxvY2tfcmVnaW9uIjoiTUUiLCJleHRlcm5hbF9pZCI6ImViMDQ5NzU3MTdhMDkzMzQ1YzkzMDk2NWNhNDJhNjIxIiwiZXh0ZXJuYWxfdHlwZSI6NCwicGxhdF9pZCI6MSwiY2xpZW50X3ZlcnNpb24iOiIxLjEzMi45IiwiY2xpZW50X3ZlcnNpb25fY29kZSI6IjIwMTkxMjEyMjkiLCJlbXVsYXRvcl9zY29yZSI6MCwiaXNfZW11bGF0b3IiOmZhbHNlLCJjb3VudHJ5X2NvZGUiOiJEWiIsImV4dGVybmFsX3VpZCI6ODQwMjY1NjM4MSwicmVnX2F2YXRhciI6MTAyMDAwMDA3LCJzb3VyY2UiOjAsImxvY2tfcmVnaW9uX3RpbWUiOjE3OTM3MTA1ODksImNsaWVudF90eXBlIjoyLCJzaWduYXR1cmVfbWQ1IjoiNzQyOGIyNTNkZWZjMTY0MDE4YzYwNGExZWJiZmViZGYiLCJ1c2luZ192ZXJzaW9uIjoxLCJyZWxlYXNlX2NoYW5uZWwiOiJhbmRyb2lkIiwicmVsZWFzZV92ZXJzaW9uIjoiT0I1NSIsImV4cCI6MTc5Mzk0MzY3MX0.0Y8D90U_A8nSnnEu-saPug9hdYYfVfpX-9wZxPT0lzE","X-GA":"v1 1","ReleaseVersion":"OB55","Content-Type":"application/x-www-form-urlencoded","X-Unity-Version":"2018.4.12f1","X-GA-SV":str(int(time.time()))}
code = input("map code > ").strip()
r = requests.post("https://clientbp.ppmainecoonghj.com/SearchWorkshopCode", data=enc(pb({1: code, 2: "ME"})), headers=H, verify=False, timeout=30)
collect(parse(r.content))
print("{")
for k in sorted(out.keys()):
v = out[k]
if isinstance(v, str) and not v.startswith("0x") and v != "(empty)":
print(f' {k}: "{v}",')
elif isinstance(v, str):
print(f' {k}: "{v}",')
else:
print(f' {k}: {v},')
print("}")310
import time, requests, urllib3
from Crypto.Cipher import AES
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
xK, xV, xSerVer, xJwT = b'Yg&tc%DEuh6%Zc^8', b'6oyZDr22E3ychjM%', "https://clientbp.ppmainecoonghj.com", "eyJhbGciOiJIUzI1NiIsInN2ciI6IjEiLCJ0eXAiOiJKV1QifQ.eyJhY2NvdW50X2lkIjoxOTAwNTYxNjY2OSwibmlja25hbWUiOiJhQ1IrZDJ4NlVWTmJDZz09Iiwibm90aV9yZWdpb24iOiJNRSIsImxvY2tfcmVnaW9uIjoiTUUiLCJleHRlcm5hbF9pZCI6ImViMDQ5NzU3MTdhMDkzMzQ1YzkzMDk2NWNhNDJhNjIxIiwiZXh0ZXJuYWxfdHlwZSI6NCwicGxhdF9pZCI6MSwiY2xpZW50X3ZlcnNpb24iOiIxLjEzMi45IiwiY2xpZW50X3ZlcnNpb25fY29kZSI6IjIwMTkxMjEyMjkiLCJlbXVsYXRvcl9zY29yZSI6MCwiaXNfZW11bGF0b3IiOmZhbHNlLCJjb3VudHJ5X2NvZGUiOiJEWiIsImV4dGVybmFsX3VpZCI6ODQwMjY1NjM4MSwicmVnX2F2YXRhciI6MTAyMDAwMDA3LCJzb3VyY2UiOjAsImxvY2tfcmVnaW9uX3RpbWUiOjE3OTM3MTA1ODksImNsaWVudF90eXBlIjoyLCJzaWduYXR1cmVfbWQ1IjoiNzQyOGIyNTNkZWZjMTY0MDE4YzYwNGExZWJiZmViZGYiLCJ1c2luZ192ZXJzaW9uIjoxLCJyZWxlYXNlX2NoYW5uZWwiOiJhbmRyb2lkIiwicmVsZWFzZV92ZXJzaW9uIjoiT0I1NSIsImV4cCI6MTc5MzkzMDc2NH0.LY8R1i2MFsglDxXuJt2yndpF-a4qOA0KMJCVYNmEfBI"
def vr(n):
d=[]
while True:
b=n&0x7F;n>>=7
if n:b|=0x80
d.append(b)
if not n:break
return bytes(d)
def pb(F):
p=bytearray()
for f,v in F.items():
if isinstance(v,int):p.extend(vr((f<<3)|0));p.extend(vr(v))
elif isinstance(v,str):d=v.encode();p.extend(vr((f<<3)|2));p.extend(vr(len(d)));p.extend(d)
elif isinstance(v,bytes):p.extend(vr((f<<3)|2));p.extend(vr(len(v)));p.extend(v)
return bytes(p)
def rv(data,pos):
r=0;s=0
while pos<len(data):
b=data[pos];pos+=1;r|=(b&0x7F)<<s
if not(b&0x80):break
s+=7
return r,pos
def parse(data):
f={};pos=0;n=len(data)
while pos<n:
try:k,pos=rv(data,pos)
except:break
fn=k>>3;wt=k&7
try:
if wt==0:v,pos=rv(data,pos)
elif wt==2:ln,pos=rv(data,pos);v=data[pos:pos+ln];pos+=ln
elif wt==5:v=data[pos:pos+4];pos+=4
elif wt==1:v=data[pos:pos+8];pos+=8
else:break
except:break
f.setdefault(fn,[]).append(v)
return f
def enc(p):
n=16-(len(p)%16)
return AES.new(xK,AES.MODE_CBC,xV).encrypt(p+bytes([n]*n))
def strip(b):
if len(b)<=64:return b
for off in (0,64):
try:
if 8 in parse(b[off:]):return b[off:]
except:pass
return b[64:]
def g(f,k):
v=f.get(k)
if not v:return None
v=v[0]
if isinstance(v,bytes):
try:return v.decode()
except:return v.hex()
return v
uid = input("UID > ").strip()
body = enc(pb({1: int(uid)}))
H = {"User-Agent":"UnityPlayer/2018.4.12f1","Authorization":f"Bearer {xJwT}","X-GA":"v1 1","ReleaseVersion":"OB55","Content-Type":"application/x-www-form-urlencoded","X-Unity-Version":"2018.4.12f1","X-GA-SV":str(int(time.time()))}
r = requests.post(xSerVer + "/GetPlayerCSRankingInfoByAccountID", data=body, headers=H, verify=False, timeout=30)
f = parse(strip(r.content))
print('{\n "Uid": %s,\n "Season": %s,\n "MaxRank": %s,\n "CurrentRank": %s,\n "RankPoints": %s,\n "Matches": %s,\n "Wins": %s,\n "TotalScore": %s,\n "Year": %s,\n "TopRank": %s,\n "TopRank2": %s,\n "Stat26": %s,\n "Stat29": %s,\n "Stat44": %s\n}' % (g(f,1),g(f,2),g(f,3),g(f,4),g(f,5),g(f,10),g(f,11),g(f,14),g(f,17),g(f,21),g(f,22),g(f,26),g(f,29),g(f,44)))
Get Player CSRanking InfoBy Account ID