App protobuf协议简单分析

1,003 阅读1分钟

参考文档:

blog.csdn.net/yeyiqun/art…

解析protobuf

blog.csdn.net/lwanttowin/…

protoc解析工具下载地址

github.com/protocolbuf…

ProtobufViewer(Appstore)

protoc解析工具,支持16进制字符串,base64字符串等。。

1)首先dump shopee App的头文件,

2)然后打开头文件文件夹,搜索 “ : GPBMessage”

3)在第二步搜索结果中,搜索特定接口的 Message类,例如 register, login等等。

shopee数据包解析:

原始包:

<4a000000 0f0a0231 37120d38 36313339 32323439 38383638 18012202 4d594801 52204254 4f545053 65656454 79706552 65676973 7465725f 4569304d 356a704f 48775801 6894c101 80010188 0102>

9EE09BD4-D85A-44E8-AD0D-F9C14F032BDD.png 包分为两种情况:

1) cmd > 0xFF时,长度len(4字节包) + -1(1字节) + serviceIDOfExtension(1字节) + commandOfExtension(1字节)+ protobufData

2)cmd <= 0xFF时, 长度len(4字节包) + cmd(1字节)+ protobufData

即:

4a000000 Msg头部, 存储body长度,即: 4a000000(小端序) = 0x0000004a = 74

0f :cmd

示例

0a0231 37120d38 36313339 32323439 38383638 18012202 4d594801 52204254 4f545053 65656454 79706552 65676973 7465725f 4569304d 356a704f 48775801 6894c101 80010188 0102

真实protobuf数据,可以直接使用 ProtobufViewer 进行解析~~~~

ProtobufViewer解析结果如下:

A6D034C6-EA2D-4D43-8303-C0CC1A413D09.png