Beispiel #1
0
    internal Stream method_0()
    {
        int num = 0x11;

        if (this.byte_0 == null)
        {
            throw new InvalidOperationException(BookmarkStart.b("縶圸堺刼䴾㍀♂♄㍆楈㭊ⱌ㱎≐⑒㩔╖㵘畚", num));
        }
        MemoryStream stream2 = new MemoryStream();

        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 % this.int_0;
            int    num4    = (num3 > 0) ? ((count + this.int_0) - num3) : count;
            byte[] buffer2 = new byte[num4];
            stream.Read(buffer2, 0, num4);
            byte[] buffer3 = this.method_4(buffer2, this.byte_0);
            stream2.Write(buffer3, 0, count);
            stream2.Position = 0L;
        }
        return(stream2);
    }
    private byte[] method_5(Interface61 A_0)
    {
        int          num     = 6;
        MemoryStream stream  = new MemoryStream();
        Stream12     stream2 = Stream12.smethod_2();
        int          num2    = this.method_6(A_0);
        int          index   = 0;
        int          length  = A_0.imethod_9().Length;

        while (true)
        {
            if (index >= length)
            {
                stream2.Flush();
                if (stream2.Length > 0L)
                {
                    long num1 = stream2.Length;
                    stream2.method_17(stream);
                    stream2.Close();
                    stream2.Dispose();
                    return(stream.ToArray());
                }
                stream2.Close();
                stream2.Dispose();
                stream.Dispose();
                return(null);
            }
            string str = A_0.imethod_9().GetValue(index).ToString();
            if ((((str != BookmarkStart.b("⴫愭尯圱", num)) && (str != BookmarkStart.b("⼫愭刯報紳堵帷唹", num))) && ((str != BookmarkStart.b("⴫洭弯弱䐳礵娷倹", num)) && (str != BookmarkStart.b("⼫戭夯就弳缵嘷尹医", num)))) && (((str != BookmarkStart.b("⴫愭尯圱Գص瘷嬹䠻圽㘿❁", num)) && (str != BookmarkStart.b("⼫欭怯怱紳砵氷", num))) && (str != BookmarkStart.b("⸫愭尯圱搳䐵崷䤹఻฽瀿", num))))
            {
                Stream1 stream3 = A_0.imethod_0(str);
                if ((num2 == 1) || (str.ToLower() == BookmarkStart.b("簫伭匯失唳儵崷", num).ToLower()))
                {
                    byte[] buffer = new byte[stream3.Length];
                    stream3.Read(buffer, 0, buffer.Length);
                    stream3.Flush();
                    stream3.Close();
                    A_0.Dispose();
                    stream2.Close();
                    stream2.Dispose();
                    return(buffer);
                }
                stream2.method_15(stream3.method_0());
                byte[] buffer2 = new byte[stream3.Length];
                stream3.Read(buffer2, 0, buffer2.Length);
                stream2.Write(buffer2, 0, buffer2.Length);
                try
                {
                    stream2.Flush();
                }
                catch
                {
                }
                stream2.Close();
                stream3.Close();
            }
            index++;
        }
    }
    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);
    }
    private void method_21(Stream12 A_0, Stream A_1)
    {
        Class1004 class2 = new Class1004(A_1);

        string[] strArray = class2.Interface51.imethod_0().imethod_9();
        int      index    = 0;
        int      length   = strArray.Length;

        while (true)
        {
            if (index >= length)
            {
                break;
            }
            Stream1 stream = class2.Interface51.imethod_0().imethod_0(strArray[index]);
            A_0.method_15(strArray[index]);
            byte[] buffer = new byte[stream.Length];
            stream.Read(buffer, 0, buffer.Length);
            A_0.Write(buffer, 0, buffer.Length);
            try
            {
                A_0.Flush();
            }
            catch
            {
            }
            A_0.Close();
            stream.Close();
            index++;
        }
        class2.System.IDisposable.Dispose();
    }
Beispiel #5
0
 internal Class365(Stream1 A_0)
 {
     this.string_0 = string.Empty;
     byte[] buffer = new byte[A_0.Length];
     A_0.Read(buffer, 0, buffer.Length);
     this.vmethod_0(buffer, 0);
 }
    internal void method_4(Interface61 A_0)
    {
        int num = 0x11;

        if (A_0.imethod_3(BookmarkStart.b("㘶瘸场堼", 0x11)))
        {
            Stream1 stream = A_0.imethod_0(BookmarkStart.b("㘶瘸场堼", num));
            this.class365_0 = new Class365(stream);
            stream.Flush();
            stream.Close();
        }
        if (A_0.imethod_3(BookmarkStart.b("㐶瘸夺圼瘾⽀╂⩄", num)))
        {
            Stream1 stream2 = A_0.imethod_0(BookmarkStart.b("㐶瘸夺圼瘾⽀╂⩄", num));
            this.class371_0 = new Class371(stream2);
            stream2.Flush();
            stream2.Close();
        }
        if (A_0.imethod_3(BookmarkStart.b("㘶稸吺值伾เ⅂⽄", num)))
        {
            Stream1 stream5 = A_0.imethod_0(BookmarkStart.b("㘶稸吺值伾เ⅂⽄", num));
            this.class369_0 = new Class369(stream5);
            stream5.Flush();
            stream5.Close();
        }
        if (A_0.imethod_3(BookmarkStart.b("㐶甸刺匼吾ࡀⵂ⍄⡆", num)))
        {
            Stream1 stream4 = A_0.imethod_0(BookmarkStart.b("㐶甸刺匼吾ࡀⵂ⍄⡆", num));
            this.class368_0 = new Class368(stream4);
            stream4.Flush();
            stream4.Close();
        }
        if (A_0.imethod_3(BookmarkStart.b("㘶瘸场堼฾煀ൂ⑄㍆⁈㵊⡌", num)))
        {
            Stream1 stream3 = A_0.imethod_0(BookmarkStart.b("㘶瘸场堼฾煀ൂ⑄㍆⁈㵊⡌", num));
            byte[]  buffer  = new byte[stream3.Length];
            stream3.Read(buffer, 0, buffer.Length);
            if (buffer.Length > 0)
            {
                if (this.method_1() == OleObjectType.Package)
                {
                    this.byte_0 = this.method_7(buffer);
                }
                else
                {
                    int num2 = 0;
                    int num3 = Class364.smethod_1(buffer, ref num2);
                    this.byte_0 = Class364.smethod_5(buffer, num3, ref num2);
                }
            }
            stream3.Flush();
            stream3.Close();
        }
        else
        {
            this.byte_0 = this.method_5(A_0);
        }
    }
Beispiel #7
0
 private MemoryStream method_44(string A_0)
 {
     byte[] buffer = null;
     using (Stream1 stream = this.interface51_0.imethod_0().imethod_0(A_0))
     {
         int length = (int)stream.Length;
         buffer = new byte[length];
         stream.Read(buffer, 0, length);
     }
     return(new MemoryStream(buffer));
 }
Beispiel #8
0
 internal Class369(Stream1 A_0)
 {
     this.string_0 = string.Empty;
     this.string_1 = string.Empty;
     this.string_2 = string.Empty;
     this.uint_1   = 0x71b239f4;
     this.string_3 = string.Empty;
     this.string_4 = string.Empty;
     this.string_5 = string.Empty;
     byte[] buffer = new byte[A_0.Length];
     A_0.Read(buffer, 0, buffer.Length);
     this.vmethod_0(buffer, 0);
 }
Beispiel #9
0
    public void imethod_13(Stream1 A_0)
    {
        int num2;
        int num = 8;

        if (A_0 == null)
        {
            throw new ArgumentNullException(BookmarkStart.b("崭䐯䀱儳圵唷渹医紽⼿㉁㵃", num));
        }
        Stream1 stream = this.imethod_2(A_0.method_0());

        byte[] buffer   = new byte[0x8000];
        long   position = A_0.Position;

        A_0.Position = 0L;
        while ((num2 = A_0.Read(buffer, 0, 0x8000)) > 0)
        {
            stream.Write(buffer, 0, num2);
        }
        A_0.Position = position;
    }
Beispiel #10
0
        public override int Read(byte[] buffer, int offset, int count)
        {
            int bytesRead;

            if (position >= Stream1.Length)
            {
                bytesRead = Stream2.Read(buffer, offset, count);
            }
            else if (count > Stream1.Length)
            {
                bytesRead  = Stream1.Read(buffer, offset, (int)Stream1.Length);
                bytesRead += Stream2.Read(buffer, (int)Stream1.Length, count - (int)Stream1.Length);
            }
            else
            {
                bytesRead = Stream1.Read(buffer, offset, count);
            }

            position += bytesRead;

            return(bytesRead);
        }
Beispiel #11
0
 internal Class371(Stream1 A_0)
 {
     byte[] buffer = new byte[A_0.Length];
     A_0.Read(buffer, 0, buffer.Length);
     this.vmethod_0(buffer, 0);
 }