protected override void ParseBody() { Decrypt(_secretKey); VerifyType = reader.ReadByte(); reader.BEReadChar(); Status = reader.ReadByte(); reader.ReadBytes(4); user.QQ_PACKET_00BAVerifyToken = reader.ReadBytes(reader.BEReadChar()); VerifyCode = reader.ReadBytes(reader.BEReadChar()); VerifyCommand = reader.ReadByte(); if (VerifyCommand == 0x00) { VerifyCommand = reader.ReadByte(); } reader.ReadByte(); if (user.QQ_PACKET_00BAVerifyCode?.Length == 0 || user.QQ_PACKET_00BAVerifyCode == null) { user.QQ_PACKET_00BAVerifyCode = VerifyCode; } else { var resultArr = new byte[user.QQ_PACKET_00BAVerifyCode.Length + VerifyCode.Length]; user.QQ_PACKET_00BAVerifyCode.CopyTo(resultArr, 0); VerifyCode.CopyTo(resultArr, user.QQ_PACKET_00BAVerifyCode.Length); user.QQ_PACKET_00BAVerifyCode = resultArr; } user.QQ_PACKET_00BAToken = reader.ReadBytes(reader.BEReadChar()); reader.ReadBytes(reader.BEReadChar()); }
protected override void ParseBody(ByteBuffer byteBuffer) { //密文 byte[] CipherText = byteBuffer.ToByteArray(); //明文 bodyDecrypted = QQTea.Decrypt(CipherText, byteBuffer.Position, CipherText.Length - byteBuffer.Position - 1, _secretKey); //提取数据 ByteBuffer buf = new ByteBuffer(bodyDecrypted); VerifyType = buf.Get(); buf.GetChar(); Status = buf.Get(); buf.GetByteArray(4); user.QQ_PACKET_00BAVerifyToken = buf.GetByteArray(buf.GetChar()); VerifyCode = buf.GetByteArray(buf.GetChar()); VerifyCommand = buf.Get(); if (VerifyCommand == 0x00) { VerifyCommand = buf.Get(); } buf.Get(); if (user.QQ_PACKET_00BAVerifyCode?.Length == 0 || user.QQ_PACKET_00BAVerifyCode == null) { user.QQ_PACKET_00BAVerifyCode = VerifyCode; } else { byte[] resultArr = new byte[user.QQ_PACKET_00BAVerifyCode.Length + VerifyCode.Length]; user.QQ_PACKET_00BAVerifyCode.CopyTo(resultArr, 0); VerifyCode.CopyTo(resultArr, user.QQ_PACKET_00BAVerifyCode.Length); user.QQ_PACKET_00BAVerifyCode = resultArr; } user.QQ_PACKET_00BAToken = buf.GetByteArray(buf.GetChar()); buf.GetByteArray(buf.GetChar()); }
protected override void ParseBody() { Decrypt(SecretKey); VerifyType = Reader.ReadByte(); Reader.BeReadChar(); Status = Reader.ReadByte(); Reader.ReadBytes(4); User.TXProtocol.BufSigPic = Reader.ReadBytes(Reader.BeReadChar()); if (VerifyType == 0x13) { VerifyCode = Reader.ReadBytes(Reader.BeReadChar()); VerifyCommand = Reader.ReadByte(); if (VerifyCommand == 0x00) { VerifyCommand = Reader.ReadByte(); } else { Reader.ReadByte(); } if (User.QQPacket00BaVerifyCode?.Length == 0 || User.QQPacket00BaVerifyCode == null) { User.QQPacket00BaVerifyCode = VerifyCode; } else { var resultArr = new byte[User.QQPacket00BaVerifyCode.Length + VerifyCode.Length]; User.QQPacket00BaVerifyCode.CopyTo(resultArr, 0); VerifyCode.CopyTo(resultArr, User.QQPacket00BaVerifyCode.Length); User.QQPacket00BaVerifyCode = resultArr; } User.TXProtocol.PngToken = Reader.ReadBytes(Reader.BeReadChar()); Reader.ReadBytes(Reader.BeReadChar()); } }