声明:
本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!
逆向分析
import time
import requests
import random
def generate_random_string(t):
characters = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"
result = ''.join(random.choice(characters) for _ in range(t))
return result
headers = {
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
"Accept-Language": "zh-CN,zh;q=0.9",
"Cache-Control": "no-cache",
"Connection": "keep-alive",
"Pragma": "no-cache",
}
url = ""
response = requests.get(url, headers=headers)
html_content = response.text
# 拿到token 和id发送send加密包链接直播间 def v(e):
"""将整个 SocketMessage 序列化为二进制"""
# 创建 SocketMessage 消息
message = SocketMessage_pb2.SocketMessage()
# 设置 payloadType
message.payloadType = e.get('payloadType')
# 获取 payload 数据并序列化
payload_data = e.get("payload", {})
print(payload_data)
liveStreamId = payload_data.get("liveStreamId", "")
token = payload_data.get("token", "")
pageId = payload_data.get("pageId", "")
serialized_message = ser(liveStreamId,token,pageId)
return serialized_message
r = {
'payloadType': 200,
'payload': {
'liveStreamId':liveStreamId,
'token':token, 'pageId':pageId}
}
binary_result = v(r)
# print("二进制数据:", binary_result)
ws.send(binary_result, opcode=websocket.ABNF.OPCODE_BINARY)
结果
