// Token: 0x0600055A RID: 1370 RVA: 0x0002E0DC File Offset: 0x0002C2DC private void method_7(GClass1 gclass1_0) { CaptchaQueue.Class127 @class = new CaptchaQueue.Class127(); if (CaptchaQueue.dictionary_1.Count == 1) { return; } @class.short_0 = Convert.ToInt16(gclass1_0.bunifuThinButton2_0.ButtonText.Split(new char[] { ' ' }).Last <string>()); gclass1_0.method_1(); CaptchaQueue.dictionary_1[(int)@class.short_0].webView_0.Engine.Stop(true); CaptchaQueue.dictionary_1[(int)@class.short_0].webView_0.Dispose(); CaptchaQueue.dictionary_1.Remove((int)@class.short_0); Class131 class2 = CaptchaQueue.concurrentDictionary_0.Values.FirstOrDefault(new Func <Class131, bool>(@class.method_0)); if (class2 != null) { class2.int_1 = 0; class2.bool_0 = false; CaptchaQueue.smethod_1(null, null); } this.method_9(this.int_1); if (CaptchaQueue.int_0 == (int)@class.short_0 && !this.method_8()) { int num = this.dictionary_0.Values.ToList <GClass1>().IndexOf(gclass1_0); this.method_6(this.dictionary_0[(num > 0) ? num : 4]); } }
// Token: 0x0600054D RID: 1357 RVA: 0x0002DC48 File Offset: 0x0002BE48 public static async Task <string> smethod_0(string string_0, string string_1, string string_2, CancellationToken cancellationToken_0) { MainWindow.mainWindow_0.Invoke(new MethodInvoker(CaptchaQueue.Class126.class126_0.method_0)); Class131 @class = new Class131 { int_0 = (int)Convert.ToInt16(string_2), string_1 = string_0, uri_0 = new Uri(string_1) }; CaptchaQueue.concurrentDictionary_0[@class.string_0] = @class; CaptchaQueue.smethod_1(null, null); Task <string> task = @class.taskCompletionSource_0.Task; Task task2 = await Task.WhenAny(new Task[] { task, cancellationToken_0.smethod_23() }); Class131 class2; CaptchaQueue.concurrentDictionary_0.TryRemove(@class.string_0, out class2); CaptchaQueue.smethod_5(@class.int_1); CaptchaQueue.smethod_1(null, null); return((task == task2) ? task.Result : null); }
// Token: 0x0600056B RID: 1387 RVA: 0x000052F7 File Offset: 0x000034F7 private void top_panel_MouseMove(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { CaptchaQueue.ReleaseCapture(); CaptchaQueue.SendMessage(base.Handle, 161, 2, 0); } }
// Token: 0x0600055E RID: 1374 RVA: 0x0002E424 File Offset: 0x0002C624 private void addSolverButton_Click(object sender, EventArgs e) { this.method_0(null, null); int int_ = (CaptchaQueue.dictionary_1.Count <KeyValuePair <int, GClass0> >() + 3) / 4; this.method_9(int_); CaptchaQueue.smethod_1(null, null); }
// Token: 0x0600057A RID: 1402 RVA: 0x00030B0C File Offset: 0x0002ED0C void IAsyncStateMachine.MoveNext() { int num2; int num = num2; string result2; try { TaskAwaiter <Task> taskAwaiter; if (num != 0) { MainWindow.mainWindow_0.Invoke(new MethodInvoker(CaptchaQueue.Class126.class126_0.method_0)); @class = new Class131 { int_0 = (int)Convert.ToInt16(string_2), string_1 = string_0, uri_0 = new Uri(string_1) }; CaptchaQueue.concurrentDictionary_0[@class.string_0] = @class; CaptchaQueue.smethod_1(null, null); task = @class.taskCompletionSource_0.Task; taskAwaiter = Task.WhenAny(new Task[] { task, cancellationToken_0.smethod_23() }).GetAwaiter(); if (!taskAwaiter.IsCompleted) { num2 = 0; TaskAwaiter <Task> taskAwaiter2 = taskAwaiter; this.asyncTaskMethodBuilder_0.AwaitUnsafeOnCompleted <TaskAwaiter <Task>, CaptchaQueue.Struct81>(ref taskAwaiter, ref this); return; } } else { TaskAwaiter <Task> taskAwaiter2; taskAwaiter = taskAwaiter2; taskAwaiter2 = default(TaskAwaiter <Task>); num2 = -1; } Task result = taskAwaiter.GetResult(); Class131 class2; CaptchaQueue.concurrentDictionary_0.TryRemove(@class.string_0, out class2); CaptchaQueue.smethod_5(@class.int_1); CaptchaQueue.smethod_1(null, null); result2 = ((task == result) ? task.Result : null); } catch (Exception exception) { num2 = -2; this.asyncTaskMethodBuilder_0.SetException(exception); return; } num2 = -2; this.asyncTaskMethodBuilder_0.SetResult(result2); }
// Token: 0x06000552 RID: 1362 RVA: 0x00005226 File Offset: 0x00003426 public static void smethod_5(int int_2) { if (!CaptchaQueue.dictionary_1.ContainsKey(int_2)) { return; } CaptchaQueue.dictionary_1[int_2].bool_0 = true; CaptchaQueue.dictionary_1[int_2].webView_0.LoadHtml(CaptchaQueue.smethod_4()); }
// Token: 0x0600055F RID: 1375 RVA: 0x0002E458 File Offset: 0x0002C658 private void reloadCaptcha_Click(object sender, EventArgs e) { Class131 value = CaptchaQueue.concurrentDictionary_0.Where(new Func <KeyValuePair <string, Class131>, bool>(CaptchaQueue.Class126.class126_0.method_9)).FirstOrDefault <KeyValuePair <string, Class131> >().Value; if (value != null) { CaptchaQueue.dictionary_1[value.int_1].webView_0.LoadHtml(value.uri_0.ToString().Contains("supreme") ? CaptchaQueue.smethod_3(value.string_1, value.string_0) : CaptchaQueue.smethod_2(value.string_1, value.int_0, value.string_0, value.uri_0), value.uri_0.ToString()); return; } CaptchaQueue.smethod_5(CaptchaQueue.int_0); }
// Token: 0x06000023 RID: 35 RVA: 0x00007E4C File Offset: 0x0000604C internal void method_2() { if (CaptchaQueue.list_0.Count > 0) { ConcurrentDictionary <string, string>[] array = CaptchaQueue.list_0.Where(new Func <ConcurrentDictionary <string, string>, bool>(CaptchaQueue.Class0.class0_0.method_3)).ToArray <ConcurrentDictionary <string, string> >(); for (int i = 0; i < array.Length; i++) { CaptchaQueue.Class2 @class = new CaptchaQueue.Class2(); @class.concurrentDictionary_0 = array[i]; CaptchaQueue.Class3 class2 = new CaptchaQueue.Class3(); class2.class2_0 = @class; if (class2.class2_0.concurrentDictionary_0 == null) { return; } bool flag = false; bool flag2 = false; class2.webView_0 = CaptchaQueue.smethod_2(class2.class2_0.concurrentDictionary_0["use_invisible"] == "true", out flag2, out flag, out class2.string_0); if (!flag2) { class2.class2_0.concurrentDictionary_0["use_invisible"] = "false"; } class2.class2_0.concurrentDictionary_0["browser_name"] = class2.string_0; if (flag) { class2.class2_0.concurrentDictionary_0["solving"] = "true"; if (!flag2) { CaptchaQueue.soundPlayer_0.Play(); } if (class2.class2_0.concurrentDictionary_0["domain"].Contains("supreme")) { class2.webView_0.LoadHtml(CaptchaQueue.smethod_5(class2.class2_0.concurrentDictionary_0["sitekey"], class2.class2_0.concurrentDictionary_0["token"]), class2.class2_0.concurrentDictionary_0["domain"]); } else { class2.webView_0.LoadHtml(CaptchaQueue.smethod_4(class2.class2_0.concurrentDictionary_0["sitekey"], class2.class2_0.concurrentDictionary_0["taskID"], class2.class2_0.concurrentDictionary_0["token"], class2.class2_0.concurrentDictionary_0["domain"]), class2.class2_0.concurrentDictionary_0["domain"]); } if (flag2) { new Task(new Action(class2.method_0)).Start(); } } } return; } if (CaptchaQueue.concurrentDictionary_1["main"] && !CaptchaQueue.webView_0.GetText().Contains("WAITING")) { CaptchaQueue.smethod_7(); } }
// Token: 0x0600054E RID: 1358 RVA: 0x0002DCA8 File Offset: 0x0002BEA8 public static bool smethod_1(object object_0, EventArgs eventArgs_0) { Class131 value = CaptchaQueue.concurrentDictionary_0.FirstOrDefault(new Func <KeyValuePair <string, Class131>, bool>(CaptchaQueue.Class126.class126_0.method_1)).Value; GClass0 value2 = CaptchaQueue.dictionary_1.FirstOrDefault(new Func <KeyValuePair <int, GClass0>, bool>(CaptchaQueue.Class126.class126_0.method_2)).Value; if (value != null && value2 != null) { value.bool_0 = true; value.int_1 = value2.int_0; MainWindow.mainWindow_0.Invoke(new MethodInvoker(CaptchaQueue.Class126.class126_0.method_4)); value2.bool_0 = false; value2.webView_0.LoadHtml(value.uri_0.ToString().Contains("supreme") ? CaptchaQueue.smethod_3(value.string_1, value.string_0) : CaptchaQueue.smethod_2(value.string_1, value.int_0, value.string_0, value.uri_0), value.uri_0.ToString()); return(true); } MainWindow.mainWindow_0.Invoke(new MethodInvoker(CaptchaQueue.Class126.class126_0.method_3)); return(false); }
// Token: 0x06000010 RID: 16 RVA: 0x00007008 File Offset: 0x00005208 public static string smethod_1(string string_0, string string_1, string string_2) { if (string_1.Contains("supreme") && Licenser.string_0.Contains("Sole Solution")) { return(CaptchaQueue.smethod_0(string_0, string_1, string_2)); } if (!MainWindow.captchaQueue_V1_0.Visible) { MainWindow.mainWindow_0.Invoke(new MethodInvoker(CaptchaQueue.Class0.class0_0.method_0)); } string text = Class103.smethod_0(16); ConcurrentDictionary <string, string> concurrentDictionary = new ConcurrentDictionary <string, string>(); concurrentDictionary["sitekey"] = string_0; concurrentDictionary["domain"] = string_1; concurrentDictionary["taskID"] = string_2; concurrentDictionary["token"] = text; concurrentDictionary["use_invisible"] = "true"; concurrentDictionary["solving"] = "false"; CaptchaQueue.list_0.Add(concurrentDictionary); string result; try { while (!CaptchaQueue.concurrentDictionary_0.ContainsKey(text)) { Thread.Sleep(100); } result = CaptchaQueue.concurrentDictionary_0[text]; } catch (ThreadAbortException) { CaptchaQueue.list_0.Remove(concurrentDictionary); if (concurrentDictionary.ContainsKey("browser_name")) { CaptchaQueue.concurrentDictionary_1[concurrentDictionary["browser_name"]] = true; } Thread.CurrentThread.Abort(); result = string.Empty; } catch { result = string.Empty; } return(result); }
// Token: 0x060007F8 RID: 2040 RVA: 0x00046754 File Offset: 0x00044954 private async Task <Uri> method_1(HttpResponseMessage httpResponseMessage_0, CancellationToken cancellationToken_0) { HtmlDocument htmlDocument = new HtmlDocument(); HtmlDocument htmlDocument2 = htmlDocument; TaskAwaiter <string> taskAwaiter = httpResponseMessage_0.smethod_3().GetAwaiter(); TaskAwaiter <string> taskAwaiter2; if (!taskAwaiter.IsCompleted) { await taskAwaiter; taskAwaiter = taskAwaiter2; taskAwaiter2 = default(TaskAwaiter <string>); } htmlDocument2.LoadHtml(taskAwaiter.GetResult()); htmlDocument2 = null; HtmlNode htmlNode = htmlDocument.DocumentNode.SelectSingleNode("//script[@src='/cdn-cgi/scripts/cf.challenge.js']"); Uri result; if (htmlNode == null) { result = null; } else { string value = htmlNode.Attributes["data-ray"].Value; string text = string.Format("{0}://{1}", httpResponseMessage_0.RequestMessage.RequestUri.Scheme, httpResponseMessage_0.RequestMessage.RequestUri.Authority); string value2 = htmlNode.Attributes["data-sitekey"].Value; string str = text + htmlDocument.GetElementbyId("challenge-form").Attributes["action"].Value; taskAwaiter = CaptchaQueue.smethod_0(value2, text, "0", cancellationToken_0).GetAwaiter(); if (!taskAwaiter.IsCompleted) { await taskAwaiter; taskAwaiter = taskAwaiter2; taskAwaiter2 = default(TaskAwaiter <string>); } result = new Uri(str + string.Format("?id={0}&g-recaptcha-response={1}", value, taskAwaiter.GetResult())); } return(result); }
// Token: 0x0600000D RID: 13 RVA: 0x00006D68 File Offset: 0x00004F68 public void method_0() { BrowserOptions options = new BrowserOptions { EnableXSSAuditor = new bool?(false), EnableWebSecurity = new bool?(false) }; CaptchaQueue.webView_0 = new WebView(); CaptchaQueue.webView_0.SetOptions(options); CaptchaQueue.webView_0.Create(this.browser_panel.Handle); CaptchaQueue.webView_0.RegisterJSExtensionFunction("submit", new JSExtInvokeHandler(this.method_1)); CaptchaQueue.webView_0.CertificateError += this.method_3; CaptchaQueue.webView_0.BeforeContextMenu += this.method_2; CaptchaQueue.concurrentDictionary_1["main"] = true; CaptchaQueue.webView_1 = this.threadRunner_0.CreateWebView(); CaptchaQueue.webView_1.SetOptions(options); CaptchaQueue.webView_1.RegisterJSExtensionFunction("submit", new JSExtInvokeHandler(this.method_1)); CaptchaQueue.webView_1.CertificateError += this.method_3; CaptchaQueue.webView_1.BeforeContextMenu += this.method_2; CaptchaQueue.concurrentDictionary_1["browser2"] = true; CaptchaQueue.webView_2 = this.threadRunner_0.CreateWebView(); CaptchaQueue.webView_2.SetOptions(options); CaptchaQueue.webView_2.RegisterJSExtensionFunction("submit", new JSExtInvokeHandler(this.method_1)); CaptchaQueue.webView_2.CertificateError += this.method_3; CaptchaQueue.webView_2.BeforeContextMenu += this.method_2; CaptchaQueue.concurrentDictionary_1["browser3"] = true; CaptchaQueue.webView_3 = this.threadRunner_0.CreateWebView(); CaptchaQueue.webView_3.SetOptions(options); CaptchaQueue.webView_3.RegisterJSExtensionFunction("submit", new JSExtInvokeHandler(this.method_1)); CaptchaQueue.webView_3.CertificateError += this.method_3; CaptchaQueue.webView_3.BeforeContextMenu += this.method_2; CaptchaQueue.concurrentDictionary_1["browser4"] = true; CaptchaQueue.smethod_7(); this.google_Login_0 = new Google_Login(); }
// Token: 0x06000548 RID: 1352 RVA: 0x0002D780 File Offset: 0x0002B980 public void method_0(string string_0, string string_1) { if (string_1 == null) { string_1 = string.Empty; } if (string_0 == null) { string_0 = Guid.NewGuid().ToString(); } int key = CaptchaQueue.dictionary_1.Any <KeyValuePair <int, GClass0> >() ? (CaptchaQueue.dictionary_1.Keys.Max() + 1) : 1; Panel panel = new Panel { Dock = DockStyle.Fill }; BrowserOptions options = new BrowserOptions { EnableXSSAuditor = new bool?(false), EnableWebSecurity = new bool?(false) }; WebView webView = new WebView(); Engine engine = Engine.Create(string_0); try { string[] array = string_1.Split(new char[] { ':' }); if (array.Length == 4) { engine.Options.Proxy = new ProxyInfo(ProxyType.HTTP, array[0], Convert.ToInt32(array[1]), array[2], array[3]); } else if (array.Length == 2) { engine.Options.Proxy = new ProxyInfo(ProxyType.HTTP, array[0], Convert.ToInt32(array[1])); } else { engine.Options.Proxy = null; } } catch { engine.Options.Proxy = null; } webView.SetOptions(options); webView.Engine = engine; webView.Engine.AllowRestart = true; webView.Create(panel.Handle); webView.RegisterJSExtensionFunction("submit", new JSExtInvokeHandler(this.method_3)); webView.CertificateError += this.method_11; webView.BeforeContextMenu += this.method_10; CaptchaQueue.dictionary_1[key] = new GClass0 { int_0 = key, string_0 = string_0, webView_0 = webView, panel_0 = panel, string_1 = string_1 }; webView.LoadHtml(CaptchaQueue.smethod_4()); }
// Token: 0x060007FC RID: 2044 RVA: 0x00046AB8 File Offset: 0x00044CB8 void IAsyncStateMachine.MoveNext() { int num2; int num = num2; Uri result2; try { TaskAwaiter <string> taskAwaiter3; if (num != 0) { if (num == 1) { taskAwaiter3 = taskAwaiter2; taskAwaiter2 = default(TaskAwaiter <string>); num2 = -1; goto IL_1B4; } htmlDocument = new HtmlDocument(); htmlDocument2 = htmlDocument; taskAwaiter3 = httpResponseMessage_0.smethod_3().GetAwaiter(); if (!taskAwaiter3.IsCompleted) { num2 = 0; taskAwaiter2 = taskAwaiter3; this.asyncTaskMethodBuilder_0.AwaitUnsafeOnCompleted <TaskAwaiter <string>, Class174.Struct146>(ref taskAwaiter3, ref this); return; } } else { taskAwaiter3 = taskAwaiter2; taskAwaiter2 = default(TaskAwaiter <string>); num2 = -1; } string result = taskAwaiter3.GetResult(); htmlDocument2.LoadHtml(result); htmlDocument2 = null; HtmlNode htmlNode = htmlDocument.DocumentNode.SelectSingleNode("//script[@src='/cdn-cgi/scripts/cf.challenge.js']"); if (htmlNode == null) { result2 = null; goto IL_1FB; } value = htmlNode.Attributes["data-ray"].Value; string str2 = string.Format("{0}://{1}", httpResponseMessage_0.RequestMessage.RequestUri.Scheme, httpResponseMessage_0.RequestMessage.RequestUri.Authority); string value2 = htmlNode.Attributes["data-sitekey"].Value; str = str2 + htmlDocument.GetElementbyId("challenge-form").Attributes["action"].Value; taskAwaiter3 = CaptchaQueue.smethod_0(value2, str2, "0", cancellationToken_0).GetAwaiter(); if (!taskAwaiter3.IsCompleted) { num2 = 1; taskAwaiter2 = taskAwaiter3; this.asyncTaskMethodBuilder_0.AwaitUnsafeOnCompleted <TaskAwaiter <string>, Class174.Struct146>(ref taskAwaiter3, ref this); return; } IL_1B4: string result3 = taskAwaiter3.GetResult(); result2 = new Uri(str + string.Format("?id={0}&g-recaptcha-response={1}", value, result3)); } catch (Exception exception) { num2 = -2; this.asyncTaskMethodBuilder_0.SetException(exception); return; } IL_1FB: num2 = -2; this.asyncTaskMethodBuilder_0.SetResult(result2); }
// Token: 0x06000016 RID: 22 RVA: 0x00002C8A File Offset: 0x00000E8A public static void smethod_7() { CaptchaQueue.webView_0.LoadHtmlAndWait(CaptchaQueue.smethod_6()); }