コード例 #1
0
 public static GClass876.GStruct3 smethod_2(IntPtr intptr_0, IntPtr intptr_1, out int int_0)
 {
     int_0 = 0;
     GClass876.GStruct3 result = default(GClass876.GStruct3);
     if (GClass876.smethod_1())
     {
         GClass876.GStruct2 gstruct = default(GClass876.GStruct2);
         if (GClass876.VirtualQueryEx(intptr_0, intptr_1, out gstruct, (uint)Marshal.SizeOf(typeof(GClass876.GStruct2))) != 0)
         {
             result.intptr_1 = gstruct.intptr_1;
             result.int_0    = gstruct.int_0;
             result.intptr_0 = gstruct.intptr_0;
             result.int_1    = gstruct.int_2;
             result.long_0   = (long)gstruct.int_1;
             result.State    = gstruct.State;
             result.int_2    = gstruct.int_3;
             return(result);
         }
         int_0 = Marshal.GetLastWin32Error();
     }
     else
     {
         if (GClass876.VirtualQueryEx_1(intptr_0, intptr_1, out result, (uint)Marshal.SizeOf(typeof(GClass876.GStruct3))) != 0)
         {
             return(result);
         }
         int_0 = Marshal.GetLastWin32Error();
     }
     return(result);
 }
コード例 #2
0
    public bool method_6()
    {
        this.method_5(new List <GClass876.GStruct3>());
        GClass876.GStruct1 gstruct = default(GClass876.GStruct1);
        GClass876.GetSystemInfo(out gstruct);
        this.intptr_0 = gstruct.intptr_0;
        this.intptr_1 = gstruct.intptr_1;
        long   num  = (long)this.intptr_0;
        long   num2 = (long)this.intptr_1;
        IntPtr intPtr;

        this.method_3(intPtr = GClass876.OpenProcess(5176, false, this.method_0()));
        IntPtr intPtr2 = intPtr;

        GClass876.GStruct3 gstruct2 = default(GClass876.GStruct3);
        if (GClass876.smethod_0(intPtr2))
        {
            num2 = Math.Min(2147483647L, num2);
        }
        this.intptr_1 = (IntPtr)num2;
        int num3 = 0;

        while (num < num2)
        {
            int num4;
            gstruct2 = GClass876.smethod_2(intPtr2, this.intptr_0, out num4);
            if (num4 == 0)
            {
                if (gstruct2.int_1 == 4 && gstruct2.State == 4096)
                {
                    this.method_4().Add(gstruct2);
                }
                num          += gstruct2.long_0;
                this.intptr_0 = new IntPtr(num);
                num3++;
            }
            else
            {
                if (num3 == 0)
                {
                    throw new Win32Exception(num4);
                }
                return(true);
            }
        }
        return(true);
    }
コード例 #3
0
 public static extern int VirtualQueryEx_1(IntPtr intptr_0, IntPtr intptr_1, out GClass876.GStruct3 gstruct3_0, uint uint_0);
コード例 #4
0
    public static IEnumerable <IntPtr> smethod_0(GClass874 gclass874_0, GClass876.GStruct3 gstruct3_0, byte[] byte_0)
    {
        goto IL_23;
        for (;;)
        {
            IEnumerator <int> enumerator;
            long   pos;
            long   left;
            long   toRead;
            IntPtr from;
            try
            {
IL_133:
                if (!enumerator.MoveNext())
                {
                    goto JumpOutOfTryFinally - 3;
                }
                goto IL_1A1;
IL_23:
                int bufferSize = (int)Math.Min(gstruct3_0.long_0, (long)Math.Max(1048576, byte_0.Length * 4));
                byte[] buf = new byte[bufferSize];
                pos  = 0L;
                left = gstruct3_0.long_0;
                GClass879 kmp = new GClass879(byte_0);
                Debug.WriteLine(gstruct3_0.long_0);
                goto IL_18B;
IL_B2:
                toRead = Math.Min((long)bufferSize, left);
                from   = (IntPtr)((long)gstruct3_0.intptr_0 + pos);
                if (!gclass874_0.method_8(from, buf, (int)toRead))
                {
                    goto IL_1D1;
                }
                enumerator = kmp.method_4(buf).GetEnumerator();
                goto IL_133;
            }
            finally
            {
                if (enumerator != null)
                {
                    enumerator.Dispose();
                }
            }
            goto JumpOutOfTryFinally - 3;
IL_18B:
            if (left <= 0L)
            {
                break;
            }
            goto IL_B2;
IL_1A1:
            int num = enumerator.Current;
            yield return(new IntPtr((long)from + (long)num));

            continue;
            JumpOutOfTryFinally - 3 :
            enumerator = null;
            left      -= toRead;
            pos       += toRead;
            pos       -= (long)(byte_0.Length - 1);
            goto IL_18B;
        }
IL_1D1:
        yield break;
        yield break;
    }