-
-
[原创]某直播弹幕协议分析
-
发表于:
2021-5-3 23:52
11069
-
抓包工具抓不到任何相关信息可判断不是http类协议,应该是长连接。
通过jadx打开看到netty的包名,看似用了netty框架。
还有看到一部分protobuf包名,应该是用了protobuf协议。
先从netty的connect和消息decoder、encoder入手。
上图应该是connect函数。
看上两图的"I",是不是有相似,应该是Encoder了。
跟netty源码对比一看就是Decoder了。
先找一下decoder和encoder类的继承类及abstract函数的重写。
Decoder重写看似有个magic头。看看Encoder。
从这看消息体协议格式应该是[1]+f17327a+[0,0,0,0,0,0,0,0]+[a2,length]+[a2]
f17327a是magic头{26, 43, 60}。a2是真实的消息体了。a2是上面abstract函数过来的,要找b<T>的重写才能搞清楚真实消息体是什么。
a.i这个类继承了MessageNano,跳到MessageNano看看。
哈哈,是protobuf.nano。原来消息体是个protobuf格式的东西,那继续搞protobuf。先找到返回a.i类的函数,肯定有返回这类数据的函数。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
最后于 2021-5-3 23:54
被AyonA333编辑
,原因: