websocket逆向

Websocket逆向技术的实际应用

  • 前言
  • 一、websocket逆向实际应用
    • 1. 插件开发
    • 2. 弹幕互动游戏
    • 3. (半)无人直播
  • 二、直播间常见通信技术
    • 1. http轮询
    • 2. websocket通信
  • 三. 直播间常见消息解析技术
  • 四、 逆向直播间常用技术
    • 1. RPC远程服务调用
    • 2. 通信拦截
    • 3. API调用
  • 五、学习路线
    • 实战1:http轮询
    • 实战2:websocket
    • 实战3:websocket+protobuf
    • 实战4:websocket+protobuf+gzip
    • 实战5:websocket+protobuf+gizp+数字签名
    • 实战6:websocket+unicode编码
    • 实战7:websocket+其他编码


前言

本章节主要介绍websocket逆向的实际用途直播间常见通信技术websocket逆向技术以及学习路线

一、websocket逆向实际应用

websocket逆向技术偏向于直播间互动玩法

1. 插件开发

  1. 语言播报
  2. 刷礼物加播
  3. 自动点歌
  4. 弹幕互动插件

2. 弹幕互动游戏

  1. 和游戏交互
  2. 和硬件交互
  3. 整盅玩法

3. (半)无人直播

  1. 数字人

二、直播间常见通信技术

下面章节会详细讲解

1. http轮询

以前直播间大多采用http轮询,现在越来越少,但还是有用的,比如视频号助手。或者把http轮询作为一个备用方案,当websocket发生阻塞的时候,就会启用http轮询,保持直播间的通信,例如国内最火的短视频平台。

2. websocket通信

现在直播间基本采用websocket进行通信,如果把http轮询比作发短信,那websocket可以认为是打电话。

三. 直播间常见消息解析技术

客户端接收的消息,会有不同格式,这也决定了逆向的难度。

  1. 明文的json字符串或者二进制字符串,这种是最简单的,只需要进行简单的反序列化或者解码即可使用。
  2. protobuf二进制,这种需要还原proto结构,再进行反序列化。
  3. 明文+乱码配合使用,这种需要按部就班进行分析。

四、 逆向直播间常用技术

下面章节会详细讲解

1. RPC远程服务调用

不需要掌握数字签名认证,只需要逆向找到消息解析的地方即可。

2. 通信拦截

只需要掌握消息解析的原理即可实现,不需要了解数字签名以及校验

  1. 文章链接:http拦截
  2. 文章链接:websocket拦截

3. API调用

涉及的验证比较多,难度最高,但是并发高、部署方便。


五、学习路线

正在搭建一个实战平台,实战平台采用大厂常用弹幕通信技术,也会出对应的教程

实战1:http轮询

视频号助手采用的就是http轮询,每隔几秒向服务器发起http请求,然后将获取到的内容渲染到浏览器上。逆向技术推荐:http拦截。因为会涉及到扫码登录、数字签名…操作起来比较麻烦,也只能看自己的直播间,所以推荐http拦截。

实战2:websocket

这个websocket实战不会涉及到签名算法等,消息也是没有加密的,带大家了解websocket逆向的完整流程。

实战3:websocket+protobuf

这个实战训练结合了快手平台的弹幕技术,涉及到protobuf序列化与反序列化。

实战4:websocket+protobuf+gzip

这个实战训练结合了海外tiktok的弹幕技术,涉及到websocket地址的组成、protobuf序列化与反序列化…

实战5:websocket+protobuf+gizp+数字签名

这个实战训练结合了国内最大的短视频平台的弹幕技术,涉及到数字签名、websocket地址的组成、protobuf序列化与反序列化…

实战6:websocket+unicode编码

这个实战训练结合了国外twitch的弹幕传输技术,比较简单,但是会涉及到unicode编码,这个还是很少见的

实战7:websocket+其他编码

这个不会涉及到什么消息结构,需要按部就班分析。

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

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

相关文章

复旦大学EMBA:揭秘科创企业,领略未来战略!

智能制造,国之重器。作为制造强国建设的主攻方向,智能制造的发展水平关系到我国未来制造业在全球的地位与影响力。发展智能制造,是加快建设现代化产业体系的重要手段,提升供给体系适配性的有力抓手,也是建设数字中国的…

css的gap设置元素之间的间隔

在felx布局中可以使用gap来设置元素之间的间隔&#xff1b; .box{width: 800px;height: auto;border: 1px solid green;display: flex;flex-wrap: wrap;gap: 100px; } .inner{width: 200px;height: 200px;background-color: skyblue; } <div class"box"><…

基于SSM的固定资产管理系统的设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

Acwing.790 数的三次方根

题目 给定一个浮点数n&#xff0c;求它的三次方根。 输入格式 共一行&#xff0c;包含一个浮点数n。 输出格式 共—行&#xff0c;包含一个浮点数&#xff0c;表示问题的解。注意&#xff0c;结果保留6位小数。 数据范围 -10000 ≤n ≤10000 输入样例: 1000.00输出样例…

ROS2 Galactic安装

ROS2 Galactic安装 ROS2 Galactic安装字体编码检查添加ros2仓库到本机安装ROS2系统测试ROS卸载ros2 ROS2 Galactic安装 字体编码检查 安装需要设置本级为UTF-8字体&#xff0c;使用如下指令检查&#xff1a; locale # check for UTF-8sudo apt update && sudo apt …

Acwing.886 求组合数Ⅱ

题目 给定n组询问&#xff0c;每组询问给定两个整数a&#xff0c; b&#xff0c;请你输出 的值。 输入格式 第一行包含整数n。 接下来n行&#xff0c;每行包含—组a和b。 输出格式 共n行&#xff0c;每行输出—个询问的解。 数据范围 1<n≤10000, 1 <b<a≤105…

《C和指针》笔记31:多维数组的数组名、指向多维数组的指针、作为函数参数的多维数组

文章目录 1. 指向多维数组的数组名2. 指向多维数组的指针3. 作为函数参数的多维数组 1. 指向多维数组的数组名 我们知道一维数组名的值是一个指针常量&#xff0c;它的类型是“指向元素类型的指针”&#xff0c;它指向数组的第1个元素。那么多维数组的数组名代表什么呢&#x…

YOLOv8血细胞检测(5):可变形大核注意力(D-LKA Attention),超越自注意力| 2023.8月最新发表

💡💡💡本文独家改进:可变形大核注意力(D-LKA Attention),采用大卷积核来充分理解体积上下文的简化注意力机制,来灵活地扭曲采样网格,使模型能够适当地适应不同的数据模式 D-LKA Attention | 亲测在血细胞检测项目中涨点,map@0.5 从原始0.895提升至0.903 收录专…

点餐小程序实战教程06-首页开发

用户注册功能开发好了之后&#xff0c;我们就要开发小程序&#xff0c;首先我们是规划小程序的功能模块&#xff0c;我们一共是四个模块&#xff0c;分别是首页、订单、消息和我的。 首页我们主要是点餐的功能&#xff0c;可以选择菜品&#xff0c;加入到购物车&#xff0c;然…

nginx实现负载均衡(三)

之前说过大部分我们用到的配置都是在http模块中配置的&#xff0c;这里要实现的负载均衡也是一样的&#xff0c;要在http模块中的http全局块中指定&#xff0c;这里我们先给出一个例子 demo #user nobody; worker_processes 1;#error_log logs/error.log; #error_log log…

Flink---10、处理函数(基本处理函数、按键分区处理函数、窗口处理函数、应用案例TopN、侧输出流)

星光下的赶路人star的个人主页 我的敌手就是我自己&#xff0c;我要他美好到能使我满意的程度 文章目录 1、处理函数1.1 基本处理函数&#xff08;ProcessFunction&#xff09;1.1.1 处理函数的功能和使用1.1.2 ProcessFunction解析1.1.3 处理函数的分类 1.2 按键分区处理函数&…

剑指offer——JZ34 二叉树中和为某一值的路径(二) 解题思路与具体代码【C++】

一、题目描述与要求 二叉树中和为某一值的路径(二)_牛客题霸_牛客网 (nowcoder.com) 题目描述 输入一颗二叉树的根节点root和一个整数expectNumber&#xff0c;找出二叉树中结点值的和为expectNumber的所有路径。 1.该题路径定义为从树的根结点开始往下一直到叶子结点所经过…

“国产版”的chatgpt国内用户的更优选择!一定要收藏!

众所周知&#xff0c;chatGPT没有对国内开放使用权限&#xff0c;因此国内的用户是不可以使用直接使用chatgpt的&#xff0c;部分朋友想要通过使用网络工具使用其对话服务&#xff0c;这种行为显然是不可取的。其实也有好用的国产版的chatGPT网站&#xff0c;只是大家可能之前没…

深度学习实战基础案例——卷积神经网络(CNN)基于MobileNetV3的肺炎识别|第3例

文章目录 前言一、数据集介绍二、前期工作三、数据集读取四、构建CA注意力模块五、构建模型六、开始训练 前言 Google公司继MobileNetV2之后&#xff0c;在2019年发表了它的改进版本MobileNetV3。而MobileNetV3共有两个版本&#xff0c;分别是MobileNetV3-Large和MobileNetV2-…

【 构建maven工程时,配置了阿里云的前提下,依旧使用中央仓库下载依赖导致失败的问题!】

构建maven工程时&#xff0c;配置了阿里云的前提下&#xff0c;依旧使用中央仓库下载依赖导致失败的问题&#xff01;&#xff01;&#xff01; 错误提示信息: Cannot download ZIP distribution from https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3…

性能监控-微服务链路追踪skywalking搭建

中文文档&#xff1a;hong设置 (skyapm.github.cio) 参考:微服务链路追踪SkyWalking的介绍和部署_skywalking部署_技术闲聊DD的博客-CSDN博客 参考&#xff1a;链路追踪SkyWalking整合项目以及数据持久化_skywalking 持久化_技术闲聊DD的博客-CSDN博客 Liunx部署skywalking以…

云服务仿真:完全模拟 AWS 服务的本地体验 | 开源日报 No.45

localstack/localstack Stars: 48.7k License: NOASSERTION LocalStack 是一个云服务仿真器&#xff0c;可以在您的笔记本电脑或 CI 环境中以单个容器运行。它提供了一个易于使用的测试/模拟框架&#xff0c;用于开发云应用程序。主要功能包括&#xff1a; 在本地机器上完全…

大厂秋招真题【DP】米哈游20230924秋招T2-米小游与魔法少女-奇运

米哈游20230924秋招T2-米小游与魔法少女-奇运 题目描述与示例 题目描述 米小游都快保底了还没抽到希儿&#xff0c;好生气哦&#xff01;只能打会活动再拿点水晶。 米小游和世界第一可爱的魔法少女 TeRiRi 正在打 BOSS&#xff0c;BOSS 的血量为h&#xff0c;当 BOSS 血量小…

Spring框架(中)

1、基于注解管理Bean&#xff1a; 1、开启组件扫描&#xff1a; Spring 默认不使用注解装配 Bean&#xff0c;因此我们需要在 Spring 的 XML 配置中&#xff0c;通过 context:component-scan 元素开启 Spring Beans的自动扫描功能。开启此功能后&#xff0c;Spring 会自动从扫…

transformer不同的包加载模型的结构不一样

AutoModel AutoModelForTokenClassification 结论&#xff1a; AutoModel加载的模型与AutoModelForTokenClassification最后一层是不一样的&#xff0c;从这个模型来看&#xff0c;AutoModelForTokenClassification加载的结果是对的 问题&#xff1a; 为什么AutoModel和Aut…