快手弹幕 websocket 分析

声明:

本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!
逆向分析

复制代码
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)

结果

总结

1.probuf结束,后续研究安卓。web方面除了5s基本都搞完了,今天用dp,搭建一下真机安卓环境先。

2.出于安全考虑,本章未提供完整流程,调试环节省略较多,只提供大致思路,具体细节要你自己还原,相信你也能调试出来。

相关推荐
cui_ruicheng4 小时前
LangChain 应用开发(十四):Agent 上下文与记忆机制
服务器·人工智能·python·langchain
论迹复利4 小时前
FreeRTOS 在 RISC-V 上是如何“点火“的 —— 从 main() 到第一个任务的完整链路
java·开发语言·risc-v
circuitsosk5 小时前
任务规划器的三种范式对比:ReAct、Plan-and-Execute 与 Tree-of-Thought 在真实业务中的取舍
前端·javascript·python·react.js·llm·ai agent
张宇Joaquin5 小时前
鲲鹏统一并行加速库KUPL--众核并行能力介绍
java·开发语言·网络
shehuiyuelaiyuehao5 小时前
算法31,前缀和,可被k整除的子数组
数据结构·python·算法
宸津-代码粉碎机5 小时前
AI攻防战升级!基于Spring AI构建Java应用自动免疫安全体系
java·大数据·开发语言·人工智能·python·安全·spring
测试19985 小时前
如何用appium搭建Android自动化测试框架?
自动化测试·软件测试·python·测试工具·职场和发展·appium·测试用例
程序员大雄学编程5 小时前
微积分46. 无穷级数四大核心性质:从理论到实践的全方位解析
python·学习·微积分·学习工具
数字化转型分享点滴6 小时前
## 工厂数字化管理系统的价值体现:构建制造全流程数据闭环
python
2601_963749106 小时前
越华环保集团数字化污水治理:端边云采集架构与平台对接实现
java·大数据·架构