wanxu 发表于 2023-5-12 10:50

分析某dy直播间的互动信息

看到上一次的某bo分析大家热度不是很高今天给大家带来一个某音直播间的直播数据的分析
今日使用Edge,误会了Edge以为替代JS没办法断点呢
调试器是一把杀猪刀
{:17_1068:}{:17_1068:}{:17_1068:}{:17_1068:}{:17_1068:}{:17_1068:}{:17_1068:}{:17_1068:}{:17_1068:}{:17_1068:}{:17_1068:}{:17_1068:}{:17_1068:}
好了正文开始,请各位食客准备好瓜子

今天我们只分析难度稍微高一点的互动信息他其它信息不过多赘述了

抓包以后我们每个包点开看一下,看到有这样一个包是一个Message
还是老办法,全局搜索WebcastRoomMessage

在这里每个Case处理了不同的消息,我们首先找到自己需要的互动消息

一个断点看到解密后的数据
那用上之前的方法,使用WebSocket将Json发送到我们的程序中
还是对着没有格式化的JS文件右键,保存以备替代(Chrome参考昨天)
打开我们替换好的JS文件
切换到这个Case位置
我们需要对这个Case进行简单的处理一下,它本身是直接return了
我们将源代码替换为

这一步看过我昨天文章的一定很熟悉了,直接附上JS代码(代码将就能用,各位大佬勿喷)
let Ldy = l ? h.createElement(l, {
    message: e,
    activity: o
}) : h.createElement(P, {
    user: e.payload.user,
    content: e.payload.content
});
window.DataLx = Ldy.props;
!function() {
    let res = window.DataLx;
    if (window.flagLx) {
      window.wsLx.send(JSON.stringify(res));
    } else {
      var ws = new WebSocket("ws://127.0.0.1:9998");
      window.flagLx = true;
      window.wsLx = ws;
      ws.open = function(evt) {}
      ;
      ws.onmessage = function(evt) {
            ws.send(JSON.stringify(res));
      }
    }
}();
return Ldy;


接着就是昨天的创建一个服务端接受数据即可,需要的参考我昨天的文章吧!
欢迎一键三连,给我更新的动力,有问题可以留言,看到会回复!


坚持梦想 发表于 2023-5-12 11:09

6的很,我之前也这样处理过,不过麻烦,现在使用wss连接弹幕服务器,使用protojs解码就可以了

law.liu 发表于 2023-5-12 15:16

以下是对代码进行修改:let l = 'div'; // 修复变量 l 的定义
let h = document; // 修复变量 h 的定义

let Ldy = l ? h.createElement(l, {
    message: e,
    activity: o
}) : h.createElement('P', {
    user: e.payload.user,
    content: e.payload.content
});

window.DataLx = Ldy.props;

(function() {
    let res = window.DataLx;
    if (window.flagLx) {
      window.wsLx.send(JSON.stringify(res));
    } else {
      var ws = new WebSocket("ws://127.0.0.1:9998");
      window.flagLx = true;
      window.wsLx = ws;
      ws.onopen = function(evt) {}; // 修复 WebSocket 的 onopen 事件处理函数
      ws.onmessage = function(evt) {
            ws.send(JSON.stringify(res));
      };
    }
})();

return Ldy;


代码做了以下修改:

添加了变量 l 和 h 的定义。
修复了 createElement 函数的使用,确保正确创建元素。
修复了变量 P 的定义。
修复了变量 e 和 o 的定义。
添加了 onopen 事件处理函数,确保 WebSocket 的连接正确建立。

wanxu 发表于 2023-5-12 11:23

坚持梦想 发表于 2023-5-12 11:09
6的很,我之前也这样处理过,不过麻烦,现在使用wss连接弹幕服务器,使用protojs解码就可以了

大佬有时间发个参考学习一下吧{:301_974:}

坚持梦想 发表于 2023-5-12 11:29

https://github.com/jiansenc/tiktok_barrage_nodejs你看一下这个吧,思路和你的一样

等到烟火也清凉 发表于 2023-5-12 11:34

一键三连 加油{:1_921:}

sanshenghepan 发表于 2023-5-12 11:50

这个可以有

Yxl320628 发表于 2023-5-12 12:43

得到的是什么效果,哪个大哥发个图显示看看

aaaaaazai 发表于 2023-5-12 12:43

好厉害,学习了

yuge0219 发表于 2023-5-12 13:30

感谢分享。

kez 发表于 2023-5-12 13:43

感谢楼主分享,学习了
页: [1] 2 3 4 5 6
查看完整版本: 分析某dy直播间的互动信息