抖音直播间弹幕rpc学习

目标url

随便找个直播间即可。
https://live.douyin.com/198986091107

接口分析

首先并没有在xhr下找到对应的接口
在这里插入图片描述
因为采用了websocket来传输信息。切换到ws即可看到
在这里插入图片描述
消息下,可以看到16进制的数据在源源不断地增加。
在这里插入图片描述

那么我们只要找到反序列化后的数据,再发送到本地的socket服务,就可以直接拿到弹幕消息了。

定位的过程

首先点击发起程序,跟进最近调用的js文件。
在这里插入图片描述
格式化后搜索new websocket,因为使用js来创建socket服务必须要实例化websocket类。如下
在这里插入图片描述
接着大概将断点断在5549行处,可以发现,马上就触发断点了
在这里插入图片描述
我们来看一下这个代码,this.client就是websocket的一个实例,当接收到message就会触发blind这个函数。接着跟进。
在这里插入图片描述
这里r变量接收了反序列化后的数据,然后看看r的去向
在这里插入图片描述
可以看到后面会走emit这个方法,接着有个调试的技巧就是在经过的函数或者return的地方下个断点。
在这里插入图片描述
其实这里的r也能做为代码注入的地方,但是为了省力,需要继续跟一下。
在这里插入图片描述
继续调试
可以看到再反序列一次,已经拿到我们想要的弹幕消息了
在这里插入图片描述

js注入,rpc主动调用

可以使用chrome自带的overrides进行注入,如果浏览器崩溃,然后刷新依然失效的话,可以用fidder等工具来进行注入。

下面是注入代码和python启动websocket的代码

//代码注入
window.data  = i.toString();
!function(){var res = window.data ;if (window.flag){window.ws.send(JSON.stringify(res));}else{var ws = new WebSocket("ws://127.0.0.1:9999");window.ws  = ws;window.flag  =true;ws.open = function(evt){};ws.onmessage = function(evt){ws.send(JSON.stringify(res));}}
}();
# !/usr/bin/env python
# -*- coding: utf-8 -*-# @author: yjp
# @software: PyCharm
# @file: main.py
# @time: 2022-08-08 16:49
import asyncio
# https://live.douyin.com/538509161829?cover_type=1&enter_from_merge=web_live&enter_method=web_card&game_name=%E7%BB%8F%E5%85%B8%E5%A4%A9%E9%BE%99%E5%85%AB%E9%83%A8&is_recommend=1&live_type=game&more_detail=all&request_id=20230101140342B8DB1AEE29D2135E5175&room_id=7183543025027648315&stream_type=horizontal&title_type=1&web_live_page=game_4627&web_live_tab=moreimport websockets
import jsonasync def check_permit(websocket):send_text = '114514'await websocket.send(send_text)return Trueasync def recv_msg(websocket):while 1:recv_text = await websocket.recv()try:print(recv_text)except:with open('其他.txt','w',encoding='utf-8') as f:f.write(recv_text)async def main_logic(websocket, path):await check_permit(websocket)await recv_msg(websocket)start_server = websockets.serve(main_logic, '127.0.0.1', 9999)
asyncio.get_event_loop().run_until_complete(start_server)
asyncio.get_event_loop().run_forever()

最终结果

在这里插入图片描述
在这里插入图片描述
这里由于gbk编码,print会出错,我把不能直接打印的文本存入了txt里
在这里插入图片描述

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

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

相关文章

今日头条、抖音推荐算法原理全文详解!

作 者 | 朵朵066 本次分享将主要介绍今日头条推荐系统概览以及内容分析、用户标签、评估分析,内容安全等原理。 一、系统概览 推荐系统,如果用形式化的方式去描述实际上是拟合一个用户对内容满意度的函数,这个函数需要输入三个维度的变量。 第…

抖音算法推荐机制详解!(科普向)

点击上方,选择星标或置顶,每天给你送干货! 文 | 金钱兽知乎 编 | 夕小瑶的卖萌屋 众所周知抖音的流量分配是去中心化的,这种去中心化算法,让每个人都有机会爆红,可为什么别人几个粉玩抖音,就能轻…

抖音八大推流机制是怎样的?鹰迪电子商务

​在抖音发作品,流量才是王道。后台会通过大数据计算,来给用户推送他可能会喜欢看的视频。这也是给创作者的视频推流。那都晕八大推流机制是怎样的?下面鹰迪电子商务小编就来讲一下。 抖音短视频总共有8大推流机制,它分为8个阶段去…

抖音推荐算法机制

先来看看上传抖音视频后整个检测和推荐周期的流程图 1、 抖音推荐机制是什么? 简单的讲,抖音算法是一套评判机制,这套机制对平台的所有用户都是有效的。我们在抖音平台的每一个动作指令,都可被评判为个人的性质然后为此打上标签…

头条资深架构师揭秘,今日头条、抖音的推荐算法原理

点击蓝色“架构文摘”关注我哟 加个“星标”,每天上午 09:25,干货推送! 一、系统概览 推荐系统,如果用形式化的方式去描述实际上是拟合一个用户对内容满意度的函数,这个函数需要输入三个维度的变量。 第一个维度是内容…

揭秘今日头条、抖音的推荐算法原理!

点击上方 "程序员小乐"关注, 星标或置顶一起成长 每天凌晨00点00分, 第一时间与你相约 每日英文 To live a beautiful life, one must be tolerant, without complaint or explanation. 要生活得漂亮,需要付出极大忍耐,一不抱怨&am…

抖音、快手、淘宝等都在用的算法——推荐算法

算法对于任何平台来说,是一套必不可少的评判机制,这套机制对于内容生产者和内容消费者同样有效。百度有百度的算法、微信有微信的算法、头条也头条的算法,算法是任何平台必不可少的机制,今天分享一下抖音的算法机制。 一、科普 …

干货:英语四级阅读理解技巧

首先看一下英语四级考试题型及分值,见下图: 由上图总结一下,英语四级阅读的各题型及分值为: ①选词填空占5%,共有10个小题,每小题3.55分。 ②长篇阅读占10%,共有10个小题,每小题…

管理类联考——英语二——技巧篇——阅读理解——taiqi

第一章 翻译技巧概述 一、词汇方面 (一)词义选择 大多数英语词汇是多义的,翻译时必须选择正确的词义。词义选择的方法有三:根据上下文和词的搭配选择根据词类选择、根据专业选择。 (二)词义转换 在理解英文词汇的原始意义基础…

TPO69 01|Why Snakes Have Forked Tongues|阅读真题精读|10:40-11:40+15:30-16:57

Why Snakes Have Forked Tongues 5/10 目录 Why Snakes Have Forked Tongues P1 P1生词 P1段落大意 无题目 P2 P2生词 P2段落大意 P2题目 【1】词汇题 secreteproduce ✅ 【2】事实信息题|考频高|难度高|定位错误​ P34​ P34生词 P34段落大意 P34题目 【3】词汇题 simultaneo…

管理类联考——英语——技巧篇——阅读理解

一、阅读理解A节选项的点 1.正确答案的五大特征 (1)“主题为王”原则:即正确答案通常与文章的中心思想、主旨大意有关。 (2)正确答案的特点:语言简化、反话正说、正话反说、关键词替换。 (3)正确答案要选相对的,不选绝对的。正确答案通常含有…

英语文本转语音软件哪个好?分享三个新手也能学会的工具

大家平时都是怎么学习英语的呢?课上老师让我们熟悉单词意思、巩固语法、多练阅读理解;其实通过练习听力来加强语感也很重要。很多小伙伴的阅读理解很好,但是听力却跟不上。这里教大家一个小技巧,就是在做阅读理解的时候&#xff0…

英语口语在线测试软件,4个最实用的英语口语练习软件

原标题:4个最实用的英语口语练习软件 在我大量试了很多英语口语练习软件之后,我发现有几个不错的英语口语软件适合大家使用。而且有的英语口语软件网上的推荐也比较少,大家可能对这些了解不多,所以亲测之后推荐给大家这些英语口语…

英语口语测试评分软件,最客观的英语口语APP亲身测评,这3款软件让你的口语脱颖而出...

原标题:最客观的英语口语APP亲身测评,这3款软件让你的口语脱颖而出 英语口语APP 现在市面上各类APP百花齐放,英语口语学习类APP也是不甘示弱,坐在家里、走在路上、坐公交车的时候,随时随地打开手机就可以练习口语。今…

英语语音技巧

塞音,不完全爆破,失去爆破,无声除阻 爆破音 /p, b, t, d, k, g/ 特点: 发音要经历三个阶段: 成阻--持阻--除阻 塞音需成阻音→无声除阻 不完全爆破不等于省音 连读 弱读 不需要弱读的情况 同化 & 异化 同化 1.逆行同化(前面音受…

Mac M1 百度网盘客户端无法打开,网络连接不上

网页 不知道是电脑升级后哪里配置改了,所有pan.开头的网盘地址在电脑上都无法正常打开对应的网页,每次都手动把pan改成yun,页面就能打开了。。 客户端 结果有一天需要下载大一点的问题,百度网盘网页版就会启动客户端&#xff0…

Mac电脑打开app,提示无法验证此App不包含恶意软件解决方法

Mac电脑打开app,提示无法验证此App不包含恶意软件解决方法 Mac啊嘁2021-06-10 09:15 关注 在mac系统中安装自己下载的软件,经常会提示“无法打开,因为apple无法检查其是否包含恶意软件”无法使用,下面我们就来学习一下怎么解决这…

应用程序“Parallels Desktop“无法打开MAC电脑打不开

最近系统自动更新,把我的MacBook Pro升级了!版本为macOS Monterey 12.0.1 升级Big Sur后的系统截图 安装时,在打开Parallels Desktop软件的时候提示我“应用程序Parallels Desktop无法打开”,真是气人! 试了网上几乎所…

MAC Sublime Text4 Preferences菜单无法打开

应该是安装了多语言的原因,首选项与Preferences功能是一样的。 如下图所示:首选项等同于Preferences 想要恢复Preferences可以把/Users/userName/Library/Application Support/Sublime Text /Packages/ZZZZZZZZ-Localization文件夹删除 这样Subline Tex…

程序xf—adsk20无法打开 mac M1芯片看这里

翻看很多文字也是一种显示:你是不是跟我一样 我想说一句如果你显示这个证明你可以把你MAC挂到咸鱼卖掉了,不多说什么了直接告诉你解决办法。 第一步:安装UPX https://download.s21i.faiusr.com/1475031/0/1/ABUIABAAGAAgsO66hgYo_q34gQY?f%E6%97%A0%E…