Exemple #1
0
        public NetPacket Decode(NetPacket packet)
        {
            int headerSize = packet.GetHeaderSize();
            int size       = packet.Size;

            byte[] data = packet.RawData;

            // tea
            CryptTea.DecryptSimple(data, headerSize, size - headerSize, _keys);

            // checksum
            byte checksum = GetChecksum(data, headerSize, size - headerSize);

            if (InitChecksumValue != checksum)
            {
                throw new Exception("not match packet checksum");
            }

            return(packet);
        }