第一步处理
1.首先抓包
2.复制请求值的hex
3.打开010编辑器
4.创建hex file
5.ctrl shift c复制内容,并保持
6.protoc --decode_raw <存的文件路径
代码语言:javascript
复制1: 1
2: 1650001082017
3: 1998484019
4: 3820464515
5 {
1: "appV"
2: "60000"
}
第二步编辑proto文件
1.创建xxx.proto
2.更具上述内容编写文件
代码语言:javascript
复制syntax = "proto3";
message T{
int32 test_1 = 1;
int64 test_2 = 2;
int64 test_3 = 3;
int64 test_4 = 4;
repeated PersonInfo personinfo = 5;
}
message PersonInfo{
string key = 1;
string value = 2;
}
3.输出对应的py文件
代码语言:javascript
复制#移动到xxx.proto所在目录
protoc --python_out=./ xxx.proto
#prop.proto冒号后面那个点和文件名之间有个空格,忘记加空格了不会编译通过,会报错:Missing input file.
第三部编辑python文件
代码语言:javascript
复制import xxx
import base64
import gzip
import zlib
def create_t():
T = xxx.T()
T.test_1 = 1
T.test_2 = 1650001082017
T.test_3 = 1998484019
T.test_4 = 3820464515
personinfo =T.personinfo.add()
personinfo.key = 'A'
personinfo.value = 'B'
serializeToString = T.SerializeToString()
gzipbytes = gzip.compress(serializeToString)
base64_str1 = base64.b64encode(serializeToString)
return gzipbytes
if __name__ == '__main__':
#解析
with open("zeus_my","rb") as fr:
data =fr.read()
T = xxx.T()
T.ParseFromString(data)
print(T)