import time,random
from loguru import logger
import requests
TOKEN_SERVER_TIME = 1753247964.406;
E=[]
E.append(3264648686)
E.append(int(TOKEN_SERVER_TIME))
E.append(int(time.time()))
E.append(195367209)
E.append(7)
E.append(10)
E.append(5)
E.append(230)
E.append(3)
E.append(19)
E.append(0)
E.append(800)
E.append(425)
E.append(3748)
E.append(0)
E.append(0)
E.append(1)
E.append(3)
def tobuff(e):
a='37'
o='7'
i=[4, 4, 4, 4, 1, 1, 1, 3, 2, 2, 2, 2, 2, 2, 2, 4, 2, 1]
c=-1
u=[]
mask = int(a + o, 8)
for s in range(len(i)):
v = e[s]
l = i[s]
c += l
p = c
while True:
if len(u) <= p:
u.extend([0] * (p - len(u) + 1))
u[p] = v & mask
l -= 1
if l == 0:
break
p -= 1
v >>= 8
return u
def d(n):
a=0
o=0
i=43
mask = int('ff', 16)
while o<i:
a=(a<<5)-a+n[o]
o+=1
logger.debug(a)
return a & mask
def f(n,t,a,i,u):
c=len(n)
mask = int('ff', 16)
mask1 = int('83', 16)
while t<c:
a.extend([n[t]^u & mask])
u = ~(u * mask1)
i += 1
t += 1
logger.debug(a)
return a
v="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"
def g(a):
o=0
u=45
c=[]
mask = int('20', 8)
while o<u:
s=(a[o]<<mask)|(a[o+1]<<8) | a[o+2]
c.append(v[s>>int('22',8)])
c.append(v[(s>>int('14',8))&int('3f',16)])
c.append(v[(s>>6)&int('3f',16)])
c.append(v[s&int('3f',16)])
o+=3
logger.debug(c)
logger.debug(len(c))
return "".join(c)
def encode(r):
e=d(r)
logger.debug(e)
a=[3,e]
logger.debug(r)
a=f(r,0,a,2,e)
return g(a)
logger.debug(E)
t=tobuff(E)
logger.debug(t)
logger.debug(encode(t))
这个是花了一下午时间给他手动还原的python版本,真累啊
|