nurzaga 1 Posted August 21, 2019 Report Share Posted August 21, 2019 Hi Everyone, I have problem with solving recapthca v2 (i think it's invisible one), becuse there is no "i am not robot" checkboxi have script that works for invisible recaptcha demo page, but not when i try on the real case, i have still problem. I am creating bot for URL inspection and request indexing from google search console (https://search.google.com/search-console/about) my progres so far, I found the googlekey and using 2captcha key to solve the recaptcha, n i have receive response from 2captcha i think my problem is i could not find the callback function, so i cannot execute the right javascipt. that's my thought, i am still learning so iam not sure. i am sure you all are more experience with this, here is the page source when recaptcha appear and my script to solve the recaptcha : anyone have idea? loop(1) { set(#status,"Solving Captcha","Global") set(#_apiKey,"a5a5f122xxxxxxxxxxxxxxxx","Global") wait for browser event("Everything Loaded","") wait(1) set(#GoogleKey,"6Ley2w8UAAAAAPOj6LHO_9ROattTY3rSLldc87NQ","Global") clear list(%_rawCaptcha) add list to list(%_rawCaptcha,$plugin function("Advanced Captcha.dll", "$2captcha.com recaptcha", #_apiKey, #GoogleKey, $url, "", "", 50, 120, "", "", "", "Invisible"),"Delete","Global") change attribute(<id="g-recaptcha-response">,"value",$list item(%_rawCaptcha,1)) set(#status,"Captcha Solved","Global") wait(3) run javascript("recaptchaLoadedCallback();")} Page Source : https://drive.google.com/file/d/19aLYy6f1tPdbQ5W1DhmkvBpToIoaAXYq/view?usp=sharing PS : i used 6.0.4 version, because on 5.9.55, ubot cannot interacting at all with the page, it like the page is protected by something (this is my problem too) Quote Link to post Share on other sites
HelloInsomnia 1103 Posted August 21, 2019 Report Share Posted August 21, 2019 Maybe try this: define $GetRecaptchaCallback { return($eval("var cs = []; var cb; for (var id in ___grecaptcha_cfg.clients)\{ cs.push(id); \} cs.forEach(cid => \{ for (var p in ___grecaptcha_cfg.clients[cid]) \{ var path = \"___grecaptcha_cfg.clients[\"+cid+\"].\"+p; var pp = eval(path); if (typeof pp === \'object\') \{ for (var s in pp) \{ var subpath = \"___grecaptcha_cfg.clients[\"+cid+\"].\"+p+\".\"+s; var sp = eval(subpath); if ( sp && typeof sp === \'object\' && sp.hasOwnProperty(\'sitekey\') && sp.hasOwnProperty(\'size\') )\{ console.log(\'Path: \' + subpath); console.log(\'Sitekey: \' + eval(subpath+\'.sitekey\')); if ( eval(subpath+\'.callback\') == null ) \{ cb = \'\'; \} else \{ cb = subpath+\'.callback\'; \} \} \} \} \} \}); cb;")) } 1 Quote Link to post Share on other sites
nurzaga 1 Posted August 22, 2019 Author Report Share Posted August 22, 2019 Maybe try this: define $GetRecaptchaCallback { return($eval("var cs = []; var cb; for (var id in ___grecaptcha_cfg.clients)\{ cs.push(id); \} cs.forEach(cid => \{ for (var p in ___grecaptcha_cfg.clients[cid]) \{ var path = \"___grecaptcha_cfg.clients[\"+cid+\"].\"+p; var pp = eval(path); if (typeof pp === \'object\') \{ for (var s in pp) \{ var subpath = \"___grecaptcha_cfg.clients[\"+cid+\"].\"+p+\".\"+s; var sp = eval(subpath); if ( sp && typeof sp === \'object\' && sp.hasOwnProperty(\'sitekey\') && sp.hasOwnProperty(\'size\') )\{ console.log(\'Path: \' + subpath); console.log(\'Sitekey: \' + eval(subpath+\'.sitekey\')); if ( eval(subpath+\'.callback\') == null ) \{ cb = \'\'; \} else \{ cb = subpath+\'.callback\'; \} \} \} \} \} \}); cb;")) } Thank you @HelloInsomnia for your concern to my question.. i am doing this to that function you create : 1. change sitekey 2. run that function using run javascript like this : (change sitekey) define $GetRecaptchaCallback { return($eval("var cs = [];var cb;for (var id in ___grecaptcha_cfg.clients)\{ cs.push(id);\}cs.forEach(cid => \{ for (var p in ___grecaptcha_cfg.clients[cid]) \{ var path = \"___grecaptcha_cfg.clients[\"+cid+\"].\"+p; var pp = eval(path); if (typeof pp === \'object\') \{ for (var s in pp) \{ var subpath = \"___grecaptcha_cfg.clients[\"+cid+\"].\"+p+\".\"+s; var sp = eval(subpath); if ( sp && typeof sp === \'object\' && sp.hasOwnProperty(\'6Ley2w8UAAAAAPOj6LHO_9ROattTY3rSLldc87NQ\') && sp.hasOwnProperty(\'size\') )\{ console.log(\'Path: \' + subpath); console.log(\'S6Ley2w8UAAAAAPOj6LHO_9ROattTY3rSLldc87NQ: \' + eval(subpath+\'.6Ley2w8UAAAAAPOj6LHO_9ROattTY3rSLldc87NQ\')); if ( eval(subpath+\'.callback\') == null ) \{ cb = \'\'; \} else \{ cb = subpath+\'.callback\'; \} \} \} \} \}\});cb;"))} run javacript on that function : run javascript($GetRecaptchaCallback()) Is that the right action i do? because nothing happen when execute that action.. thank you Quote Link to post Share on other sites
nurzaga 1 Posted August 22, 2019 Author Report Share Posted August 22, 2019 double post Quote Link to post Share on other sites
HelloInsomnia 1103 Posted August 22, 2019 Report Share Posted August 22, 2019 I've set it to a variable before and ran it like this: run javascript("{#callback}();") Quote Link to post Share on other sites
lolada 1 Posted September 13, 2019 Report Share Posted September 13, 2019 hello i tried but it seems to not work actually, any other solution? Quote Link to post Share on other sites
Code Docta (Nick C.) 638 Posted September 14, 2019 Report Share Posted September 14, 2019 Try this solution, https://captchaforum.com/threads/problem-with-invisible-recaptcha-v2-callback-function-at-mail-com-sign-up-page.56/post-97 Quote Link to post Share on other sites
tahrimnaziat 0 Posted January 2, 2020 Report Share Posted January 2, 2020 define $GetRecaptchaCallback { return($eval("var cs = []; var cb; for (var id in ___grecaptcha_cfg.clients)\{ cs.push(id); \} cs.forEach(cid => \{ for (var p in ___grecaptcha_cfg.clients[cid]) \{ var path = \"___grecaptcha_cfg.clients[\"+cid+\"].\"+p; var pp = eval(path); if (typeof pp === \'object\') \{ for (var s in pp) \{ var subpath = \"___grecaptcha_cfg.clients[\"+cid+\"].\"+p+\".\"+s; var sp = eval(subpath); if ( sp && typeof sp === \'object\' && sp.hasOwnProperty(\'sitekey\') && sp.hasOwnProperty(\'size\') )\{ console.log(\'Path: \' + subpath); console.log(\'Sitekey: \' + eval(subpath+\'.sitekey\')); if ( eval(subpath+\'.callback\') == null ) \{ cb = \'\'; \} else \{ cb = subpath+\'.callback\'; \} \} \} \} \} \}); cb;")) } Anybody able to get callback from this code? Can anybody help me to find callback Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.