Beispiel #1
0
        /// <inheritdoc />
        public override void Process(BotData data)
        {
            if (!data.GlobalSettings.Captchas.BypassBalanceCheck)
            {
                base.Process(data);
            }

            var localUrl = ReplaceValues(url, data);

            data.Log(new LogEntry("Downloading image...", Colors.White));

            // Download captcha
            var captchaFile = string.Format("Captchas/captcha{0}.jpg", data.BotNumber);

            if (base64)
            {
                var bytes = Convert.FromBase64String(localUrl);
                using (var imageFile = new FileStream(captchaFile, FileMode.Create))
                {
                    imageFile.Write(bytes, 0, bytes.Length);
                    imageFile.Flush();
                }
            }
            else if (sendScreenshot && data.Screenshots.Count > 0)
            {
                Bitmap image = new Bitmap(data.Screenshots.Last());
                image.Save(captchaFile);
            }
            else
            {
                try
                {
                    DownloadRemoteImageFile(captchaFile, data, localUrl);
                }
                catch (Exception ex) { data.Log(new LogEntry(ex.Message, Colors.Tomato)); throw; }
            }

            string response = "";

            CaptchaServices.CaptchaService service = null;
            var bitmap = new Bitmap(captchaFile);

            try
            {
                var cs = data.GlobalSettings.Captchas;
                switch (cs.CurrentService)
                {
                case CaptchaService.ImageTypers:
                    service = new ImageTyperz(cs.ImageTypToken, cs.Timeout);
                    break;

                case CaptchaService.AntiCaptcha:
                    service = new AntiCaptcha(cs.AntiCapToken, cs.Timeout);
                    break;

                case CaptchaService.DBC:
                    service = new DeathByCaptcha(cs.DBCUser, cs.DBCPass, cs.Timeout);
                    break;

                case CaptchaService.TwoCaptcha:
                    service = new TwoCaptcha(cs.TwoCapToken, cs.Timeout);
                    break;

                case CaptchaService.RuCaptcha:
                    service = new RuCaptcha(cs.RuCapToken, cs.Timeout);
                    break;

                case CaptchaService.DeCaptcher:
                    service = new DeCaptcher(cs.DCUser, cs.DCPass, cs.Timeout);
                    break;

                case CaptchaService.AZCaptcha:
                    service = new AZCaptcha(cs.AZCapToken, cs.Timeout);
                    break;

                case CaptchaService.CaptchasIO:
                    service = new CaptchasIO(cs.CIOToken, cs.Timeout);
                    break;

                case CaptchaService.CustomTwoCaptcha:
                    service = new CustomTwoCaptcha(cs.CustomTwoCapToken, cs.CustomTwoCapDomain, cs.CustomTwoCapPort, cs.Timeout);
                    break;

                default:
                    throw new Exception("This service cannot solve normal captchas!");
                }
                response = service.SolveCaptcha(bitmap);
            }
            catch (Exception ex) { data.Log(new LogEntry(ex.Message, Colors.Tomato)); throw; }
            finally { bitmap.Dispose(); }

            data.CaptchaService = service;
            data.Log(response == "" ? new LogEntry("Couldn't get a response from the service", Colors.Tomato) : new LogEntry("Succesfully got the response: " + response, Colors.GreenYellow));

            if (VariableName != "")
            {
                data.Log(new LogEntry("Response stored in variable: " + variableName, Colors.White));
                data.Variables.Set(new CVar(variableName, response));
            }
        }
        /// <inheritdoc />
        public override void Process(BotData data)
        {
            if (!data.GlobalSettings.Captchas.BypassBalanceCheck)
            {
                base.Process(data);
            }

            data.Log(new LogEntry("Solving reCaptcha...", Colors.White));

            string recapResponse = "";

            CaptchaServices.CaptchaService service = null;

            var cs = data.GlobalSettings.Captchas;

            switch (cs.CurrentService)
            {
            case CaptchaService.ImageTypers:
                service = new ImageTyperz(cs.ImageTypToken, cs.Timeout);
                break;

            case CaptchaService.AntiCaptcha:
                service = new AntiCaptcha(cs.AntiCapToken, cs.Timeout);
                break;

            case CaptchaService.DBC:
                service = new DeathByCaptcha(cs.DBCUser, cs.DBCPass, cs.Timeout);
                break;

            case CaptchaService.TwoCaptcha:
                service = new TwoCaptcha(cs.TwoCapToken, cs.Timeout);
                break;

            case CaptchaService.RuCaptcha:
                service = new RuCaptcha(cs.RuCapToken, cs.Timeout);
                break;

            case CaptchaService.DeCaptcher:
                service = new DeCaptcher(cs.DCUser, cs.DCPass, cs.Timeout);
                break;

            case CaptchaService.AZCaptcha:
                service = new AZCaptcha(cs.AZCapToken, cs.Timeout);
                break;

            case CaptchaService.SolveRecaptcha:
                service = new SolveReCaptcha(cs.SRUserId, cs.SRToken, cs.Timeout);
                break;

            case CaptchaService.CaptchasIO:
                service = new CaptchasIO(cs.CIOToken, cs.Timeout);
                break;

            case CaptchaService.CustomTwoCaptcha:
                service = new CustomTwoCaptcha(cs.CustomTwoCapToken, cs.CustomTwoCapDomain, cs.CustomTwoCapPort, cs.Timeout);
                break;

            default:
                throw new Exception("This service cannot solve reCaptchas!");
            }
            recapResponse = service.SolveRecaptcha(siteKey, ReplaceValues(url, data));

            data.Log(recapResponse == "" ? new LogEntry("Couldn't get a reCaptcha response from the service", Colors.Tomato) : new LogEntry("Succesfully got the response: " + recapResponse, Colors.GreenYellow));
            if (VariableName != "")
            {
                data.Log(new LogEntry("Response stored in variable: " + variableName, Colors.White));
                data.Variables.Set(new CVar(variableName, recapResponse));
            }
        }
        private void checkBalanceButton_Click(object sender, RoutedEventArgs e)
        {
            // Save
            IOManager.SaveSettings(Globals.rlSettingsFile, Globals.rlSettings);

            double balance = 0;

            try
            {
                var cs = Globals.rlSettings.Captchas;
                switch (cs.CurrentService)
                {
                case BlockCaptcha.CaptchaService.AntiCaptcha:
                    balance = new AntiCaptcha(cs.AntiCapToken, cs.Timeout).GetBalance();
                    break;

                case BlockCaptcha.CaptchaService.DBC:
                    balance = new DeathByCaptcha(cs.DBCUser, cs.DBCPass, cs.Timeout).GetBalance();
                    break;

                case BlockCaptcha.CaptchaService.DeCaptcher:
                    balance = new DeCaptcher(cs.DCUser, cs.DCPass, cs.Timeout).GetBalance();
                    break;

                case BlockCaptcha.CaptchaService.ImageTypers:
                    balance = new ImageTyperz(cs.ImageTypToken, cs.Timeout).GetBalance();
                    break;

                case BlockCaptcha.CaptchaService.TwoCaptcha:
                    balance = new TwoCaptcha(cs.TwoCapToken, cs.Timeout).GetBalance();
                    break;

                case BlockCaptcha.CaptchaService.RuCaptcha:
                    balance = new RuCaptcha(cs.RuCapToken, cs.Timeout).GetBalance();
                    break;

                case BlockCaptcha.CaptchaService.AZCaptcha:
                    balance = new AZCaptcha(cs.AZCapToken, cs.Timeout).GetBalance();
                    break;

                case BlockCaptcha.CaptchaService.SolveRecaptcha:
                    balance = new SolveReCaptcha(cs.SRUserId, cs.SRToken, cs.Timeout).GetBalance();
                    break;

                case BlockCaptcha.CaptchaService.CaptchasIO:
                    balance = new CaptchasIO(cs.CIOToken, cs.Timeout).GetBalance();
                    break;

                case BlockCaptcha.CaptchaService.CustomTwoCaptcha:
                    balance = new CustomTwoCaptcha(cs.CustomTwoCapToken, cs.CustomTwoCapDomain, cs.CustomTwoCapPort, cs.Timeout).GetBalance();
                    break;

                default:
                    balance = 999;
                    break;
                }
            }
            catch { balanceLabel.Content = "WRONG TOKEN / CREDENTIALS"; balanceLabel.Foreground = Globals.GetBrush("ForegroundBad"); return; }

            balanceLabel.Content    = balance;
            balanceLabel.Foreground = balance > 0 ? Globals.GetBrush("ForegroundGood") : Globals.GetBrush("ForegroundBad");
        }