コード例 #1
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);
        }
    }
コード例 #2
0
    internal bool method_3(string A_0)
    {
        Class187 class2 = this.class62_0.method_4().method_0();
        Class190 class3 = this.class62_0.method_4().method_4().method_0();
        bool     flag   = this.method_0();

        byte[]        buffer    = new byte[] { 0xfe, 0xa7, 210, 0x76, 0x3b, 0x4b, 0x9e, 0x79 };
        byte[]        buffer2   = this.class299_0.method_8(A_0, class3.method_16(), buffer, class3.method_6() >> 3, class3.method_0(), flag);
        byte[]        buffer3   = this.method_5(class3.method_18(), class3.method_4(), buffer2, class3.method_16(), class3.method_2());
        byte[]        buffer4   = new byte[] { 0xd7, 170, 15, 0x6d, 0x30, 0x61, 0x34, 0x4e };
        byte[]        buffer5   = this.class299_0.method_8(A_0, class3.method_16(), buffer4, class3.method_6() >> 3, class3.method_0(), flag);
        byte[]        buffer6   = this.method_5(class3.method_20(), class3.method_4(), buffer5, class3.method_16(), class3.method_8());
        HashAlgorithm algorithm = null;

        if (flag)
        {
            algorithm = new SHA512Managed();
        }
        else
        {
            algorithm = new SHA1Managed();
        }
        byte[] buffer7 = algorithm.ComputeHash(buffer3);
        bool   flag2   = this.class299_0.method_15(buffer6, buffer7);

        byte[] buffer8 = new byte[] { 20, 110, 11, 0xe7, 0xab, 0xac, 0xd0, 0xd6 };
        byte[] buffer9 = this.class299_0.method_8(A_0, class3.method_16(), buffer8, class3.method_6() >> 3, class3.method_0(), flag);
        this.byte_0 = this.method_5(class3.method_22(), class3.method_4(), buffer9, class3.method_16(), class2.method_4() / 8);
        return(flag2);
    }
コード例 #3
0
        private bool method_5()
        {
            switch (_int4)
            {
            case 0:
                return(method_1());

            case 1:
                return(method_2());

            case 2:
                if (_bool0)
                {
                    if (_bool1)
                    {
                        _int4 = 12;
                        return(false);
                    }
                    _class1870.method_4();
                    _int6 = 32;
                    _int4 = 11;
                    return(true);
                }
                else
                {
                    var num = _class1870.method_0(3);
                    if (num < 0)
                    {
                        return(false);
                    }
                    _class1870.method_1(3);
                    if ((num & 1) != 0)
                    {
                        _bool0 = true;
                    }
                    switch (num >> 1)
                    {
                    case 0:
                        _class1870.method_4();
                        _int4 = 3;
                        break;

                    case 1:
                        _class1970 = Class197.Class1970;
                        _class1971 = Class197.Class1971;
                        _int4      = 7;
                        break;

                    case 2:
                        _class1980 = new Class198();
                        _int4      = 6;
                        break;

                    default:
                        throw new SharpZipBaseException("Unknown block type " + num);
                    }
                    return(true);
                }
                break;

            case 3:
                if ((_int9 = _class1870.method_0(16)) < 0)
                {
                    return(false);
                }
                _class1870.method_1(16);
                _int4 = 4;
                break;

            case 4:
                break;

            case 5:
                goto IL_1A4;

            case 6:
                if (!_class1980.method_0(_class1870))
                {
                    return(false);
                }
                _class1970 = _class1980.method_1();
                _class1971 = _class1980.method_2();
                _int4      = 7;
                goto IL_228;

            case 7:
            case 8:
            case 9:
            case 10:
                goto IL_228;

            case 11:
                return(method_4());

            case 12:
                return(false);

            default:
                throw new SharpZipBaseException("Inflater.Decode unknown mode");
            }
            var num2 = _class1870.method_0(16);

            if (num2 < 0)
            {
                return(false);
            }
            _class1870.method_1(16);
            if (num2 != (_int9 ^ 65535))
            {
                throw new SharpZipBaseException("broken uncompressed block");
            }
            _int4 = 5;
IL_1A4:
            var num3 = _class2030.method_3(_class1870, _int9);

            _int9 -= num3;
            if (_int9 == 0)
            {
                _int4 = 2;
                return(true);
            }
            return(!_class1870.method_5());

IL_228:
            return(method_3());
        }