Esempio n. 1
0
        private byte[] Encrypt(byte[] data)
        {
            var isX7 = Name.EndsWith(".x7", StringComparison.InvariantCultureIgnoreCase);

            if (Name.EndsWith(".lua", StringComparison.InvariantCultureIgnoreCase) || isX7)
            {
                if (isX7)
                {
                    data = S4Crypto.EncryptX7(data);
                }
                data = S4Crypto.EncryptAES(data);
                S4Crypto.Encrypt(data);
            }

            Length = data.Length;

            S4Crypto.EncryptCapped(data);
            if (data.Length < 1048576)
            {
                data = miniLzo.Compress(data);
            }
            S4Crypto.SwapBytes(data);

            return(data);
        }
Esempio n. 2
0
        private byte[] Encrypt(byte[] data)
        {
            var cipher = S4Crypto.EncryptAES(data);

            S4Crypto.Encrypt(cipher);
            return(cipher);
        }
Esempio n. 3
0
        public static byte[] EncryptS4(byte[] data)
        {
            var realSize = data.Length;
            var buffer   = miniLzo.Compress(data);

            S4Crypto.Encrypt(buffer, 0, 0);

            using (var w = new BinaryWriter(new MemoryStream()))
            {
                w.Write(realSize);
                w.Write(buffer);
                return(w.ToArray());
            }
        }