连信的protobuf数据格式
“ 连信里用到的protobuf结构。”
message authwithtoken //长连接第一个包 01 01
{
optional string Mid = 1;
optional string Uid = 2;
optional string Token = 3;
optional string Resource = 5;
optional int32 Version = 6;
optional int32 Apns = 7;
optional string Domain = 8;
optional string DeviceId = 9;
optional string LogonSessionId = 10;
optional string Locale = 11;
}
message authwithtokenack //长连接第一个包的响应 02 00
{
optional string Mid = 1;
optional string U1 = 2;
optional string U2 = 4;
optional int32 U3 = 5;
}
message shorthead //taichi kepler dcmdaa头部数据
{
optional string style = 1;
optional string DeviceIdorunkstr = 2;
optional string h = 3;
optional string a = 4;
optional string Versionorvn = 5;//Version
optional string channel = 6;
optional string lang = 7;
optional string idfv = 8;
optional int32 unk1 = 10;
}
message tachiencunkinfo//taichi 加密数据部分服务器回应的未知protobuf
{
optional string lxxx = 1;//类似LX-15227
optional int32 unk2 = 2; //1
optional int32 unk3 = 3; //2
optional string unk4 = 4;//A
}
message tachiencunk //taichi 加密数据部分的未知protobuf
{
optional int32 unk1 = 1; //2f 3f 73等
optional int32 unk2 = 2; //648或没有
optional int32 unk3 = 5;//ack中 7
repeated tachiencunkinfo info = 6; //一个结构体,多个或没有
}
message tkdencdata1//taichi kepler dcmdaa 加密数据部分的未知protobuf 1以及 dcmdaa 加密数据部分 protobuf 2的里面的protobuf里面的protobuf
{
optional string aid = 1;//aid
optional string devicejsonstr = 2; //device信息串
optional string unkstr3 = 3; //00500201
optional string lang = 4;//cn
optional string style = 5;//TD0493
optional string idfa = 6;//
optional string vc = 7;//3.5.26 vname1
optional string channel = 8;//appstore
optional string channela = 9;//appstore
optional string idfv = 10;//
optional string vnorvc = 11;//3.5.26.1 3.5.26 vname
optional string wifiname = 12;//Not Found
optional string unk1 = 14;//w
optional string tm = 15; //1586420724786
optional string maker = 16; //apple
optional string phonename=17;//iPhone 5s
optional string verjson=18;//版本信息json
}
message keplerencunkinfo//kepler 加密数据部分服务器回应的未知protobuf
{
optional string unk1 = 1;//类似1
optional string unk2 = 2; //$active
optional string unk3 = 3; //1
optional string unk4 = 4;//0
optional string unk5 = 5;//5
}
message keplerencdata2 //kepler 加密数据部分的未知protobuf 2 及服务器回应
{
optional string unk1 = 1; //未知
repeated keplerencunkinfo unk2 = 2; //一个结构体,多个或没有
optional string unk3 = 3; //未知
}
message dcmdaasysinfopb//dcmdaa 加密数据部分 protobuf 2的里面的protobuf
{
optional string autinfo = 1;//类似$auto_page_s
optional tkdencdata1 deviceinfo = 2; //一个protobuf,和外面的protobuf格式一致
optional string runinfo = 3; //运行时的信息 cts seq等
optional string unk4 = 4;//空的
optional int32 unk6 = 6;//1
}
message dcmdaaencdata2 //dcmdaa 加密数据部分的protobuf 2
{
repeated dcmdaasysinfopb sysinfo = 1; //一些设备信息等
optional int32 unk2 = 2; //未知
}
message dcmdaaackdata //dcmdaa 加密数据服务器回应
{
optional string unk1 = 1; //未知
}
message alive //保活 00 01
{
optional string Mid = 1;
}
message encmessage //所有加密消息,统一处理 加密11 01
{
optional string Mid = 1;
optional string From = 2;
optional string To = 3;
optional int32 Type = 4; //打招呼10,消息的响应5,rdcmd 42,文本消息1
optional string msg = 5;//消息内容
optional int32 u2 = 6;
optional int32 u3= 7;
optional string Extension= 11;//描述
optional int32 ExType= 12;
optional string u4= 13;
optional int32 u5= 14;
optional int32 SubType= 16;
}