示例#1
0
    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++;
        }
    }
示例#2
0
    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();
    }
示例#3
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);
        }
    }
示例#4
0
    private byte[] method_14(MemoryStream A_0, DocOleObject A_1, string A_2)
    {
        Class1004   class2     = new Class1004(A_0);
        Interface61 interface2 = class2.Interface51.imethod_0().imethod_5(BookmarkStart.b("愭刯報儳唵䰷樹医儽ⰿ", 8));
        Class1004   class3     = new Class1004();

        class3.Interface51.imethod_0().imethod_12(interface2);
        Interface61 interface3 = class3.Interface51.imethod_0().imethod_5(BookmarkStart.b("愭刯報儳唵䰷樹医儽ⰿ", 8));

        if (interface2.imethod_7(A_2))
        {
            interface3 = interface3.imethod_5(A_2);
        }
        else
        {
            interface3 = interface3.imethod_4(A_2);
        }
        class2.System.IDisposable.Dispose();
        foreach (Class297 class5 in class3.Interface51.imethod_1().method_0())
        {
            if (A_1.dictionary_0.ContainsKey(class5.method_0()))
            {
                class5.method_13(A_1.dictionary_0[class5.method_0()]);
            }
        }
        A_1.dictionary_0.Clear();
        Class1004 class4 = new Class1004(A_1.stream_1);

        A_1.stream_1.Position = 0L;
        for (int i = 0; i < class4.Interface51.imethod_0().imethod_9().Length; i++)
        {
            Stream1 stream  = class4.Interface51.imethod_0().imethod_0(class4.Interface51.imethod_0().imethod_9()[i]);
            Stream1 stream2 = interface3.imethod_2(class4.Interface51.imethod_0().imethod_9()[i]);
            stream.vmethod_0(stream2);
            stream2.Flush();
            stream2.Close();
            stream.Close();
        }
        class4.System.IDisposable.Dispose();
        class3.Interface51.imethod_2();
        byte[] buffer = (class3.method_4() as MemoryStream).ToArray();
        class3.System.IDisposable.Dispose();
        return(buffer);
    }
示例#5
0
        public async Task Run(CancellationToken token)
        {
            CancellationTokenSource src = new CancellationTokenSource();

            token.Register(() => src.Cancel());
            bool teardown = false;

            Log.Debug("Pipe launched");
            var  netstr = Stream1.GetStream();
            var  nrstr  = Stream2.Stream;
            Task x      = await Task.WhenAny(netstr.CopyToAsync(nrstr, src.Token), nrstr.CopyToAsync(netstr, src.Token));

            if (x.Exception != null)
            {
                Log.Error(x.Exception, "exception");
            }

            await Task.Run(async() =>
            {
                if (nrstr.IsOpen)
                {
                    while (true)
                    {
                        if (!netstr.DataAvailable)
                        {
                            break;
                        }
                    }
                }
            });

            src.Cancel();

            /*var t1 = Task.Run(async () =>
             * {
             *  while (true)
             *  {
             *      // NR to Net
             *      try
             *      {
             *          bool read = await Convert(nrstr, netstr, src.Token);
             *          if (!read) throw new Exception("Closed");
             *      }
             *      catch (Exception e)
             *      {
             *          Log.Error(e, "Exception while reading from NR");
             *          src.Cancel();
             *          break;
             *      }
             *  }
             * }, src.Token);
             * var t2 = Task.Run(async () =>
             * {
             *  while (true)
             *  {
             *      // Net to NR
             *      try
             *      {
             *          bool read = await Convert(netstr, nrstr, src.Token);
             *          if (!read) throw new Exception("Closed");
             *
             *      }
             *      catch (Exception e)
             *      {
             *          Log.Error(e, "Exception while reading from Net");
             *          src.Cancel();
             *          break;
             *      }
             *  }
             * }, src.Token);
             * await t1;
             * await t2;*/
            try
            {
                Log.Debug("Thread ended");
                netstr.Close();
                Stream1.Close();
                await Stream2.Close();
            }
            catch (Exception e)
            {
                Log.Error(e, "Error while cleaning up");
            }
        }