mirror of
https://github.com/luzhisheng/js_reverse.git
synced 2025-04-12 03:27:07 +08:00
84 lines
2.7 KiB
Python
84 lines
2.7 KiB
Python
from pyDes import des
|
||
from pyDes import ECB
|
||
import base64
|
||
import time
|
||
|
||
|
||
def zeroPad(data):
|
||
"""
|
||
zeroPadding
|
||
"""
|
||
block_size = 8
|
||
while len(data) % block_size:
|
||
data += b"\0"
|
||
return data
|
||
|
||
|
||
def desEncrypt(data, key):
|
||
"""des加密"""
|
||
des_obj = des(key.encode(), mode=ECB)
|
||
content = zeroPad(str(data).replace(" ", "").encode())
|
||
print(base64.b64encode(des_obj.encrypt(content)).decode("utf-8"))
|
||
return base64.b64encode(des_obj.encrypt(content)).decode("utf-8")
|
||
|
||
|
||
def mainEncrypt(jsText, rid, trace, organization):
|
||
# 获取混淆解密函数obDecode,解密大数组
|
||
# obDecode, jsArray = initObDecode(jsText)
|
||
# params = getParams(jsText, obDecode, jsArray)
|
||
params = {
|
||
'nm': '4ee2f32f',
|
||
'dy': 'aee9ca04',
|
||
'lx': 'dec417a4',
|
||
'xy': 'c179010f',
|
||
'dl': '2575232a',
|
||
'oe': '59bca469',
|
||
'gi': 'bc1b5ed3',
|
||
'aw': '013f32d6',
|
||
'xp': 'ff19d8d3',
|
||
'ux': '8d1339ba',
|
||
'vk': '2323fc45'
|
||
}
|
||
|
||
result = {
|
||
"rid": rid,
|
||
"mr": "Yrtx2WucmA0=",
|
||
"organization": organization,
|
||
"rversion": "1.0.1",
|
||
"ks": "reuBD+zMKCY=",
|
||
"mh": "4H3yX9Azf7w=",
|
||
"ga": "NNwlKRkNZmk=",
|
||
"pz": "9rXyGPjRnCw=",
|
||
"ostype": "web",
|
||
"mi": "J0ydjVnS6GWRP+MYvENLqasfyGxBM+/A5zWEZMaZGTKy5iTNIij9ojytDG3NjnLKgRRYeCckrRRCNhbe2aKwGoGk2qBX4mZI9gDo59CKKiHYO665KC+AdIzotLMZ/Nj5YRYiSHP3YNna8EvkpCP3vxhA3fxo0t7H7cCeBiSfvhQ7IxVsjhW6OGPjlxnOxpQl",
|
||
"act.os": "web_mobile",
|
||
# "act.os": "web_pc",
|
||
"ez": "0tmlyeKNyJA=",
|
||
"callback": "sm_1651029963033",
|
||
"sdkver": "1.1.3",
|
||
"vl": "nz2ymU44kqg=",
|
||
"kx": "8496EGvAN20=",
|
||
"protocol": "155",
|
||
"vb": "YuSSvLHvI2k=",
|
||
"eg": "pkDpSt6wUfA="
|
||
}
|
||
|
||
keys = list(params.keys())
|
||
# result[keys[0]] = desEncrypt(trace["mouseData"], params[keys[0]])
|
||
# result[keys[1]] = desEncrypt(trace["endTime"] - trace["startTime"], params[keys[1]])
|
||
# result[keys[2]] = desEncrypt(trace["trueWidth"], params[keys[2]])
|
||
# result[keys[3]] = desEncrypt(trace["trueHeight"], params[keys[3]])
|
||
# result[keys[4]] = desEncrypt(trace["mouseEndX"] / trace["trueWidth"], params[keys[4]])
|
||
result[keys[5]] = desEncrypt(1, params[keys[5]])
|
||
result[keys[6]] = desEncrypt(0, params[keys[6]])
|
||
result[keys[7]] = desEncrypt(-1, params[keys[7]])
|
||
result[keys[8]] = desEncrypt("default", params[keys[8]])
|
||
result[keys[9]] = desEncrypt("web", params[keys[9]])
|
||
result[keys[10]] = desEncrypt("zh-cn", params[keys[10]])
|
||
result["callback"] = "sm_" + str(round(time.time() * 1000) + 1000)
|
||
return result
|
||
|
||
|
||
# desEncrypt("zh-cn", "d020d8e2")
|
||
mainEncrypt("20220427112708f5275e8fdb7c0f6fe7", '', "eR46sBuqF0fdw7KWFLYa")
|