コード例 #1
0
        public void Main()
        {
            TwoCaptcha solver = new TwoCaptcha("YOUR_API_KEY");

            var images = new List <FileInfo>();

            images.Add(new FileInfo("../../resources/rotate.jpg"));
            images.Add(new FileInfo("../../resources/rotate_2.jpg"));
            images.Add(new FileInfo("../../resources/rotate_3.jpg"));

            Rotate captcha = new Rotate();

            captcha.SetFiles(images);
            captcha.SetAngle(40);
            captcha.SetLang("en");
            captcha.SetHintImg(new FileInfo("../../resources/rotate_hint.jpg"));
            captcha.SetHintText("Put the images in the correct way up");

            try
            {
                solver.Solve(captcha).Wait();
                Console.WriteLine("Captcha solved: " + captcha.Code);
            }
            catch (AggregateException e)
            {
                Console.WriteLine("Error occurred: " + e.InnerExceptions.First().Message);
            }
        }
コード例 #2
0
        public void Main()
        {
            TwoCaptcha solver = new TwoCaptcha("YOUR_API_KEY");

            Normal captcha = new Normal();

            captcha.SetFile("../../resources/normal_2.jpg");
            captcha.SetNumeric(4);
            captcha.SetMinLen(4);
            captcha.SetMaxLen(20);
            captcha.SetPhrase(true);
            captcha.SetCaseSensitive(true);
            captcha.SetCalc(false);
            captcha.SetLang("en");
            captcha.SetHintImg(new FileInfo("../../resources/normal_hint.jpg"));
            captcha.SetHintText("Type red symbols only");

            try
            {
                solver.Solve(captcha).Wait();
                Console.WriteLine("Captcha solved: " + captcha.Code);
            }
            catch (AggregateException e)
            {
                Console.WriteLine("Error occurred: " + e.InnerExceptions.First().Message);
            }
        }
コード例 #3
0
        public void Main()
        {
            TwoCaptcha solver = new TwoCaptcha("YOUR_API_KEY");

            Grid captcha = new Grid();

            captcha.SetFile("../../resources/grid_2.jpg");
            captcha.SetRows(3);
            captcha.SetCols(3);
            captcha.SetPreviousId(0);
            captcha.SetCanSkip(false);
            captcha.SetLang("en");
            captcha.SetHintImg(new FileInfo("../../resources/grid_hint.jpg"));
            captcha.SetHintText("Select all images with an Orange");

            try
            {
                solver.Solve(captcha).Wait();
                Console.WriteLine("Captcha solved: " + captcha.Code);
            }
            catch (AggregateException e)
            {
                Console.WriteLine("Error occurred: " + e.InnerExceptions.First().Message);
            }
        }
コード例 #4
0
        /// <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;

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

            case CaptchaService.AntiCaptcha:
                service = new AntiCaptcha(data.GlobalSettings.Captchas.AntiCapToken, data.GlobalSettings.Captchas.Timeout);
                break;

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

            case CaptchaService.TwoCaptcha:
                service = new TwoCaptcha(data.GlobalSettings.Captchas.TwoCapToken, data.GlobalSettings.Captchas.Timeout);
                break;

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

            case CaptchaService.AZCaptcha:
                service = new AZCaptcha(data.GlobalSettings.Captchas.AZCapToken, data.GlobalSettings.Captchas.Timeout);
                break;

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

            case CaptchaService.CaptchasIO:
                service = new CaptchasIO(data.GlobalSettings.Captchas.CIOToken, data.GlobalSettings.Captchas.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));
            }
        }
コード例 #5
0
 private async Task BumpBot()
 {
     _config  = BuildConfig();
     _service = ConfigureServices();
     _captcha = new TwoCaptcha(_config["apiKey"]);
     _web     = new ChromeDriver(@"Componements\");
     await Task.Delay(-1);
 }
コード例 #6
0
        private void checkBalanceButton_Click(object sender, RoutedEventArgs e)
        {
            // Save
            IOManager.SaveSettings(Globals.rlSettingsFile, Globals.rlSettings);

            double balance = 0;

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

                case BlockCaptcha.CaptchaService.DBC:
                    balance = new DeathByCaptcha(Globals.rlSettings.Captchas.DBCUser, Globals.rlSettings.Captchas.DBCPass, 0).GetBalance();
                    break;

                case BlockCaptcha.CaptchaService.DeCaptcher:
                    balance = new DeCaptcher(Globals.rlSettings.Captchas.DCUser, Globals.rlSettings.Captchas.DCPass, 0).GetBalance();
                    break;

                case BlockCaptcha.CaptchaService.ImageTypers:
                    balance = new ImageTyperz(Globals.rlSettings.Captchas.ImageTypToken, 0).GetBalance();
                    break;

                case BlockCaptcha.CaptchaService.TwoCaptcha:
                    balance = new TwoCaptcha(Globals.rlSettings.Captchas.TwoCapToken, 0).GetBalance();
                    break;

                case BlockCaptcha.CaptchaService.RuCaptcha:
                    balance = new RuCaptcha(Globals.rlSettings.Captchas.RuCapToken, 0).GetBalance();
                    break;

                case BlockCaptcha.CaptchaService.AZCaptcha:
                    balance = new AZCaptcha(Globals.rlSettings.Captchas.AZCapToken, 0).GetBalance();
                    break;

                case BlockCaptcha.CaptchaService.SolveRecaptcha:
                    balance = new SolveReCaptcha(Globals.rlSettings.Captchas.SRUserId, Globals.rlSettings.Captchas.SRToken, 0).GetBalance();
                    break;

                case BlockCaptcha.CaptchaService.CaptchasIO:
                    balance = new CaptchasIO(Globals.rlSettings.Captchas.CIOToken, 0).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");
        }
コード例 #7
0
        public void Main()
        {
            TwoCaptcha solver = new TwoCaptcha("YOUR_API_KEY");

            Text captcha = new Text("If tomorrow is Saturday, what day is today?");

            try
            {
                solver.Solve(captcha).Wait();
                Console.WriteLine("Captcha solved: " + captcha.Code);
            }
            catch (AggregateException e)
            {
                Console.WriteLine("Error occurred: " + e.InnerExceptions.First().Message);
            }
        }
コード例 #8
0
        public static void Main()
        {
            var solver = new TwoCaptcha("YOUR_API_KEY");

            Normal captcha = new Normal("../../resources/normal.jpg");

            try
            {
                solver.Solve(captcha).Wait();
                Console.WriteLine("Captcha solved: " + captcha.Code);
            }
            catch (AggregateException e)
            {
                Console.WriteLine("Error occurred: " + e.InnerExceptions.First().Message);
            }
        }
コード例 #9
0
        public void Main()
        {
            TwoCaptcha solver = new TwoCaptcha("YOUR_API_KEY");

            Coordinates captcha = new Coordinates("../../resources/grid.jpg");

            try
            {
                solver.Solve(captcha).Wait();
                Console.WriteLine("Captcha solved: " + captcha.Code);
            }
            catch (AggregateException e)
            {
                Console.WriteLine("Error occurred: " + e.InnerExceptions.First().Message);
            }
        }
コード例 #10
0
        public void Main()
        {
            TwoCaptcha solver = new TwoCaptcha("YOUR_API_KEY");

            FunCaptcha captcha = new FunCaptcha();

            captcha.SetSiteKey("69A21A01-CC7B-B9C6-0F9A-E7FA06677FFC");
            captcha.SetUrl("https://mysite.com/page/with/funcaptcha");

            try
            {
                solver.Solve(captcha).Wait();
                Console.WriteLine("Captcha solved: " + captcha.Code);
            }
            catch (AggregateException e)
            {
                Console.WriteLine("Error occurred: " + e.InnerExceptions.First().Message);
            }
        }
コード例 #11
0
        public void Main()
        {
            TwoCaptcha solver = new TwoCaptcha("YOUR_API_KEY");

            ReCaptcha captcha = new ReCaptcha();

            captcha.SetSiteKey("6Le-wvkSVVABCPBMRTvw0Q4Muexq1bi0DJwx_mJ-");
            captcha.SetUrl("https://mysite.com/page/with/recaptcha");

            try
            {
                solver.Solve(captcha).Wait();
                Console.WriteLine("Captcha solved: " + captcha.Code);
            }
            catch (AggregateException e)
            {
                Console.WriteLine("Error occurred: " + e.InnerExceptions.First().Message);
            }
        }
コード例 #12
0
        public void Main()
        {
            TwoCaptcha solver = new TwoCaptcha("YOUR_API_KEY");

            HCaptcha captcha = new HCaptcha();

            captcha.SetSiteKey("10000000-ffff-ffff-ffff-000000000001");
            captcha.SetUrl("https://www.site.com/page/");

            try
            {
                solver.Solve(captcha).Wait();
                Console.WriteLine("Captcha solved: " + captcha.Code);
            }
            catch (AggregateException e)
            {
                Console.WriteLine("Error occurred: " + e.InnerExceptions.First().Message);
            }
        }
コード例 #13
0
        protected async Task CheckIfCorrectParamsSendAndResultReturned(
            Captcha.Captcha captcha,
            Dictionary <string, string> parameters,
            Dictionary <string, FileInfo> files
            )
        {
            string apiKey    = "API_KEY";
            string captchaId = "123";
            string code      = "2763";

            parameters["key"] = apiKey;

            var resParameters = new Dictionary <string, string>();

            resParameters["action"] = "get";
            resParameters["id"]     = captchaId;
            resParameters["key"]    = apiKey;


            var apiClientMock = new Mock <ApiClient>();

            apiClientMock
            .Setup(ac => ac.In(It.IsAny <Dictionary <string, string> >(), It.IsAny <Dictionary <string, FileInfo> >()))
            .Returns(Task.FromResult("OK|" + captchaId));
            apiClientMock
            .Setup(ac => ac.Res(resParameters))
            .Returns(Task.FromResult("OK|" + code));

            TwoCaptcha solver = new TwoCaptcha(apiKey);

            solver.PollingInterval = 1;
            solver.SetApiClient(apiClientMock.Object);

            await solver.Solve(captcha);

            apiClientMock.Verify(ac => ac.In(
                                     It.Is <Dictionary <string, string> >(actual => ParametersAreSame(parameters, actual)),
                                     It.Is <Dictionary <string, FileInfo> >(actual => FilesAreSame(files, actual))
                                     ));

            Assert.AreEqual(captchaId, captcha.Id);
            Assert.AreEqual(code, captcha.Code);
        }
コード例 #14
0
        public void Main()
        {
            TwoCaptcha solver = new TwoCaptcha("YOUR_API_KEY");

            Canvas captcha = new Canvas();

            captcha.SetFile("../../resources/canvas.jpg");
            captcha.SetHintText("Draw around apple");

            try
            {
                solver.Solve(captcha).Wait();
                Console.WriteLine("Captcha solved: " + captcha.Code);
            }
            catch (AggregateException e)
            {
                Console.WriteLine("Error occurred: " + e.InnerExceptions.First().Message);
            }
        }
コード例 #15
0
        public void Main()
        {
            TwoCaptcha solver = new TwoCaptcha("YOUR_API_KEY");

            Capy captcha = new Capy();

            captcha.SetSiteKey("PUZZLE_Abc1dEFghIJKLM2no34P56q7rStu8v");
            captcha.SetUrl("https://www.mysite.com/captcha/");
            captcha.SetApiServer("https://jp.api.capy.me/");

            try
            {
                solver.Solve(captcha).Wait();
                Console.WriteLine("Captcha solved: " + captcha.Code);
            }
            catch (AggregateException e)
            {
                Console.WriteLine("Error occurred: " + e.InnerExceptions.First().Message);
            }
        }
コード例 #16
0
ファイル: Program.cs プロジェクト: xuan2261/2Captcha
        static async Task Foo()
        {
            var twoCaptcha = new TwoCaptcha(" ## YOUR API KEY ## ");

            // Get current balance
            var balance = await twoCaptcha.GetBalance();

            // Solve image captcha
            var image1 = await twoCaptcha.SolveImage(new FileStream("captcha.png", FileMode.Open));

            var image2 = await twoCaptcha.SolveImage("data:image/png;base64,iVBORw0KGgo...");

            // Solve text captcha
            var question = await twoCaptcha.SolveQuestion("1 + 3 = ?");

            // Solve ReCaptchaV2
            var recaptcha = await twoCaptcha.SolveReCaptchaV2("GOOGLE_SITE_KEY", "https://example.com");

            var recaptchaInvisible = await twoCaptcha.SolveReCaptchaV2("GOOGLE_SITE_KEY", "https://example.com", true);

            // Solve ReCaptchaV3
            var recaptcha3 = await twoCaptcha.SolveReCaptchaV3("GOOGLE_SITE_KEY", "https://example.com", "ACTION", 0.4);

            // Solve ClickCaptcha
            var click1 = await twoCaptcha.SolveClickCaptcha(new FileStream("captcha.png", FileMode.Open), "Click on ghosts");

            var click2 = await twoCaptcha.SolveClickCaptcha("data:image/png;base64,iVBORw0KGgo...", "Click on ghosts");

            // Solve RotateCaptcha
            var rotate = await twoCaptcha.SolveRotateCaptcha(new Stream[] { new FileStream("captcha.png", FileMode.Open) }, "40");

            // Solve FunCaptcha
            var fun = await twoCaptcha.SolveFunCaptcha("FUN_CAPTCHA_PUBLIC_KEY", "https://example.com");

            var funNoJavaScript = await twoCaptcha.SolveFunCaptcha("FUN_CAPTCHA_PUBLIC_KEY", "https://example.com", true);

            // Solve KeyCaptcha
            var key = await twoCaptcha.SolveKeyCaptcha("USER_ID", "SESSION_ID", "WEB_SIGN_1", "WEB_SIGN_2", "https://example.com");

            Debugger.Break();
        }
コード例 #17
0
        public void Main()
        {
            TwoCaptcha solver = new TwoCaptcha("YOUR_API_KEY");

            GeeTest captcha = new GeeTest();

            captcha.SetGt("f2ae6cadcf7886856696502e1d55e00c");
            captcha.SetApiServer("api-na.geetest.com");
            captcha.SetChallenge("12345678abc90123d45678ef90123a456b");
            captcha.SetUrl("https://mysite.com/captcha.html");

            try
            {
                solver.Solve(captcha).Wait();
                Console.WriteLine("Captcha solved: " + captcha.Code);
            }
            catch (AggregateException e)
            {
                Console.WriteLine("Error occurred: " + e.InnerExceptions.First().Message);
            }
        }
コード例 #18
0
        public void Main()
        {
            TwoCaptcha solver = new TwoCaptcha("YOUR_API_KEY");

            byte[] bytes = File.ReadAllBytes("../../resources/normal.jpg");
            string base64EncodedImage = Convert.ToBase64String(bytes);

            Normal captcha = new Normal();

            captcha.SetBase64(base64EncodedImage);

            try
            {
                solver.Solve(captcha).Wait();
                Console.WriteLine("Captcha solved: " + captcha.Code);
            }
            catch (AggregateException e)
            {
                Console.WriteLine("Error occurred: " + e.InnerExceptions.First().Message);
            }
        }
コード例 #19
0
        public void Main()
        {
            TwoCaptcha solver = new TwoCaptcha("YOUR_API_KEY");

            Coordinates captcha = new Coordinates();

            captcha.SetFile("src/main/resources/grid_2.jpg");
            captcha.SetLang("en");
            captcha.SetHintImg(new FileInfo("../../resources/grid_hint.jpg"));
            captcha.SetHintText("Select all images with an Orange");

            try
            {
                solver.Solve(captcha).Wait();
                Console.WriteLine("Captcha solved: " + captcha.Code);
            }
            catch (AggregateException e)
            {
                Console.WriteLine("Error occurred: " + e.InnerExceptions.First().Message);
            }
        }
コード例 #20
0
        public void Main()
        {
            TwoCaptcha solver = new TwoCaptcha("YOUR_API_KEY");

            ReCaptcha captcha = new ReCaptcha();

            captcha.SetSiteKey("6Le-wvkSVVABCPBMRTvw0Q4Muexq1bi0DJwx_mJ-");
            captcha.SetUrl("https://mysite.com/page/with/recaptcha");
            captcha.SetInvisible(true);
            captcha.SetAction("verify");
            captcha.SetProxy("HTTPS", "login:password@IP_address:PORT");

            try
            {
                solver.Solve(captcha).Wait();
                Console.WriteLine("Captcha solved: " + captcha.Code);
            }
            catch (AggregateException e)
            {
                Console.WriteLine("Error occurred: " + e.InnerExceptions.First().Message);
            }
        }
コード例 #21
0
        public void Main()
        {
            TwoCaptcha solver = new TwoCaptcha("YOUR_API_KEY");

            KeyCaptcha captcha = new KeyCaptcha();

            captcha.SetUserId(10);
            captcha.SetSessionId("493e52c37c10c2bcdf4a00cbc9ccd1e8");
            captcha.SetWebServerSign("9006dc725760858e4c0715b835472f22");
            captcha.SetWebServerSign2("2ca3abe86d90c6142d5571db98af6714");
            captcha.SetUrl("https://www.keycaptcha.ru/demo-magnetic/");

            try
            {
                solver.Solve(captcha).Wait();
                Console.WriteLine("Captcha solved: " + captcha.Code);
            }
            catch (AggregateException e)
            {
                Console.WriteLine("Error occurred: " + e.InnerExceptions.First().Message);
            }
        }
コード例 #22
0
        public void Main()
        {
            TwoCaptcha solver = new TwoCaptcha("YOUR_API_KEY");

            FunCaptcha captcha = new FunCaptcha();

            captcha.SetSiteKey("69A21A01-CC7B-B9C6-0F9A-E7FA06677FFC");
            captcha.SetUrl("https://mysite.com/page/with/funcaptcha");
            captcha.SetSUrl("https://client-api.arkoselabs.com");
            captcha.SetUserAgent("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36");
            captcha.SetData("anyKey", "anyValue");
            captcha.SetProxy("HTTPS", "login:password@IP_address:PORT");

            try
            {
                solver.Solve(captcha).Wait();
                Console.WriteLine("Captcha solved: " + captcha.Code);
            }
            catch (AggregateException e)
            {
                Console.WriteLine("Error occurred: " + e.InnerExceptions.First().Message);
            }
        }
コード例 #23
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
            {
                switch (data.GlobalSettings.Captchas.CurrentService)
                {
                case CaptchaService.ImageTypers:
                    service = new ImageTyperz(data.GlobalSettings.Captchas.ImageTypToken, data.GlobalSettings.Captchas.Timeout);
                    break;

                case CaptchaService.AntiCaptcha:
                    service = new AntiCaptcha(data.GlobalSettings.Captchas.AntiCapToken, data.GlobalSettings.Captchas.Timeout);
                    break;

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

                case CaptchaService.TwoCaptcha:
                    service = new TwoCaptcha(data.GlobalSettings.Captchas.TwoCapToken, data.GlobalSettings.Captchas.Timeout);
                    break;

                case CaptchaService.RuCaptcha:
                    service = new RuCaptcha(data.GlobalSettings.Captchas.RuCapToken, data.GlobalSettings.Captchas.Timeout);
                    break;

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

                case CaptchaService.AZCaptcha:
                    service = new AZCaptcha(data.GlobalSettings.Captchas.AZCapToken, data.GlobalSettings.Captchas.Timeout);
                    break;

                case CaptchaService.CaptchasIO:
                    service = new CaptchasIO(data.GlobalSettings.Captchas.CIOToken, data.GlobalSettings.Captchas.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));
            }
        }
コード例 #24
0
 public Bump(IConfiguration config, ChromeDriver web, TwoCaptcha captcha)
 {
     _config  = config;
     _web     = web;
     _captcha = captcha;
 }