第一步處理
1.首先抓包
2.複製請求值的hex
3.打開010編輯器
4.創建hex file
5.ctrl +shift +c複製內容,並保持
6.protoc --decode_raw <存的文件路徑
1: 1
2: 1650001082017
3: 1998484019
4: 3820464515
5 {
1: "appV"
2: "60000"
}
第二步編輯proto文件
1.創建xxx.proto
2.更具上述內容編寫文件
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文件
#移動到xxx.proto所在目錄
protoc --python_out=./ xxx.proto
#prop.proto冒號後面那個點和文件名之間有個空格,忘記加空格了不會編譯通過,會報錯:Missing input file.
第三部編輯python文件
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)