protobuf某音弹幕实战

news2024/11/18 17:48:57

声明:(如果侵犯到你的权益联系我,我会马上删除)

本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!wx a15018601872              
本文章未经许可禁止转载,禁止任何修改后二次传播,擅自使用本文讲解的技术而导致的任何意外,作者均不负责,若有侵权,请联系作者立即删除!q 2766958292

前言:

哎本来不想写的,不过太无聊学校wifi崩了,刷了3天抖音。昨天睡觉床板硬的我头皮发麻,一晚上没睡好,凌晨4点多起来看球还输了我真是🤡。这几天真tama烦。废话不说了开始发车。

1.逆向过程

1.1.安装protobuf

我也是看别人教程加上自己思路。下载protobuf,然后pycharm下载插件,同时pip下载protobuf。

1.2.编写protobuf

信息入口如图1.2.1.如图1.2.2是数据处理过程。大致过程是hex数据转成正常字节数据然后解压缩,最后封装成response格式。pushFrame格式如图1.2.3。然后解压缩接着在编写一个response的protobuf最后根据信息类型接收数据。如图1.2.4我也没仔细分析根据英文应该是用户进入直播间信息我们编写一个protobuf 接着user,和content字段就可以了获得弹幕了。

图1.2.1
图1.2.2
图1.2.3
图1.2.4

1.3. websocket长连接

def run():
    webSocketUrl = f'#########################signature={signature}'
    websocket.enableTrace(False)
    h = {
    }

    ws = websocket.WebSocketApp(
        webSocketUrl, on_message=onMessage, on_error=onError, on_close=onClose,
        on_open=onOpen,
        header=h
    )
    print("run")
    ws.run_forever()
run()

1.4.signature逆向

他是一个md5。里面包含一些房间参数信息把环境补上就可以通过。

1.4.1

1.5.结果 

我只要了WebcastChatMessage的数据,就是聊天数据其他就不要了,中间都是在github cv的如果你明白使用原理相信可以成功。我也没有execjs测试直接copy了测试。

 

1.6.其他方法 

当然爬取弹幕数据我很看见很多人用rpc也是很不错的选择,如果有时间我在出。

1.7.总结

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

2.某音的弹幕采集很多人都开源了所以我也是随便写写如果有需要我也是用他们开源的我记得码云,github在上都下载下来后直接打开web直播间就可以采集了效果很强。当然如果你要自己弄建议照着别人写更好,我就是自己写了4-5个message(protobuf)然后github cv别人的代码逆向一下就好了。

3.匿名直播间采集我还没了解,毕竟我也才学了probuf刚好满一天就会点皮毛就更别说那些高级词汇了。

如果侵犯到你的权益联系我,我会马上删除

wx a15018601872   
q 2766958292

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1472607.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2.20 day2 QT

自由发挥登录窗口的应用场景,实现一个登录窗口界面 #include "widget.h"Widget::Widget(QWidget *parent): QWidget(parent) {//窗口相关设置this->setWindowTitle("登入页面"); //设置 窗口 标题this->setWindowIcon(QIcon("D:…

2024Python自动化测试面试必备知识点!

在准备 Python 自动化测试面试时,以下是一些必备的知识点,可以帮助您在面试中展现实力: 软件测试基础: 熟悉软件测试的基本概念,包括测试类型(功能测试、性能测试、安全测试等)、测试方法&#…

HTTP与HTTPS-HTTPS 的应用数据是如何保证完整性的?

资料来源 : 小林coding 小林官方网站 : 小林coding (xiaolincoding.com) HTTPS 的应用数据是如何保证完整性的? TLS 在实现上分为握手协议和记录协议两层 TLS 握手协议就是我们前面说的 TLS 四次握手的过程,负责协商加密算法和生成对称密钥,后续用此密…

C++ //练习 9.19 重写上题的程序,用list替代deque。列出程序要做出哪些改变。

C Primer(第5版) 练习 9.19 练习 9.19 重写上题的程序,用list替代deque。列出程序要做出哪些改变。 环境:Linux Ubuntu(云服务器) 工具:vim 代码块 //头文件需要调整为list,同时…

猫头虎分享已解决Bug || ValueError: No gradients provided for any variable

博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通鸿蒙》 …

代码随想录算法训练营第三十二天|122 买卖股票的最佳时机||、55 跳跃游戏、45 跳跃游戏||

122 买卖股票的最佳时机|| 题目链接&#xff1a;买卖股票的最佳时机|| 思路 这道题目求的是获得的最大利润是多少。我们只需要收集正利润&#xff0c;便可求得最大利润。 class Solution { public:int maxProfit(vector<int>& prices) {int res 0;for(int i1; i…

Python炒股自动化(2):获取股票实时数据和历史数据

如果你是一位大佬&#xff0c;看我前面的分享即可&#xff0c;相信你有自己的思路&#xff0c;或者已经有了成熟的策略&#xff0c;你需要的只是API接口来实现你的想法&#xff0c;前面的分享是你需要的&#xff0c;这些是给刚开始接触程序交易的朋友分享的。 前面发了股票程序…

【K8s】初识PV和PVC

​ 目录 收起 O、致谢 一、前言 二、Volume 2.1 什么是Volume 2.2 为什么要引入Volume 2.3 Volume类型有哪些 2.4 Volume如何使用 2.4.1 通过emptyDir共享数据 2.4.2 使用HostPath挂载宿主机文件 2.4.3 挂载NFS至容器 三、PV和PVC 3.1 什么是PV和PVC 3.2 为什么要引入PV和PVC 3…

「哈哥赠书活动 - 48期」-『商业分析思维与实践:用数据分析解决商业问题宣传文案』

⭐️ 赠书 - 《商业分析思维与实践》 ⭐️ 内容简介 本书以业务为导向&#xff0c;详细地讲解了如何通过大数据分析来解决商业问题。其目的在于运用大数据分析思维&#xff0c;帮助读者把学术知识应用于真实的业务场景&#xff0c;解决实际的业务问题。本书基于业务问题&#x…

鸿蒙 渲染控制

前提&#xff1a;基于官网3.1/4.0文档。参考官网文档 基于Android开发体系来进行比较和思考。&#xff08;或有偏颇&#xff0c;自行斟酌&#xff09; 1.概念 ArkUI通过自定义组件的build()函数和builder装饰器中的声明式UI描述语句构建相应的UI。在声明式描述语句中开发者除了…

GEE必须会教程—矢量数据类型

矢量这个词&#xff0c;我们在数学上并不陌生&#xff0c;它是既有方向又有大小的量。而在GIS中&#xff0c;常常利用欧氏空间的点、线、面来表示地理实体&#xff0c;进而构成我们使用频繁的矢量数据&#xff0c;它和栅格数据一同构成了地理信息数据的基础。今天开始&#xff…

AI:140-使用强化学习优化供应链管理

🚀点击这里跳转到本专栏,可查阅专栏顶置最新的指南宝典~ 🎉🎊🎉 你的技术旅程将在这里启航! 从基础到实践,深入学习。无论你是初学者还是经验丰富的老手,对于本专栏案例和项目实践都有参考学习意义。 ✨✨✨ 每一个案例都附带关键代码,详细讲解供大家学习,希望…

typecho 给文章创建目录树

受益于 shortcode 短代码插件和泽泽短代码中目录树的显示样式&#xff0c;形成了自己实现添加文章目录的思路&#xff1a; 一、文章目录树的结构 <div id"toc"><div class"toc-left"><div class"toc-btn" type"button&quo…

网络技术ensp 一个简单的交换机配置案例

由于工作调岗&#xff0c;转战网络运维了&#xff0c;第一次网络笔记 1.&#xff0c;目的&#xff1a;2台主机相互可以ping通&#xff0c;并且可以ping通网关地址&#xff0c;设备&#xff1a;2台主机&#xff0c;2台交换机 2网络拓扑图如下 3.主机pc1的配置信息 ip&#xff…

一个Post请求入门NestJS的路由与控制器

​ NestJS的控制器 控制器负责处理传入请求并向客户端返回响应。 控制器的目的是接收应用的特定请求。路由机制控制哪个控制器接收哪些请求。 通常&#xff0c;每个控制器都有不止一条路由&#xff0c;不同的路由可以执行不同的操作。 在使用了脚手架的项目中&#xff0c;我…

javascript给对象添加迭代器

迭代器是啥就自行百度了 为啥for…of可以遍历数组&#xff0c;为啥不能遍历对象&#xff0c;就是for…of会调用迭代器&#xff0c;而数组是内置了迭代器了&#xff0c;而对象没有内置&#xff0c;所以直接使用for…of遍历对象会报错&#xff0c;因此只用在对象的原型上面自定义…

temu/亚马逊美国站烧烤炉UL报告UL2728A应该怎么办理?

temu/亚马逊美国站烧烤炉UL报告UL2728A应该怎么办理&#xff1f; 近年来&#xff0c;烧烤炉在美国市场越来越受欢迎&#xff0c;其便捷性和独特的烹饪方式吸引了许多消费者。然而&#xff0c;为了确保产品的安全性和质量&#xff0c;美国市场对于烧烤炉产品的上架要求日益严格…

Python中的atexit模块:优雅地处理程序退出

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站AI学习网站。 目录 前言 atexit模块概述 atexit模块的基本用法 示例代码&#xff1a;文件操作时的应用场景 典型应用场景 1 资源释放…

西宾视频下载工具(mediadown)

一个支持多网站的视频下载工具。目前已经支持的网站有知乎、哔哩哔哩、得到、猫耳、蜻蜓FM。 西宾视频下载工具能够帮助你下载知乎知学堂、哔哩哔哩、得到课程、猫耳音频、蜻蜓FM的音视频文件。如果你是这些网站的会员&#xff0c;它还能帮你下载会员节目的音视频。 工具也不是…

【好书推荐-第五期】《Java开发坑点解析:从根因分析到最佳实践》(异步图书出品)

&#x1f60e; 作者介绍&#xff1a;我是程序员洲洲&#xff0c;一个热爱写作的非著名程序员。CSDN全栈优质领域创作者、华为云博客社区云享专家、阿里云博客社区专家博主、前后端开发、人工智能研究生。公粽号&#xff1a;程序员洲洲。 &#x1f388; 本文专栏&#xff1a;本文…