使用的工具:
Charles、Protoc、Golang开始分析
依旧老套路,使用Charles进行直播间抓包
发现弹幕数据的传输方式默认使用的是websocket,所以我们在这里使用http得到初步未解码的protobuf数据
执行下方命令解码查看返回的数据:
> protoc --decode_raw < xxx.bin
分析之后得知数据结构并不复杂,大概包括
数据类型,比如评论为1
进入直播间为 2
详细数据
时间戳
…
打开vscode编辑器,开始编写相关的proto协议文件
这里使用的是proto3版本
编写完成,继续使用protoc
工具生成Golang的ProtoBuf序列反序列代码
> protoc --go_out=./ *.proto
golang
解码后,运行结果结构就非常清晰了
有任何问题可私信交流
本人纯粹技术爱好,若侵犯贵公司的权益,请告知