示例#1
0
        public static byte[] smethod_0(byte[] byte_0)
        {
            Class2.Stream0 stream = new Class2.Stream0(byte_0);
            byte[]         array  = new byte[0];
            int            num    = stream.method_1();

            if (num == 67324752)
            {
                short num2 = (short)stream.method_0();
                int   num3 = stream.method_0();
                int   num4 = stream.method_0();
                if (num == 67324752 && num2 == 20 && num3 == 0)
                {
                    if (num4 == 8)
                    {
                        stream.method_1();
                        stream.method_1();
                        stream.method_1();
                        int num5 = stream.method_1();
                        int num6 = stream.method_0();
                        int num7 = stream.method_0();
                        if (num6 > 0)
                        {
                            byte[] buffer = new byte[num6];
                            stream.Read(buffer, 0, num6);
                        }
                        if (num7 > 0)
                        {
                            byte[] buffer2 = new byte[num7];
                            stream.Read(buffer2, 0, num7);
                        }
                        byte[] array2 = new byte[stream.Length - stream.Position];
                        stream.Read(array2, 0, array2.Length);
                        Class2.Class3 @class = new Class2.Class3(array2);
                        array = new byte[num5];
                        @class.method_2(array, 0, array.Length);
                        goto IL_1FF;
                    }
                }
                throw new FormatException("Wrong Header Signature");
            }
            int num8 = num >> 24;

            num -= num8 << 24;
            if (num != 8223355)
            {
                throw new FormatException("Unknown Header");
            }
            if (num8 == 1)
            {
                int num9 = stream.method_1();
                array = new byte[num9];
                int num11;
                for (int i = 0; i < num9; i += num11)
                {
                    int num10 = stream.method_1();
                    num11 = stream.method_1();
                    byte[] array3 = new byte[num10];
                    stream.Read(array3, 0, array3.Length);
                    Class2.Class3 class2 = new Class2.Class3(array3);
                    class2.method_2(array, i, num11);
                }
            }
            if (num8 == 2)
            {
                DESCryptoServiceProvider dESCryptoServiceProvider = new DESCryptoServiceProvider();
                dESCryptoServiceProvider.Key = new byte[]
                {
                    162,
                    181,
                    141,
                    204,
                    197,
                    202,
                    205,
                    58
                };
                dESCryptoServiceProvider.IV = new byte[]
                {
                    83,
                    253,
                    177,
                    222,
                    83,
                    112,
                    167,
                    112
                };
                ICryptoTransform cryptoTransform = dESCryptoServiceProvider.CreateDecryptor();
                byte[]           byte_           = cryptoTransform.TransformFinalBlock(byte_0, 4, byte_0.Length - 4);
                dESCryptoServiceProvider.Clear();
                array = Class2.smethod_0(byte_);
            }
IL_1FF:
            stream.Close();
            return(array);
        }
示例#2
0
 public static byte[] smethod_0(byte[] byte_0)
 {
     Class2.Stream0 stream = new Class2.Stream0(byte_0);
     byte[] array = new byte[0];
     int num = stream.method_1();
     if (num == 67324752)
     {
         short num2 = (short)stream.method_0();
         int num3 = stream.method_0();
         int num4 = stream.method_0();
         if (num == 67324752 && num2 == 20 && num3 == 0)
         {
             if (num4 == 8)
             {
                 stream.method_1();
                 stream.method_1();
                 stream.method_1();
                 int num5 = stream.method_1();
                 int num6 = stream.method_0();
                 int num7 = stream.method_0();
                 if (num6 > 0)
                 {
                     byte[] buffer = new byte[num6];
                     stream.Read(buffer, 0, num6);
                 }
                 if (num7 > 0)
                 {
                     byte[] buffer2 = new byte[num7];
                     stream.Read(buffer2, 0, num7);
                 }
                 byte[] array2 = new byte[stream.Length - stream.Position];
                 stream.Read(array2, 0, array2.Length);
                 Class2.Class3 @class = new Class2.Class3(array2);
                 array = new byte[num5];
                 @class.method_2(array, 0, array.Length);
                 goto IL_1FF;
             }
         }
         throw new FormatException("Wrong Header Signature");
     }
     int num8 = num >> 24;
     num -= num8 << 24;
     if (num != 8223355)
     {
         throw new FormatException("Unknown Header");
     }
     if (num8 == 1)
     {
         int num9 = stream.method_1();
         array = new byte[num9];
         int num11;
         for (int i = 0; i < num9; i += num11)
         {
             int num10 = stream.method_1();
             num11 = stream.method_1();
             byte[] array3 = new byte[num10];
             stream.Read(array3, 0, array3.Length);
             Class2.Class3 class2 = new Class2.Class3(array3);
             class2.method_2(array, i, num11);
         }
     }
     if (num8 == 2)
     {
         DESCryptoServiceProvider dESCryptoServiceProvider = new DESCryptoServiceProvider();
         dESCryptoServiceProvider.Key = new byte[]
         {
             162,
             181,
             141,
             204,
             197,
             202,
             205,
             58
         };
         dESCryptoServiceProvider.IV = new byte[]
         {
             83,
             253,
             177,
             222,
             83,
             112,
             167,
             112
         };
         ICryptoTransform cryptoTransform = dESCryptoServiceProvider.CreateDecryptor();
         byte[] byte_ = cryptoTransform.TransformFinalBlock(byte_0, 4, byte_0.Length - 4);
         dESCryptoServiceProvider.Clear();
         array = Class2.smethod_0(byte_);
     }
     IL_1FF:
     stream.Close();
     return array;
 }