Пример #1
0
 internal static byte[] smethod_3(long long_0, Stream stream_0)
 {
     try
     {
         return(Class5.smethod_2(stream_0));
     }
     catch (HostProtectionException ex)
     {
         return(Class5.smethod_4(97L, stream_0));
     }
 }
Пример #2
0
        public static bool smethod_2(ref NotifyIconData notifyIconData_0, NotifyCommand notifyCommand_0, IconDataMembers iconDataMembers_0)
        {
            if (Boolean_0)
            {
                return(true);
            }
            notifyIconData_0.ValidMembers = iconDataMembers_0;
            object obj2 = object_0;

            lock (obj2)
            {
                return(Class5.Shell_NotifyIcon(notifyCommand_0, ref notifyIconData_0));
            }
        }
Пример #3
0
 static Class5()
 {
     Class5.class5_0 = new Class5();
 }
Пример #4
0
        internal static byte[] smethod_4(long long_0, Stream stream_0)
        {
            Stream       stream       = stream_0;
            MemoryStream memoryStream = (MemoryStream)null;

            for (int index = 1; index < 4; ++index)
            {
                stream_0.ReadByte();
            }
            ushort num1 = ~(ushort)stream_0.ReadByte();

            if (((int)num1 & 2) != 0)
            {
                DESCryptoServiceProvider cryptoServiceProvider = new DESCryptoServiceProvider();
                byte[] buffer1 = new byte[8];
                stream_0.Read(buffer1, 0, 8);
                cryptoServiceProvider.IV = buffer1;
                byte[] buffer2 = new byte[8];
                stream_0.Read(buffer2, 0, 8);
                bool flag = true;
                foreach (byte num2 in buffer2)
                {
                    if (num2 != (byte)0)
                    {
                        flag = false;
                        break;
                    }
                }
                if (flag)
                {
                    buffer2 = Class5.smethod_1(Assembly.GetExecutingAssembly());
                }
                cryptoServiceProvider.Key = buffer2;
                if (Class5.memoryStream_0 == null)
                {
                    Class5.memoryStream_0.Capacity = Class5.int_0 != int.MaxValue ? Class5.int_0 : (int)stream_0.Length;
                }
                Class5.memoryStream_0.Position = 0L;
                ICryptoTransform decryptor = cryptoServiceProvider.CreateDecryptor();
                int    inputBlockSize      = decryptor.InputBlockSize;
                int    outputBlockSize     = decryptor.OutputBlockSize;
                byte[] numArray1           = new byte[decryptor.OutputBlockSize];
                byte[] numArray2           = new byte[decryptor.InputBlockSize];
                int    position            = (int)stream_0.Position;
                while ((long)(position + inputBlockSize) < stream_0.Length)
                {
                    stream_0.Read(numArray2, 0, inputBlockSize);
                    int count = decryptor.TransformBlock(numArray2, 0, inputBlockSize, numArray1, 0);
                    Class5.memoryStream_0.Write(numArray1, 0, count);
                    position += inputBlockSize;
                }
                stream_0.Read(numArray2, 0, (int)(stream_0.Length - (long)position));
                byte[] buffer3 = decryptor.TransformFinalBlock(numArray2, 0, (int)(stream_0.Length - (long)position));
                Class5.memoryStream_0.Write(buffer3, 0, buffer3.Length);
                stream          = (Stream)Class5.memoryStream_0;
                stream.Position = 0L;
                memoryStream    = Class5.memoryStream_0;
            }
            if (((int)num1 & 8) != 0)
            {
                if (Class5.memoryStream_1 == null)
                {
                    Class5.memoryStream_1.Capacity = Class5.int_1 != int.MinValue ? Class5.int_1 : (int)stream.Length * 2;
                }
                Class5.memoryStream_1.Position = 0L;
                DeflateStream deflateStream = new DeflateStream(stream, CompressionMode.Decompress);
                int           count1        = 1000;
                byte[]        buffer        = new byte[1000];
                int           count2;
                do
                {
                    count2 = deflateStream.Read(buffer, 0, count1);
                    if (count2 > 0)
                    {
                        goto label_22;
                    }
label_21:
                    continue;
label_22:
                    Class5.memoryStream_1.Write(buffer, 0, count2);
                    goto label_21;
                }while (count2 >= count1);
                memoryStream = Class5.memoryStream_1;
            }
            if (memoryStream != null)
            {
                return(memoryStream.ToArray());
            }
            byte[] buffer4 = new byte[stream_0.Length - stream_0.Position];
            stream_0.Read(buffer4, 0, buffer4.Length);
            return(buffer4);
        }
Пример #5
0
 internal static byte[] smethod_2(Stream stream_0)
 {
     lock (Class5.object_0)
         return(Class5.smethod_4(97L, stream_0));
 }
Пример #6
0
		static Class5()
		{
			Class5.class5_0 = new Class5();
		}