Beispiel #1
0
 // Token: 0x0600054F RID: 1359 RVA: 0x000050B5 File Offset: 0x000032B5
 internal static byte[] smethod_9(byte[] byte_4)
 {
     if (!Class18.smethod_6())
     {
         return(new MD5CryptoServiceProvider().ComputeHash(byte_4));
     }
     return(Class18.smethod_0(byte_4));
 }
Beispiel #2
0
 // Token: 0x0600054C RID: 1356 RVA: 0x0000509C File Offset: 0x0000329C
 internal static bool smethod_6()
 {
     if (!Class18.bool_1)
     {
         Class18.smethod_8();
         Class18.bool_1 = true;
     }
     return(Class18.bool_6);
 }
Beispiel #3
0
            internal static string smethod_0(string string_0, string string_1)
            {
                byte[] bytes = Encoding.Unicode.GetBytes(string_0);
                byte[] array = bytes;
                byte[] key   = new byte[]
                {
                    82,
                    102,
                    104,
                    110,
                    32,
                    77,
                    24,
                    34,
                    118,
                    181,
                    51,
                    17,
                    18,
                    51,
                    12,
                    109,
                    10,
                    32,
                    77,
                    24,
                    34,
                    158,
                    161,
                    41,
                    97,
                    28,
                    118,
                    181,
                    5,
                    25,
                    1,
                    88
                };
                byte[]             iv                 = Class18.smethod_9(Encoding.Unicode.GetBytes(string_1));
                MemoryStream       memoryStream       = new MemoryStream();
                SymmetricAlgorithm symmetricAlgorithm = Class18.smethod_7();

                symmetricAlgorithm.Key = key;
                symmetricAlgorithm.IV  = iv;
                CryptoStream cryptoStream = new CryptoStream(memoryStream, symmetricAlgorithm.CreateEncryptor(), CryptoStreamMode.Write);

                cryptoStream.Write(array, 0, array.Length);
                cryptoStream.Close();
                return(Convert.ToBase64String(memoryStream.ToArray()));
            }
Beispiel #4
0
        // Token: 0x0600054D RID: 1357 RVA: 0x0002CE8C File Offset: 0x0002B08C
        internal static SymmetricAlgorithm smethod_7()
        {
            SymmetricAlgorithm result = null;

            if (Class18.smethod_6())
            {
                result = new AesCryptoServiceProvider();
            }
            else
            {
                try
                {
                    result = new RijndaelManaged();
                }
                catch
                {
                    result = (SymmetricAlgorithm)Activator.CreateInstance("System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", "System.Security.Cryptography.AesCryptoServiceProvider").Unwrap();
                }
            }
            return(result);
        }
Beispiel #5
0
        private static byte[] smethod_17(byte[] byte_4)
        {
            MemoryStream       memoryStream       = new MemoryStream();
            SymmetricAlgorithm symmetricAlgorithm = Class18.smethod_7();

            symmetricAlgorithm.Key = new byte[]
            {
                210,
                196,
                97,
                252,
                145,
                129,
                227,
                169,
                172,
                252,
                43,
                253,
                149,
                224,
                69,
                161,
                72,
                106,
                10,
                51,
                150,
                6,
                14,
                50,
                89,
                31,
                136,
                16,
                140,
                40,
                95,
                160
            };
            symmetricAlgorithm.IV = new byte[]
            {
                237,
                242,
                160,
                42,
                144,
                73,
                30,
                234,
                158,
                35,
                11,
                20,
                74,
                32,
                183,
                182
            };
            CryptoStream cryptoStream = new CryptoStream(memoryStream, symmetricAlgorithm.CreateDecryptor(), CryptoStreamMode.Write);

            cryptoStream.Write(byte_4, 0, byte_4.Length);
            cryptoStream.Close();
            return(memoryStream.ToArray());
        }
Beispiel #6
0
        internal static string smethod_11(int int_5)
        {
            if (Class18.byte_1.Length == 0)
            {
                BinaryReader binaryReader = new BinaryReader(Class18.assembly_0.GetManifestResourceStream("System.Proxy"));
                binaryReader.BaseStream.Position = 0L;
                byte[] array = binaryReader.ReadBytes((int)binaryReader.BaseStream.Length);
                binaryReader.Close();
                byte[] array2 = new byte[32];
                array2[0]  = 102;
                array2[0]  = 97;
                array2[0]  = 212;
                array2[1]  = 134;
                array2[1]  = 89;
                array2[1]  = 57;
                array2[2]  = 123;
                array2[2]  = 143;
                array2[2]  = 172;
                array2[2]  = 150;
                array2[2]  = 122;
                array2[3]  = 180;
                array2[3]  = 164;
                array2[3]  = 248;
                array2[4]  = 130;
                array2[4]  = 66;
                array2[4]  = 167;
                array2[4]  = 80;
                array2[5]  = 36;
                array2[5]  = 95;
                array2[5]  = 182;
                array2[6]  = 126;
                array2[6]  = 151;
                array2[6]  = 148;
                array2[6]  = 238;
                array2[7]  = 144;
                array2[7]  = 142;
                array2[7]  = 99;
                array2[7]  = 148;
                array2[7]  = 133;
                array2[7]  = 148;
                array2[8]  = 90;
                array2[8]  = 104;
                array2[8]  = 152;
                array2[8]  = 1;
                array2[9]  = 128;
                array2[9]  = 234;
                array2[9]  = 132;
                array2[9]  = 125;
                array2[9]  = 110;
                array2[9]  = 168;
                array2[10] = 142;
                array2[10] = 134;
                array2[10] = 53;
                array2[10] = 82;
                array2[11] = 87;
                array2[11] = 52;
                array2[11] = 133;
                array2[11] = 216;
                array2[12] = 111;
                array2[12] = 108;
                array2[12] = 84;
                array2[12] = 152;
                array2[12] = 91;
                array2[12] = 24;
                array2[13] = 179;
                array2[13] = 109;
                array2[13] = 155;
                array2[13] = 111;
                array2[14] = 31;
                array2[14] = 94;
                array2[14] = 124;
                array2[15] = 114;
                array2[15] = 136;
                array2[15] = 143;
                array2[15] = 96;
                array2[15] = 89;
                array2[15] = 67;
                array2[16] = 138;
                array2[16] = 200;
                array2[16] = 110;
                array2[16] = 78;
                array2[16] = 13;
                array2[17] = 94;
                array2[17] = 174;
                array2[17] = 118;
                array2[17] = 140;
                array2[18] = 121;
                array2[18] = 150;
                array2[18] = 128;
                array2[18] = 164;
                array2[18] = 136;
                array2[18] = 32;
                array2[19] = 156;
                array2[19] = 132;
                array2[19] = 109;
                array2[19] = 201;
                array2[20] = 98;
                array2[20] = 173;
                array2[20] = 91;
                array2[20] = 164;
                array2[20] = 98;
                array2[21] = 136;
                array2[21] = 136;
                array2[21] = 232;
                array2[21] = 93;
                array2[21] = 11;
                array2[22] = 130;
                array2[22] = 17;
                array2[22] = 98;
                array2[22] = 98;
                array2[23] = 150;
                array2[23] = 152;
                array2[23] = 112;
                array2[23] = 84;
                array2[23] = 63;
                array2[23] = 127;
                array2[24] = 140;
                array2[24] = 90;
                array2[24] = 227;
                array2[24] = 50;
                array2[25] = 170;
                array2[25] = 143;
                array2[25] = 161;
                array2[26] = 118;
                array2[26] = 149;
                array2[26] = 131;
                array2[26] = 125;
                array2[26] = 147;
                array2[27] = 40;
                array2[27] = 73;
                array2[27] = 89;
                array2[27] = 162;
                array2[27] = 232;
                array2[28] = 24;
                array2[28] = 98;
                array2[28] = 122;
                array2[28] = 155;
                array2[28] = 74;
                array2[29] = 124;
                array2[29] = 96;
                array2[29] = 163;
                array2[29] = 91;
                array2[29] = 105;
                array2[29] = 220;
                array2[30] = 151;
                array2[30] = 117;
                array2[30] = 190;
                array2[30] = 166;
                array2[30] = 205;
                array2[31] = 148;
                array2[31] = 97;
                array2[31] = 63;
                array2[31] = 81;
                array2[31] = 132;
                array2[31] = 181;
                byte[] array3 = array2;
                byte[] array4 = new byte[16];
                array4[0]  = 142;
                array4[0]  = 88;
                array4[0]  = 176;
                array4[0]  = 10;
                array4[1]  = 92;
                array4[1]  = 123;
                array4[1]  = 162;
                array4[1]  = 134;
                array4[1]  = 128;
                array4[1]  = 239;
                array4[2]  = 161;
                array4[2]  = 180;
                array4[2]  = 32;
                array4[3]  = 228;
                array4[3]  = 181;
                array4[3]  = 108;
                array4[3]  = 142;
                array4[3]  = 105;
                array4[4]  = 140;
                array4[4]  = 22;
                array4[4]  = 126;
                array4[4]  = 228;
                array4[5]  = 152;
                array4[5]  = 111;
                array4[5]  = 45;
                array4[6]  = 93;
                array4[6]  = 99;
                array4[6]  = 152;
                array4[6]  = 148;
                array4[6]  = 133;
                array4[6]  = 46;
                array4[7]  = 33;
                array4[7]  = 175;
                array4[7]  = 116;
                array4[7]  = 120;
                array4[7]  = 125;
                array4[7]  = 149;
                array4[8]  = 128;
                array4[8]  = 125;
                array4[8]  = 110;
                array4[8]  = 179;
                array4[9]  = 109;
                array4[9]  = 43;
                array4[9]  = 81;
                array4[9]  = 143;
                array4[9]  = 169;
                array4[10] = 118;
                array4[10] = 48;
                array4[10] = 182;
                array4[10] = 143;
                array4[10] = 86;
                array4[10] = 20;
                array4[11] = 143;
                array4[11] = 80;
                array4[11] = 132;
                array4[11] = 173;
                array4[12] = 96;
                array4[12] = 46;
                array4[12] = 108;
                array4[13] = 31;
                array4[13] = 143;
                array4[13] = 206;
                array4[14] = 91;
                array4[14] = 159;
                array4[14] = 144;
                array4[14] = 20;
                array4[15] = 89;
                array4[15] = 128;
                array4[15] = 162;
                array4[15] = 131;
                array4[15] = 248;
                byte[] array5 = array4;
                Array.Reverse(array5);
                byte[] publicKeyToken = Class18.assembly_0.GetName().GetPublicKeyToken();
                if (publicKeyToken != null && publicKeyToken.Length > 0)
                {
                    array5[1]  = publicKeyToken[0];
                    array5[3]  = publicKeyToken[1];
                    array5[5]  = publicKeyToken[2];
                    array5[7]  = publicKeyToken[3];
                    array5[9]  = publicKeyToken[4];
                    array5[11] = publicKeyToken[5];
                    array5[13] = publicKeyToken[6];
                    array5[15] = publicKeyToken[7];
                }
                for (int i = 0; i < array5.Length; i++)
                {
                    array3[i] ^= array5[i];
                }
                if (int_5 == -1)
                {
                    SymmetricAlgorithm symmetricAlgorithm = Class18.smethod_7();
                    symmetricAlgorithm.Mode = CipherMode.CBC;
                    ICryptoTransform transform    = symmetricAlgorithm.CreateDecryptor(array3, array5);
                    MemoryStream     memoryStream = new MemoryStream();
                    CryptoStream     cryptoStream = new CryptoStream(memoryStream, transform, CryptoStreamMode.Write);
                    cryptoStream.Write(array, 0, array.Length);
                    cryptoStream.FlushFinalBlock();
                    Class18.byte_1 = memoryStream.ToArray();
                    memoryStream.Close();
                    cryptoStream.Close();
                    array = Class18.byte_1;
                }
                int    num    = array.Length % 4;
                int    num2   = array.Length / 4;
                byte[] array6 = new byte[array.Length];
                int    num3   = array3.Length / 4;
                uint   num4   = 0U;
                if (num > 0)
                {
                    num2++;
                }
                for (int j = 0; j < num2; j++)
                {
                    int  num5  = j % num3;
                    int  num6  = j * 4;
                    uint num7  = (uint)(num5 * 4);
                    uint num8  = (uint)((int)array3[(int)((UIntPtr)(num7 + 3U))] << 24 | (int)array3[(int)((UIntPtr)(num7 + 2U))] << 16 | (int)array3[(int)((UIntPtr)(num7 + 1U))] << 8 | (int)array3[(int)((UIntPtr)num7)]);
                    uint num9  = 255U;
                    int  num10 = 0;
                    uint num11;
                    if (j == num2 - 1 && num > 0)
                    {
                        num11 = 0U;
                        num4 += num8;
                        for (int k = 0; k < num; k++)
                        {
                            if (k > 0)
                            {
                                num11 <<= 8;
                            }
                            num11 |= (uint)array[array.Length - (1 + k)];
                        }
                    }
                    else
                    {
                        num4 += num8;
                        num7  = (uint)num6;
                        num11 = (uint)((int)array[(int)((UIntPtr)(num7 + 3U))] << 24 | (int)array[(int)((UIntPtr)(num7 + 2U))] << 16 | (int)array[(int)((UIntPtr)(num7 + 1U))] << 8 | (int)array[(int)((UIntPtr)num7)]);
                    }
                    uint num12 = num4;
                    uint num13 = num12;
                    uint num14 = num12;
                    num14 ^= num14 >> 2;
                    num14 += 3001545299U;
                    num14 ^= num14 << 9;
                    num14 += 1968981981U;
                    num14 ^= num14 >> 15;
                    num14 += 2780929904U;
                    num14  = 3991453694U - num14;
                    num12  = num13 + (uint)num14;
                    num4   = num12;
                    if (j == num2 - 1 && num > 0)
                    {
                        uint num15 = num4 ^ num11;
                        for (int l = 0; l < num; l++)
                        {
                            if (l > 0)
                            {
                                num9 <<= 8;
                                num10 += 8;
                            }
                            array6[num6 + l] = (byte)((num15 & num9) >> num10);
                        }
                    }
                    else
                    {
                        uint num16 = num4 ^ num11;
                        array6[num6]     = (byte)(num16 & 255U);
                        array6[num6 + 1] = (byte)((num16 & 65280U) >> 8);
                        array6[num6 + 2] = (byte)((num16 & 16711680U) >> 16);
                        array6[num6 + 3] = (byte)((num16 & 4278190080U) >> 24);
                    }
                }
                Class18.byte_1 = array6;
            }
            int count = BitConverter.ToInt32(Class18.byte_1, int_5);

            try
            {
                return(Encoding.Unicode.GetString(Class18.byte_1, int_5 + 4, count));
            }
            catch
            {
            }
            return("");
        }
Beispiel #7
0
 // Token: 0x0600054A RID: 1354 RVA: 0x00005061 File Offset: 0x00003261
 private static void smethod_4(ref uint uint_1, uint uint_2, uint uint_3, uint uint_4, uint uint_5, ushort ushort_0, uint uint_6, object object_2)
 {
     uint_1 = uint_2 + Class18.smethod_5(uint_1 + (uint_3 ^ (uint_2 | ~uint_4)) + object_2[(int)((UIntPtr)uint_5)] + Class18.uint_0[(int)((UIntPtr)(uint_6 - 1U))], ushort_0);
 }
Beispiel #8
0
        // Token: 0x06000546 RID: 1350 RVA: 0x0002C7E4 File Offset: 0x0002A9E4
        internal static byte[] smethod_0(object object_2)
        {
            uint[] array = new uint[16];
            int    num   = 448 - object_2.Length * 8 % 512;
            uint   num2  = (uint)((num + 512) % 512);

            if (num2 == 0U)
            {
                num2 = 512U;
            }
            uint  num3 = (uint)((long)object_2.Length + (long)((ulong)(num2 / 8U)) + 8L);
            ulong num4 = (ulong)((long)object_2.Length * 8L);

            byte[] array2 = new byte[num3];
            for (int i = 0; i < object_2.Length; i++)
            {
                array2[i] = object_2[i];
            }
            byte[] array3 = array2;
            int    num5   = object_2.Length;

            array3[num5] |= 128;
            for (int j = 8; j > 0; j--)
            {
                array2[(int)(checked ((IntPtr)(unchecked ((ulong)num3 - (ulong)((long)j)))))] = (byte)(num4 >> (8 - j) * 8 & 255UL);
            }
            uint num6  = (uint)(array2.Length * 8 / 32);
            uint num7  = 1732584193U;
            uint num8  = 4023233417U;
            uint num9  = 2562383102U;
            uint num10 = 271733878U;

            for (uint num11 = 0U; num11 < num6 / 16U; num11 += 1U)
            {
                uint num12 = num11 << 6;
                for (uint num13 = 0U; num13 < 61U; num13 += 4U)
                {
                    array[(int)((UIntPtr)(num13 >> 2))] = (uint)((int)array2[(int)((UIntPtr)(num12 + (num13 + 3U)))] << 24 | (int)array2[(int)((UIntPtr)(num12 + (num13 + 2U)))] << 16 | (int)array2[(int)((UIntPtr)(num12 + (num13 + 1U)))] << 8 | (int)array2[(int)((UIntPtr)(num12 + num13))]);
                }
                uint num14 = num7;
                uint num15 = num8;
                uint num16 = num9;
                uint num17 = num10;
                Class18.smethod_1(ref num7, num8, num9, num10, 0U, 7, 1U, array);
                Class18.smethod_1(ref num10, num7, num8, num9, 1U, 12, 2U, array);
                Class18.smethod_1(ref num9, num10, num7, num8, 2U, 17, 3U, array);
                Class18.smethod_1(ref num8, num9, num10, num7, 3U, 22, 4U, array);
                Class18.smethod_1(ref num7, num8, num9, num10, 4U, 7, 5U, array);
                Class18.smethod_1(ref num10, num7, num8, num9, 5U, 12, 6U, array);
                Class18.smethod_1(ref num9, num10, num7, num8, 6U, 17, 7U, array);
                Class18.smethod_1(ref num8, num9, num10, num7, 7U, 22, 8U, array);
                Class18.smethod_1(ref num7, num8, num9, num10, 8U, 7, 9U, array);
                Class18.smethod_1(ref num10, num7, num8, num9, 9U, 12, 10U, array);
                Class18.smethod_1(ref num9, num10, num7, num8, 10U, 17, 11U, array);
                Class18.smethod_1(ref num8, num9, num10, num7, 11U, 22, 12U, array);
                Class18.smethod_1(ref num7, num8, num9, num10, 12U, 7, 13U, array);
                Class18.smethod_1(ref num10, num7, num8, num9, 13U, 12, 14U, array);
                Class18.smethod_1(ref num9, num10, num7, num8, 14U, 17, 15U, array);
                Class18.smethod_1(ref num8, num9, num10, num7, 15U, 22, 16U, array);
                Class18.smethod_2(ref num7, num8, num9, num10, 1U, 5, 17U, array);
                Class18.smethod_2(ref num10, num7, num8, num9, 6U, 9, 18U, array);
                Class18.smethod_2(ref num9, num10, num7, num8, 11U, 14, 19U, array);
                Class18.smethod_2(ref num8, num9, num10, num7, 0U, 20, 20U, array);
                Class18.smethod_2(ref num7, num8, num9, num10, 5U, 5, 21U, array);
                Class18.smethod_2(ref num10, num7, num8, num9, 10U, 9, 22U, array);
                Class18.smethod_2(ref num9, num10, num7, num8, 15U, 14, 23U, array);
                Class18.smethod_2(ref num8, num9, num10, num7, 4U, 20, 24U, array);
                Class18.smethod_2(ref num7, num8, num9, num10, 9U, 5, 25U, array);
                Class18.smethod_2(ref num10, num7, num8, num9, 14U, 9, 26U, array);
                Class18.smethod_2(ref num9, num10, num7, num8, 3U, 14, 27U, array);
                Class18.smethod_2(ref num8, num9, num10, num7, 8U, 20, 28U, array);
                Class18.smethod_2(ref num7, num8, num9, num10, 13U, 5, 29U, array);
                Class18.smethod_2(ref num10, num7, num8, num9, 2U, 9, 30U, array);
                Class18.smethod_2(ref num9, num10, num7, num8, 7U, 14, 31U, array);
                Class18.smethod_2(ref num8, num9, num10, num7, 12U, 20, 32U, array);
                Class18.smethod_3(ref num7, num8, num9, num10, 5U, 4, 33U, array);
                Class18.smethod_3(ref num10, num7, num8, num9, 8U, 11, 34U, array);
                Class18.smethod_3(ref num9, num10, num7, num8, 11U, 16, 35U, array);
                Class18.smethod_3(ref num8, num9, num10, num7, 14U, 23, 36U, array);
                Class18.smethod_3(ref num7, num8, num9, num10, 1U, 4, 37U, array);
                Class18.smethod_3(ref num10, num7, num8, num9, 4U, 11, 38U, array);
                Class18.smethod_3(ref num9, num10, num7, num8, 7U, 16, 39U, array);
                Class18.smethod_3(ref num8, num9, num10, num7, 10U, 23, 40U, array);
                Class18.smethod_3(ref num7, num8, num9, num10, 13U, 4, 41U, array);
                Class18.smethod_3(ref num10, num7, num8, num9, 0U, 11, 42U, array);
                Class18.smethod_3(ref num9, num10, num7, num8, 3U, 16, 43U, array);
                Class18.smethod_3(ref num8, num9, num10, num7, 6U, 23, 44U, array);
                Class18.smethod_3(ref num7, num8, num9, num10, 9U, 4, 45U, array);
                Class18.smethod_3(ref num10, num7, num8, num9, 12U, 11, 46U, array);
                Class18.smethod_3(ref num9, num10, num7, num8, 15U, 16, 47U, array);
                Class18.smethod_3(ref num8, num9, num10, num7, 2U, 23, 48U, array);
                Class18.smethod_4(ref num7, num8, num9, num10, 0U, 6, 49U, array);
                Class18.smethod_4(ref num10, num7, num8, num9, 7U, 10, 50U, array);
                Class18.smethod_4(ref num9, num10, num7, num8, 14U, 15, 51U, array);
                Class18.smethod_4(ref num8, num9, num10, num7, 5U, 21, 52U, array);
                Class18.smethod_4(ref num7, num8, num9, num10, 12U, 6, 53U, array);
                Class18.smethod_4(ref num10, num7, num8, num9, 3U, 10, 54U, array);
                Class18.smethod_4(ref num9, num10, num7, num8, 10U, 15, 55U, array);
                Class18.smethod_4(ref num8, num9, num10, num7, 1U, 21, 56U, array);
                Class18.smethod_4(ref num7, num8, num9, num10, 8U, 6, 57U, array);
                Class18.smethod_4(ref num10, num7, num8, num9, 15U, 10, 58U, array);
                Class18.smethod_4(ref num9, num10, num7, num8, 6U, 15, 59U, array);
                Class18.smethod_4(ref num8, num9, num10, num7, 13U, 21, 60U, array);
                Class18.smethod_4(ref num7, num8, num9, num10, 4U, 6, 61U, array);
                Class18.smethod_4(ref num10, num7, num8, num9, 11U, 10, 62U, array);
                Class18.smethod_4(ref num9, num10, num7, num8, 2U, 15, 63U, array);
                Class18.smethod_4(ref num8, num9, num10, num7, 9U, 21, 64U, array);
                num7  += num14;
                num8  += num15;
                num9  += num16;
                num10 += num17;
            }
            byte[] array4 = new byte[16];
            Array.Copy(BitConverter.GetBytes(num7), 0, array4, 0, 4);
            Array.Copy(BitConverter.GetBytes(num8), 0, array4, 4, 4);
            Array.Copy(BitConverter.GetBytes(num9), 0, array4, 8, 4);
            Array.Copy(BitConverter.GetBytes(num10), 0, array4, 12, 4);
            return(array4);
        }