예제 #1
0
    public Stream12 method_12(string A_0, STGM A_1)
    {
        Interface40 interface2;
        int         num = 11;

        if (A_0 == null)
        {
            throw new ArgumentNullException(BookmarkStart.b("䈰䜲娴䔶堸尺堼焾⁀⹂⁄", num));
        }
        this.method_22();
        int errorCode = this.interface40_0.imethod_3(A_0, IntPtr.Zero, A_1, IntPtr.Zero, 0, out interface2);

        if (errorCode != 0)
        {
            throw new ExternalException(BookmarkStart.b("爰刲嬴夶嘸伺ᴼ倾ㅀ♂⭄杆㩈㹊⽌潎≐❒㩔╖㡘㱚㡜煞䅠ၢၤզ䥨ᡪᥬnͰቲቴቶ奸ᕺᱼቾꎂ뎈ꮊ", num) + A_0, errorCode);
        }
        Stream12 stream = new Stream12 {
            interface40_0 = interface2,
            string_2      = A_0
        };

        stream.method_27();
        stream.stgm_5 = A_1;
        return(stream);
    }
예제 #2
0
    public Stream12 method_14(string A_0, STGM A_1)
    {
        Interface40 interface2;
        int         num = 0x11;

        if (A_0 == null)
        {
            throw new ArgumentNullException(BookmarkStart.b("䐶䴸吺似帾♀♂ୄ♆⑈⹊", num));
        }
        this.method_22();
        int errorCode = this.interface40_0.imethod_2(A_0, A_1, 0, 0, out interface2);

        if (errorCode != 0)
        {
            throw new ExternalException(BookmarkStart.b("琶堸唺匼倾㕀捂⩄㝆ⱈ╊浌㱎⑐ㅒ畔⑖ⵘ㑚⽜㹞٠٢䭤䝦ᩨṪཬ佮ɰݲᩴնᡸᱺ᡼彾ꦈﺌ떎놐", num) + A_0, errorCode);
        }
        Stream12 stream = new Stream12 {
            interface40_0 = interface2,
            string_2      = A_0
        };

        interface2 = null;
        stream.method_27();
        stream.stgm_5 = A_1;
        this.list_1.Add(A_0);
        return(stream);
    }
예제 #3
0
    public Stream12(Stream12 A_0, string A_1, STGM A_2, bool A_3)
    {
        int num = 0x13;

        this.long_0 = -1L;
        this.list_0 = new List <string>();
        this.list_1 = new List <string>();
        if (A_0 == null)
        {
            throw new ArgumentNullException(BookmarkStart.b("䨸伺刼䴾⁀⑂⁄", num));
        }
        if (A_0.interface40_0 == null)
        {
            throw new ArgumentException(BookmarkStart.b("倸唺䴼䨾㕀捂㙄㍆♈㥊ⱌ⡎㑐獒㡔≖⩘⽚絜㵞Ѡ䍢੤ᝦ౨ժ࡬୮", num));
        }
        if (A_1 == null)
        {
            throw new ArgumentNullException(BookmarkStart.b("䨸伺似娾⁀⹂ୄ♆⑈⹊", num));
        }
        IntPtr iUnknownForObject = Marshal.GetIUnknownForObject(A_0.interface40_0);

        this.interface40_0 = (Interface40)Marshal.GetObjectForIUnknown(iUnknownForObject);
        Marshal.Release(iUnknownForObject);
        this.stgm_5 = A_0.stgm_5;
        this.list_1.AddRange(A_0.list_1);
        this.list_0.AddRange(A_0.list_0);
        if (A_3)
        {
            this.method_16(A_1, A_2);
        }
        else
        {
            this.method_10(A_1, A_2);
        }
    }
예제 #4
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();
    }
예제 #5
0
        internal void method_0(Stream12 A_0, bool A_1)
        {
            this.class367_0 = new Class365.Class367();
            byte[] buffer = new byte[0x10];
            this.class367_0.vmethod_1(buffer, 0);
            ASCIIEncoding   encoding  = new ASCIIEncoding();
            UnicodeEncoding encoding2 = new UnicodeEncoding();
            string          s         = string.Empty;
            string          str2      = string.Empty;

            if (A_1)
            {
                StringBuilder builder = new StringBuilder(0xff);
                GetShortPathName(this.string_0, builder, builder.Capacity);
                string str3 = builder.ToString();
                s    = str3;
                str2 = str3;
            }
            else
            {
                s    = this.string_0;
                str2 = this.string_0;
            }
            byte[] bytes   = encoding.GetBytes(s);
            byte[] buffer3 = BitConverter.GetBytes(-559022081);
            byte[] buffer4 = encoding2.GetBytes(str2);
            int    num     = ((buffer.Length + bytes.Length) + buffer3.Length) + buffer4.Length;

            A_0.Write(BitConverter.GetBytes(num), 0, 4);
            A_0.Write(buffer, 0, buffer.Length);
            A_0.Write(bytes, 0, bytes.Length);
            A_0.Write(buffer3, 0, buffer3.Length);
            A_0.Write(buffer4, 0, buffer4.Length);
        }
예제 #6
0
    internal byte[] method_13(byte[] A_0, byte[] A_1, DocOleObject A_2)
    {
        MemoryStream stream  = new MemoryStream(A_0);
        Stream12     stream2 = new Stream12(stream, STGM.STGM_SHARE_EXCLUSIVE | STGM.STGM_READWRITE);

        if (A_2.Interface49.get_LinkType() == OleLinkType.Embed)
        {
            this.method_16(stream2, string.Empty, A_2.OleObjectType, A_1);
            this.method_22(stream2, A_2.OleObjectType);
        }
        else
        {
            this.method_24(stream2, A_2.OleObjectType, string.Empty);
        }
        this.method_26(stream2, A_2.Interface49.get_LinkType(), A_2.OleObjectType);
        MemoryStream stream3 = new MemoryStream();

        stream2.method_17(stream3);
        stream3.Flush();
        byte[] buffer = stream3.ToArray();
        stream3.Close();
        stream2.Close();
        stream2.Dispose();
        return(buffer);
    }
예제 #7
0
 private void method_24(Stream12 A_0, OleObjectType A_1, string A_2)
 {
     A_0.method_15(BookmarkStart.b("⼫戭夯就弳缵嘷尹医", 6));
     this.class368_0 = new Class368(A_2);
     this.class368_0.method_0(A_0);
     A_0.Close();
 }
예제 #8
0
 private void method_26(Stream12 A_0, OleLinkType A_1, OleObjectType A_2)
 {
     A_0.method_15(BookmarkStart.b("ⴭ缯倱帳缵嘷尹医", 8));
     this.class371_0 = new Class371();
     this.class371_0.method_0(A_0, A_1, A_2);
     A_0.Close();
 }
예제 #9
0
 public Class363(string A_0, bool A_1)
 {
     this.byte_0 = new byte[] {
         1, 0, 0xfe, 0xff, 3, 10, 0, 0, 0xff, 0xff, 0xff, 0xff, 6, 9, 2, 0,
         0, 0, 0, 0, 0xc0, 0, 0, 0, 0, 0, 0, 70, 0x27, 0, 0, 0,
         0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x6f, 0x66, 0x74, 0x20, 0x4f, 0x66, 0x66, 0x69, 0x63, 0x65,
         0x20, 0x57, 0x6f, 0x72, 100, 0x20, 0x39, 0x37, 0x2d, 50, 0x30, 0x30, 0x33, 0x20, 0x44, 0x6f,
         0x63, 0x75, 0x6d, 0x65, 110, 0x74, 0, 10, 0, 0, 0, 0x4d, 0x53, 0x57, 0x6f, 0x72,
         100, 0x44, 0x6f, 0x63, 0, 0x10, 0, 0, 0, 0x57, 0x6f, 0x72, 100, 0x2e, 0x44, 0x6f,
         0x63, 0x75, 0x6d, 0x65, 110, 0x74, 0x2e, 0x38, 0, 0xf4, 0x39, 0xb2, 0x71, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0
     };
     this.string_9 = A_0;
     if (A_1)
     {
         this.method_42();
         if (this.bool_0)
         {
             this.interface51_0 = new Class1004();
         }
         else
         {
             this.stream12_0 = Stream12.smethod_1(A_0);
         }
     }
     else
     {
         this.method_29(A_0);
     }
 }
예제 #10
0
    internal void method_1(Stream12 A_0)
    {
        int num = 0;

        byte[] buffer = new byte[20];
        Class364.smethod_8(buffer, ref num, this.int_7);
        Class364.smethod_8(buffer, ref num, this.int_8);
        Class364.smethod_8(buffer, ref num, this.int_9);
        Class364.smethod_8(buffer, ref num, this.int_10);
        Class364.smethod_8(buffer, ref num, this.int_11);
        A_0.Write(buffer, 0, buffer.Length);
        if (this.oleLinkType_0 == OleLinkType.Link)
        {
            this.method_2(A_0, 4);
            string[] strArray = this.string_0.Split(new char[] { '\\' });
            string   str      = strArray[strArray.Length - 1];
            this.class366_1 = new Class366(str);
            this.class366_1.method_0(A_0, false);
            this.class366_2 = new Class366(this.string_0);
            this.class366_2.method_0(A_0, true);
            this.method_2(A_0, 0x10);
            this.method_2(A_0, 4);
            this.method_2(A_0, 4);
            this.method_2(A_0, 4);
            this.method_2(A_0, 4);
            this.method_2(A_0, 4);
        }
    }
예제 #11
0
        private Stream method_77(byte[] A_0)
        {
            int num = 10;

            if ((A_0 == null) || (A_0.Length == 0))
            {
                return(null);
            }
            MemoryStream stream  = null;
            Stream12     stream2 = null;
            Stream12     stream3 = null;
            Stream12     stream4 = null;
            Stream12     stream5 = null;
            MemoryStream stream6 = null;

            try
            {
                stream  = new MemoryStream(A_0);
                stream2 = new Stream12(stream);
                stream3 = stream2.method_11(BookmarkStart.b("缯倱帳匵嬷丹氻儽⼿⹁", num));
                stream4 = stream3.method_11(BookmarkStart.b("漯", num) + this.Interface49.get_OleStorageName().ToString());
                stream5 = Stream12.smethod_2();
                Stream12.smethod_0(stream4, stream5);
                stream6 = new MemoryStream();
                stream5.method_17(stream6);
                stream6.Position = 0L;
            }
            catch (Exception)
            {
            }
            finally
            {
                if (stream != null)
                {
                    stream.Close();
                    stream.Dispose();
                }
                if (stream2 != null)
                {
                    stream2.Close();
                    stream3.Dispose();
                }
                if (stream3 != null)
                {
                    stream3.Close();
                    stream3.Dispose();
                }
                if (stream4 != null)
                {
                    stream4.Close();
                    stream4.Dispose();
                }
                if (stream5 != null)
                {
                    stream5.Close();
                    stream5.Dispose();
                }
            }
            return(stream6);
        }
예제 #12
0
 void IDisposable.Dispose()
 {
     this.string_9 = null;
     this.stream_0 = null;
     if (this.stream12_0 != null)
     {
         this.stream12_0.Dispose();
         this.stream12_0 = null;
     }
     this.digitalSignatures_0 = null;
     this.interface51_0       = null;
     this.memoryStream_0      = null;
     this.memoryStream_1      = null;
     this.memoryStream_2      = null;
     this.memoryStream_3      = null;
     this.memoryStream_4      = null;
     this.memoryStream_5      = null;
     this.memoryStream_6      = null;
     this.binaryWriter_0      = null;
     this.binaryWriter_1      = null;
     this.binaryWriter_2      = null;
     this.binaryWriter_3      = null;
     this.binaryWriter_4      = null;
     this.binaryReader_0      = null;
     this.binaryReader_1      = null;
     this.binaryReader_2      = null;
     this.binaryReader_3      = null;
     this.binaryReader_4      = null;
 }
예제 #13
0
    internal static void smethod_0(MemoryStream A_0, int A_1, MemoryStream A_2, out byte[] A_3)
    {
        Stream12 stream  = new Stream12(A_0);
        Stream12 stream2 = stream.method_11(BookmarkStart.b("礵娷倹夻崽㐿ቁ⭃⥅⑇", 0x10));
        string   str     = BookmarkStart.b("椵", 0x10) + A_1.ToString();
        Stream12 stream3 = stream2.method_11(str);
        Stream12 stream4 = new Stream12(A_2, STGM.STGM_SHARE_EXCLUSIVE | STGM.STGM_READWRITE);
        Stream12 stream5 = stream4.method_12(BookmarkStart.b("礵娷倹夻崽㐿ቁ⭃⥅⑇", 0x10), STGM.STGM_SHARE_EXCLUSIVE | STGM.STGM_READWRITE);

        if (!stream5.method_20(str))
        {
            Stream12.smethod_0(stream3, stream5);
        }
        stream.Dispose();
        stream2.Dispose();
        stream3.Dispose();
        stream  = null;
        stream2 = null;
        stream3 = null;
        A_2     = new MemoryStream();
        stream4.method_17(A_2);
        A_3 = A_2.GetBuffer();
        stream5.Dispose();
        stream4.Dispose();
        stream4 = null;
        stream5 = null;
    }
예제 #14
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++;
        }
    }
예제 #15
0
    private void method_22(Stream12 A_0, OleObjectType A_1)
    {
        int num = 1;

        switch (A_1)
        {
        case OleObjectType.AdobeAcrobatDocument:
        case OleObjectType.BitmapImage:
        case OleObjectType.Equation:
        case OleObjectType.GraphChart:
        case OleObjectType.Excel_97_2003_Worksheet:
        case OleObjectType.ExcelBinaryWorksheet:
        case OleObjectType.ExcelChart:
        case OleObjectType.ExcelMacroWorksheet:
        case OleObjectType.ExcelWorksheet:
        case OleObjectType.PowerPoint_97_2003_Presentation:
        case OleObjectType.PowerPoint_97_2003_Slide:
        case OleObjectType.PowerPointMacroPresentation:
        case OleObjectType.PowerPointMacroSlide:
        case OleObjectType.PowerPointPresentation:
        case OleObjectType.PowerPointSlide:
        case OleObjectType.Word_97_2003_Document:
        case OleObjectType.WordDocument:
        case OleObjectType.WordMacroDocument:
        case OleObjectType.VisioDrawing:
        case OleObjectType.OpenDocumentPresentation:
        case OleObjectType.OpenDocumentSpreadsheet:
        case OleObjectType.OpenOfficeSpreadsheet1_1:
        case OleObjectType.OpenOfficeText_1_1:
        case OleObjectType.Package:
        case OleObjectType.OpenOfficeSpreadsheet:
        case OleObjectType.OpenOfficeText:
        case OleObjectType.VisioDrawing_2013:
            if (!this.method_23(A_0.method_1(), BookmarkStart.b("☦樨䐪䀬弮縰儲弴", num)))
            {
                A_0.method_15(BookmarkStart.b("☦樨䐪䀬弮縰儲弴", num));
                this.class369_0 = new Class369(A_1);
                this.class369_0.method_2(A_0);
                A_0.Close();
            }
            break;

        case OleObjectType.MediaClip:
        case OleObjectType.MIDISequence:
        case OleObjectType.OpenDocumentText:
        case OleObjectType.VideoClip:
        case OleObjectType.WaveSound:
        case OleObjectType.WordPadDocument:
            break;

        default:
            return;
        }
    }
예제 #16
0
 internal void method_2(Stream12 A_0)
 {
     this.class370_0.method_0(A_0);
     this.method_4(A_0, this.string_0);
     this.method_4(A_0, this.string_1);
     this.method_4(A_0, this.string_2);
     this.method_3(A_0, 4);
     this.method_3(A_0, 4);
     this.method_3(A_0, 4);
     this.method_3(A_0, 4);
 }
예제 #17
0
 internal void method_30(Stream A_0)
 {
     if (this.bool_0)
     {
         this.interface51_0 = new Class1004(A_0);
     }
     else
     {
         this.stream12_0 = new Stream12(A_0, STGM.STGM_DIRECT_SWMR | STGM.STGM_SHARE_DENY_NONE);
     }
     this.method_43();
 }
예제 #18
0
    private void method_25(Stream12 A_0, OleLinkType A_1, OleObjectType A_2, string A_3)
    {
        int num = 4;

        switch (A_2)
        {
        case OleObjectType.AdobeAcrobatDocument:
        case OleObjectType.BitmapImage:
        case OleObjectType.Equation:
        case OleObjectType.GraphChart:
        case OleObjectType.Excel_97_2003_Worksheet:
        case OleObjectType.ExcelBinaryWorksheet:
        case OleObjectType.ExcelChart:
        case OleObjectType.ExcelMacroWorksheet:
        case OleObjectType.ExcelWorksheet:
        case OleObjectType.PowerPoint_97_2003_Presentation:
        case OleObjectType.PowerPoint_97_2003_Slide:
        case OleObjectType.PowerPointMacroPresentation:
        case OleObjectType.PowerPointMacroSlide:
        case OleObjectType.PowerPointSlide:
        case OleObjectType.VisioDrawing:
        case OleObjectType.OpenDocumentPresentation:
        case OleObjectType.OpenDocumentSpreadsheet:
        case OleObjectType.OpenOfficeSpreadsheet1_1:
        case OleObjectType.OpenOfficeText_1_1:
        case OleObjectType.Package:
        case OleObjectType.WordPadDocument:
        case OleObjectType.OpenOfficeText:
            A_0.method_15(BookmarkStart.b("⬩挫䈭唯", num));
            this.class365_0 = new Class365(A_1, A_3);
            this.class365_0.method_1(A_0);
            A_0.Close();
            break;

        case OleObjectType.MediaClip:
        case OleObjectType.PowerPointPresentation:
        case OleObjectType.Word_97_2003_Document:
        case OleObjectType.WordDocument:
        case OleObjectType.WordMacroDocument:
        case OleObjectType.MIDISequence:
        case OleObjectType.OpenDocumentText:
        case OleObjectType.VideoClip:
        case OleObjectType.WaveSound:
        case OleObjectType.OpenOfficeSpreadsheet:
            break;

        default:
            return;
        }
    }
예제 #19
0
 internal void method_37(MemoryStream A_0, string A_1)
 {
     if (!this.bool_0)
     {
         A_0.Position = 0L;
         Stream12 stream  = new Stream12(A_0);
         Stream12 stream2 = stream.method_11(A_1);
         Stream12.smethod_0(stream2, this.stream12_0);
         stream.Dispose();
         stream = null;
         stream2.Dispose();
         stream2 = null;
     }
 }
예제 #20
0
    private void method_4(Stream12 A_0, string A_1)
    {
        byte[]        buffer   = new byte[4];
        ASCIIEncoding encoding = new ASCIIEncoding();
        int           num      = 0;

        byte[] bytes = encoding.GetBytes(A_1);
        Class364.smethod_8(buffer, ref num, bytes.Length);
        A_0.Write(buffer, 0, buffer.Length);
        if (bytes.Length > 0)
        {
            A_0.Write(bytes, 0, bytes.Length);
        }
    }
예제 #21
0
    private void method_28(Stream12 A_0, string A_1, byte[] A_2)
    {
        int num = 14;

        if (string.IsNullOrEmpty(A_1))
        {
            A_1 = this.string_22;
        }
        Encoding encoding = Encoding.Default;
        string   fileName = Path.GetFileName(A_1);

        byte[] bytes   = encoding.GetBytes(fileName);
        byte[] buffer2 = encoding.GetBytes(A_1);
        byte[] buffer3 = new byte[2];
        buffer3[0] = 2;
        byte[] buffer4 = buffer3;
        byte[] buffer5 = new byte[4];
        buffer5[2] = 3;
        byte[] buffer6 = buffer5;
        int    num2    = 4;

        num2  = 4 + buffer4.Length;
        num2 += bytes.Length + 1;
        num2 += buffer2.Length + 1;
        num2 += buffer6.Length;
        num2 += 4;
        num2 += buffer2.Length + 1;
        num2 += 4;
        num2 += A_2.Length;
        num2 += 2;
        int num3 = 0;

        byte[] buffer7 = new byte[num2];
        Class364.smethod_8(buffer7, ref num3, num2 - 4);
        Class364.smethod_11(buffer7, ref num3, buffer4);
        Class364.smethod_11(buffer7, ref num3, bytes);
        num3++;
        Class364.smethod_11(buffer7, ref num3, buffer2);
        num3++;
        Class364.smethod_11(buffer7, ref num3, buffer6);
        Class364.smethod_8(buffer7, ref num3, buffer2.Length + 1);
        Class364.smethod_11(buffer7, ref num3, buffer2);
        num3++;
        Class364.smethod_8(buffer7, ref num3, A_2.Length);
        Class364.smethod_11(buffer7, ref num3, A_2);
        A_0.method_15(BookmarkStart.b("㔳礵吷弹഻฽฿⍁ぃ⽅㹇⽉", num));
        A_0.Write(buffer7, 0, buffer7.Length);
        A_0.Close();
    }
예제 #22
0
 internal void method_0(Stream12 A_0)
 {
     byte[] bytes = BitConverter.GetBytes(this.int_2);
     A_0.Write(bytes, 0, 4);
     bytes = BitConverter.GetBytes(this.int_3);
     A_0.Write(bytes, 0, 4);
     if (this.byte_0 == null)
     {
         A_0.Write(new byte[20], 0, 20);
     }
     else
     {
         A_0.Write(this.byte_0, 0, 20);
     }
 }
예제 #23
0
    internal void method_0(Stream12 A_0)
    {
        byte[] buffer = new byte[this.vmethod_2()];
        int    num    = 0;

        buffer[0] = (byte)this.byte_0.Length;
        num       = 2;
        Class364.smethod_11(buffer, ref num, this.byte_0);
        num += 2;
        Class364.smethod_11(buffer, ref num, BitConverter.GetBytes(-858997829));
        buffer[num] = (byte)this.byte_0.Length;
        num        += 2;
        Class364.smethod_11(buffer, ref num, this.byte_1);
        A_0.Write(buffer, 0, buffer.Length);
    }
예제 #24
0
    private void method_20(Stream12 A_0, byte[] A_1)
    {
        int num  = 0x10;
        int num2 = 0;
        int num3 = (A_1 == null) ? 0 : A_1.Length;

        byte[] buffer = new byte[num3 + 4];
        Class364.smethod_8(buffer, ref num2, num3);
        if (A_1 != null)
        {
            Class364.smethod_11(buffer, ref num2, A_1);
        }
        A_0.method_15(BookmarkStart.b("㜵眷嘹夻༽瀿ు╃㉅ⅇ㱉⥋", num));
        A_0.Write(buffer, 0, buffer.Length);
        A_0.Close();
    }
예제 #25
0
    internal static void smethod_1(Stream A_0, int A_1, Document A_2)
    {
        int num = 2;

        if (((A_0 != null) && (A_0.Length != 0L)) && (A_1 != 0))
        {
            string item = BookmarkStart.b("眧", num) + A_1;
            if (!A_2.ObjPoolContainers.Contains(item))
            {
                A_2.ObjPoolContainers.Add(item);
                A_0.Position = 0L;
                MemoryStream stream  = new MemoryStream();
                Stream12     stream2 = Stream12.smethod_2();
                Stream12     stream3 = stream2.method_13(BookmarkStart.b("朧䠩䘫䬭匯䘱搳夵圷嘹", num));
                byte[]       buffer  = new byte[A_0.Length];
                A_0.Read(buffer, 0, buffer.Length);
                A_0.Position = 0L;
                MemoryStream stream4 = new MemoryStream(buffer);
                Stream12     stream5 = new Stream12(stream4);
                Stream12     stream6 = stream5.method_11(item);
                Stream12.smethod_0(stream6, stream3);
                stream2.Flush();
                stream2.method_17(stream);
                stream.Position = 0L;
                if (A_2.ObjectPool == null)
                {
                    A_2.ObjectPool = stream.GetBuffer();
                }
                else
                {
                    byte[] objectPool = A_2.ObjectPool;
                    smethod_0(stream, A_1, new MemoryStream(A_2.ObjectPool), out objectPool);
                    A_2.ObjectPool = objectPool;
                }
                stream2.Close();
                stream2.Dispose();
                stream3.Close();
                stream3.Dispose();
                stream5.Close();
                stream5.Dispose();
                stream6.Close();
                stream6.Dispose();
                stream.Close();
                stream.Dispose();
            }
        }
    }
예제 #26
0
 internal MemoryStream method_46(string A_0)
 {
     if (this.stream12_0.method_20(A_0))
     {
         Stream12 stream  = this.stream12_0.method_11(A_0);
         Stream12 stream2 = Stream12.smethod_2();
         Stream12.smethod_0(stream, stream2);
         MemoryStream stream3 = new MemoryStream();
         stream2.method_17(stream3);
         stream2.Close();
         stream2.Dispose();
         stream.Close();
         stream.Dispose();
         return(stream3);
     }
     return(null);
 }
예제 #27
0
        internal static byte[] smethod_3(List <DocOleObject> A_0)
        {
            int num = 3;

            byte[] buffer = new byte[0];
            if ((A_0 != null) && (A_0.Count > 0))
            {
                List <string> list = new List <string>();
                using (MemoryStream stream5 = new MemoryStream())
                {
                    using (Stream12 stream = Stream12.smethod_2())
                    {
                        using (Stream12 stream2 = stream.method_13(BookmarkStart.b("昨䤪䜬䨮到䜲攴堶嘸场", num)))
                        {
                            foreach (DocOleObject obj2 in A_0)
                            {
                                string item = BookmarkStart.b("瘨", num) + obj2.Interface49.get_OleStorageName();
                                if (!list.Contains(item))
                                {
                                    list.Add(item);
                                    if (obj2.Interface49.get_Container() != null)
                                    {
                                        obj2.Interface49.get_Container().Position = 0L;
                                        using (Stream12 stream3 = new Stream12(obj2.Interface49.get_Container()))
                                        {
                                            using (Stream12 stream4 = stream3.method_11(item))
                                            {
                                                Stream12.smethod_0(stream4, stream2);
                                            }
                                        }
                                    }
                                }
                            }
                            stream.Flush();
                            stream.method_17(stream5);
                            stream5.Position = 0L;
                            buffer           = stream5.ToArray();
                        }
                    }
                }
                list = null;
            }
            return(buffer);
        }
예제 #28
0
    internal byte[] method_11(byte[] A_0, string A_1, string A_2, OleLinkType A_3, OleObjectType A_4)
    {
        int num = 10;

        this.string_22 = A_1;
        if (A_4 == OleObjectType.Package)
        {
            this.string_21 = A_1;
        }
        MemoryStream stream  = new MemoryStream(A_0);
        Stream12     stream2 = new Stream12(stream, STGM.STGM_SHARE_EXCLUSIVE | STGM.STGM_READWRITE);
        Stream12     stream3 = null;

        stream3 = stream2.method_12(BookmarkStart.b("缯倱帳匵嬷丹氻儽⼿⹁", num), STGM.STGM_SHARE_EXCLUSIVE | STGM.STGM_READWRITE);
        Stream12 stream4 = stream3.method_12(A_2, STGM.STGM_SHARE_EXCLUSIVE | STGM.STGM_READWRITE);

        this.method_25(stream4, A_3, A_4, A_1);
        this.method_26(stream4, A_3, A_4);
        if (A_3 == OleLinkType.Embed)
        {
            this.byte_0 = File.ReadAllBytes(A_1);
            this.method_22(stream4, A_4);
            this.method_15(stream4, A_1, A_4);
        }
        else
        {
            this.method_24(stream4, A_4, A_1);
        }
        stream3.Flush();
        stream2.Flush();
        MemoryStream stream5 = new MemoryStream();

        stream2.method_17(stream5);
        stream5.Flush();
        byte[] buffer = stream5.ToArray();
        stream5.Close();
        stream2.Close();
        stream2.Dispose();
        stream3.Close();
        stream3.Dispose();
        return(buffer);
    }
예제 #29
0
    internal byte[] method_12(byte[] A_0, byte[] A_1, string A_2, DocOleObject A_3)
    {
        int          num    = 14;
        MemoryStream stream = new MemoryStream(A_0);
        string       str    = BookmarkStart.b("欳", 14) + A_3.Interface49.get_OleStorageName();

        if ((A_3.stream_1 != null) && (A_3.OleObjectType == OleObjectType.Undefined))
        {
            return(this.method_14(stream, A_3, str));
        }
        Stream12 stream3 = new Stream12(stream, STGM.STGM_SHARE_EXCLUSIVE | STGM.STGM_READWRITE);
        Stream12 stream4 = null;

        stream4 = stream3.method_12(BookmarkStart.b("笳吵刷弹弻䨽ဿⵁ⭃⩅", num), STGM.STGM_SHARE_EXCLUSIVE | STGM.STGM_READWRITE);
        Stream12 stream2 = stream4.method_12(str, STGM.STGM_SHARE_EXCLUSIVE | STGM.STGM_READWRITE);

        this.method_25(stream2, A_3.Interface49.get_LinkType(), A_3.OleObjectType, A_2);
        this.method_26(stream2, A_3.Interface49.get_LinkType(), A_3.OleObjectType);
        if (A_3.Interface49.get_LinkType() == OleLinkType.Embed)
        {
            this.byte_0 = A_1;
            this.method_22(stream2, A_3.OleObjectType);
            this.method_15(stream2, A_2, A_3.OleObjectType);
        }
        else
        {
            this.method_24(stream2, A_3.OleObjectType, A_2);
        }
        stream4.Flush();
        stream3.Flush();
        MemoryStream stream5 = new MemoryStream();

        stream3.method_17(stream5);
        stream5.Flush();
        byte[] buffer = stream5.ToArray();
        stream5.Close();
        stream3.Close();
        stream3.Dispose();
        stream4.Close();
        stream4.Dispose();
        return(buffer);
    }
예제 #30
0
    public static void smethod_0(Stream12 A_0, Stream12 A_1)
    {
        int num = 7;

        if (A_0 == null)
        {
            throw new ArgumentNullException(BookmarkStart.b("帬䀮䐰䄲嘴制", num));
        }
        if (A_1 == null)
        {
            throw new ArgumentNullException(BookmarkStart.b("䤬䨮䈰䜲尴夶堸伺吼倾⽀", num));
        }
        string str = A_0.method_6();

        if (str == null)
        {
            throw new ArgumentException(BookmarkStart.b("縬䀮䐰䄲嘴制ᤸ强刼娾㉀捂⭄⡆㵈歊⹌⁎㽐❒㑔㹖㝘筚㉜⽞Ѡൢdͦ䥨ᡪᡬ൮屰rŴᡶ୸᩺᩼᩾", num));
        }
        using (Stream12 stream = !A_1.method_20(str) ? A_1.method_13(str) : A_1.method_11(str))
        {
            A_0.method_3().imethod_4(0, IntPtr.Zero, IntPtr.Zero, stream.method_3());
            A_1.method_3().imethod_6(0);
        }
    }