internal Stream method_1()
    {
        int num = 0;

        if (this.byte_0 == null)
        {
            throw new InvalidOperationException(BookmarkStart.b("漥䘧䤩䌫尭䈯圱圳䈵ᠷ䨹崻䴽㌿㕁⭃㑅ⱇ摉", num));
        }
        MemoryStream  stream2   = new MemoryStream();
        Class187      class2    = this.class62_0.method_4().method_0();
        bool          flag      = this.method_0();
        HashAlgorithm algorithm = null;

        if (flag)
        {
            algorithm = new SHA512Managed();
        }
        else
        {
            algorithm = new SHA1Managed();
        }
        using (Stream1 stream = this.interface61_0.imethod_0(BookmarkStart.b("挥䘧䤩師圭䀯䘱儳刵样嬹弻唽ℿ╁⅃", num)))
        {
            byte[] buffer = new byte[8];
            stream.Read(buffer, 0, 8);
            int    count   = BitConverter.ToInt32(buffer, 0);
            int    num3    = count % class2.method_2();
            int    num4    = (num3 > 0) ? ((count + class2.method_2()) - num3) : count;
            byte[] buffer3 = new byte[num4];
            stream.Read(buffer3, 0, num4);
            byte[] buffer4 = this.class299_0.method_12(buffer, buffer3);
            if (!this.method_4(buffer4))
            {
                throw new Exception(BookmarkStart.b("挥䘧䤩師圭䀯䘱儳刵ᠷ䨹崻崽⬿⍁⍃⍅桇⍉㽋湍㥏㱑≓㝕㑗㍙㡛", num));
            }
            byte[] dst  = new byte[count];
            int    num6 = ((num4 % 0x1000) == 0) ? (num4 / 0x1000) : ((num4 / 0x1000) + 1);
            for (int i = 0; i < num6; i++)
            {
                int    num7    = Math.Min(0x1000, num4 - (i * 0x1000));
                byte[] buffer5 = new byte[num7];
                byte[] src     = new byte[num7];
                Buffer.BlockCopy(buffer3, i * 0x1000, buffer5, 0, num7);
                byte[] buffer7 = algorithm.ComputeHash(this.class299_0.method_12(class2.method_14(), BitConverter.GetBytes(i)));
                src  = this.method_5(buffer5, class2.method_2(), this.byte_0, buffer7, num7);
                num7 = (i == (num6 - 1)) ? (num7 - (num4 - count)) : num7;
                Buffer.BlockCopy(src, 0, dst, i * 0x1000, num7);
            }
            stream2.Write(dst, 0, count);
            stream2.Position = 0L;
        }
        return(stream2);
    }
Exemple #2
0
    private byte[] method_2(Stream A_0, Interface61 A_1, Class187 A_2, byte[] A_3)
    {
        byte[] bytes = BitConverter.GetBytes(A_0.Length);
        SHA1   sha   = new SHA1Managed();

        using (Stream1 stream = A_1.imethod_2(BookmarkStart.b("漩䈫䴭䈯䬱䐳䈵崷帹氻弽⌿⥁╃ⅅⵇ", 4)))
        {
            int num = (int)(A_0.Length / 0x1000L);
            if ((A_0.Length % 0x1000L) != 0L)
            {
                num++;
            }
            for (int i = 0; i < num; i++)
            {
                int    count   = Math.Min(0x1000, ((int)A_0.Length) - (i * 0x1000));
                byte[] buffer  = new byte[count];
                byte[] buffer3 = new byte[count];
                A_0.Read(buffer, 0, count);
                byte[] buffer4 = sha.ComputeHash(this.class299_0.method_12(A_2.method_14(), BitConverter.GetBytes(i)));
                buffer3 = this.method_11(buffer, A_2.method_2(), A_3, buffer4);
                bytes   = this.class299_0.method_12(bytes, buffer3);
            }
            stream.Write(bytes, 0, bytes.Length);
        }
        return(bytes);
    }
Exemple #3
0
        public int method_1(Class187 class187_0)
        {
            int num;

            if ((num = class187_0.method_0(9)) >= 0)
            {
                int num2;
                if ((num2 = (int)this.short_0[num]) >= 0)
                {
                    class187_0.method_1(num2 & 15);
                    return(num2 >> 4);
                }
                int num3 = -(num2 >> 4);
                int int_ = num2 & 15;
                if ((num = class187_0.method_0(int_)) >= 0)
                {
                    num2 = (int)this.short_0[num3 | num >> 9];
                    class187_0.method_1(num2 & 15);
                    return(num2 >> 4);
                }
                int num4 = class187_0.method_2();
                num  = class187_0.method_0(num4);
                num2 = (int)this.short_0[num3 | num >> 9];
                if ((num2 & 15) <= num4)
                {
                    class187_0.method_1(num2 & 15);
                    return(num2 >> 4);
                }
                return(-1);
            }
            else
            {
                int num5 = class187_0.method_2();
                num = class187_0.method_0(num5);
                int num2 = (int)this.short_0[num];
                if (num2 >= 0 && (num2 & 15) <= num5)
                {
                    class187_0.method_1(num2 & 15);
                    return(num2 >> 4);
                }
                return(-1);
            }
        }
Exemple #4
0
        public int method_1(Class187 class1870)
        {
            int num;

            if ((num = class1870.method_0(9)) >= 0)
            {
                int num2;
                if ((num2 = _short0[num]) >= 0)
                {
                    class1870.method_1(num2 & 15);
                    return(num2 >> 4);
                }
                var num3 = -(num2 >> 4);
                var int_ = num2 & 15;
                if ((num = class1870.method_0(int_)) >= 0)
                {
                    num2 = _short0[num3 | num >> 9];
                    class1870.method_1(num2 & 15);
                    return(num2 >> 4);
                }
                var num4 = class1870.method_2();
                num  = class1870.method_0(num4);
                num2 = _short0[num3 | num >> 9];
                if ((num2 & 15) <= num4)
                {
                    class1870.method_1(num2 & 15);
                    return(num2 >> 4);
                }
                return(-1);
            }
            else
            {
                var num5 = class1870.method_2();
                num = class1870.method_0(num5);
                int num2 = _short0[num];
                if (num2 >= 0 && (num2 & 15) <= num5)
                {
                    class1870.method_1(num2 & 15);
                    return(num2 >> 4);
                }
                return(-1);
            }
        }
Exemple #5
0
    private void method_1(Stream A_0, Interface61 A_1, string A_2)
    {
        SHA1 sha = new SHA1Managed();

        using (Stream1 stream = A_1.imethod_2(BookmarkStart.b("欭帯儱䘳伵䠷丹唻儽⸿ୁ⩃⁅❇", 8)))
        {
            Class62 class2 = new Class62();
            class2.method_1(0x40004);
            class2.method_3(0x40);
            Class187 class3 = class2.method_4().method_0();
            this.method_3(class3);
            class3.method_15(this.method_10(class3.method_0()));
            Class190 class4 = class2.method_4().method_4().method_0();
            this.method_4(class4);
            class4.method_17(this.method_10(class4.method_2()));
            byte[] buffer  = this.method_10(class4.method_2());
            byte[] buffer2 = new byte[] { 0xfe, 0xa7, 210, 0x76, 0x3b, 0x4b, 0x9e, 0x79 };
            byte[] buffer3 = this.class299_0.method_9(A_2, class4.method_16(), buffer2, class4.method_6() >> 3, class4.method_0());
            class4.method_19(this.method_11(buffer, class4.method_4(), buffer3, class4.method_16()));
            byte[] buffer4 = new byte[] { 0xd7, 170, 15, 0x6d, 0x30, 0x61, 0x34, 0x4e };
            buffer3 = this.class299_0.method_9(A_2, class4.method_16(), buffer4, class4.method_6() >> 3, class4.method_0());
            class4.method_21(this.method_11(sha.ComputeHash(buffer), class4.method_4(), buffer3, class4.method_16()));
            byte[] buffer5 = this.method_10(class3.method_4() / 8);
            byte[] buffer6 = new byte[] { 20, 110, 11, 0xe7, 0xab, 0xac, 0xd0, 0xd6 };
            buffer3 = this.class299_0.method_9(A_2, class4.method_16(), buffer6, class4.method_6() >> 3, class4.method_0());
            class4.method_23(this.method_11(buffer5, class4.method_4(), buffer3, class4.method_16()));
            Class188 class5  = class2.method_4().method_2();
            byte[]   buffer7 = new byte[] { 0x5f, 0xb2, 0xad, 1, 12, 0xb9, 0xe1, 0xf6 };
            byte[]   buffer8 = sha.ComputeHash(this.class299_0.method_12(class3.method_14(), buffer7));
            buffer8 = this.class299_0.method_13(buffer8, class3.method_2(), 0);
            byte[] buffer9 = this.method_10(class3.method_6());
            class5.method_1(this.method_11(buffer9, class3.method_2(), buffer5, buffer8));
            byte[]   buffer10 = this.method_2(A_0, A_1, class3, buffer5);
            HMACSHA1 hmacsha  = new HMACSHA1 {
                Key = this.class299_0.method_13(buffer9, class3.method_6(), 0)
            };
            byte[] buffer11 = new byte[] { 160, 0x67, 0x7f, 2, 0xb2, 0x2c, 0x84, 0x33 };
            byte[] buffer12 = sha.ComputeHash(this.class299_0.method_12(class3.method_14(), buffer11));
            buffer12 = this.class299_0.method_13(buffer12, class3.method_2(), 0);
            class5.method_3(this.method_11(hmacsha.ComputeHash(buffer10), class3.method_2(), buffer5, buffer12));
            class2.method_5(stream);
        }
    }
    private bool method_4(byte[] A_0)
    {
        Class187      class2    = this.class62_0.method_4().method_0();
        Class188      class3    = this.class62_0.method_4().method_2();
        bool          flag      = this.method_0();
        HashAlgorithm algorithm = null;

        if (flag)
        {
            algorithm = new SHA512Managed();
        }
        else
        {
            algorithm = new SHA1Managed();
        }
        byte[] buffer  = new byte[] { 0x5f, 0xb2, 0xad, 1, 12, 0xb9, 0xe1, 0xf6 };
        byte[] buffer2 = algorithm.ComputeHash(this.class299_0.method_12(class2.method_14(), buffer));
        buffer2 = this.class299_0.method_13(buffer2, class2.method_2(), 0);
        byte[] buffer3 = this.method_5(class3.method_0(), class2.method_2(), this.byte_0, buffer2, class2.method_6());
        HMAC   hmac    = null;

        if (flag)
        {
            hmac = new HMACSHA512();
        }
        else
        {
            hmac = new HMACSHA1();
        }
        hmac.Key = this.class299_0.method_13(buffer3, class2.method_6(), 0);
        byte[] buffer4 = hmac.ComputeHash(A_0);
        byte[] buffer5 = new byte[] { 160, 0x67, 0x7f, 2, 0xb2, 0x2c, 0x84, 0x33 };
        byte[] buffer6 = algorithm.ComputeHash(this.class299_0.method_12(class2.method_14(), buffer5));
        buffer6 = this.class299_0.method_13(buffer6, class2.method_2(), 0);
        byte[] buffer7 = this.method_5(class3.method_2(), class2.method_2(), this.byte_0, buffer6, class2.method_6());
        return(this.class299_0.method_15(buffer4, buffer7));
    }