예제 #1
0
    // 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);
    }
예제 #2
0
    // 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);
    }
예제 #3
0
        // 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);
        }