xHossein / PyPasser

Bypassing reCaptcha V3 by sending HTTP requests & solving reCaptcha V2 using speech to text engine.
MIT License
470 stars 105 forks source link

GUYS IF YOU SEE THIS TEXT PLEASE BEGGING TO REPLY ME #18

Open Experilous opened 7 months ago

Experilous commented 7 months ago

HOW TO KNOW IF PAGE IS USING RECAPTCHA V2 OR V3 PLEASE HELP ME GOOGLE RECAPTCHA

Ggre55 commented 6 months ago

well that sample the v3 in background so you dont click on anything but it shows the bleu box like so. image v2 is blue box where u have to select random images.

AlexPT2k22 commented 6 months ago

HOW TO KNOW IF PAGE IS USING RECAPTCHA V2 OR V3 PLEASE HELP ME GOOGLE RECAPTCHA

/ USAGE // paste the function definition into the console and then call the function: // // let res = findRecaptchaClients() // console.log(res) // // the function returns an array of objects with recaptcha parameters for each implementation found on the page

function findRecaptchaClients() {
  // eslint-disable-next-line camelcase
  if (typeof (___grecaptcha_cfg) !== 'undefined') {
    // eslint-disable-next-line camelcase, no-undef
    return Object.entries(___grecaptcha_cfg.clients).map(([cid, client]) => {
      const data = { id: cid, version: cid >= 10000 ? 'V3' : 'V2' };
      const objects = Object.entries(client).filter(([_, value]) => value && typeof value === 'object');

      objects.forEach(([toplevelKey, toplevel]) => {
        const found = Object.entries(toplevel).find(([_, value]) => (
          value && typeof value === 'object' && 'sitekey' in value && 'size' in value
        ));

        if (typeof toplevel === 'object' && toplevel instanceof HTMLElement && toplevel['tagName'] === 'DIV'){
            data.pageurl = toplevel.baseURI;
        }

        if (found) {
          const [sublevelKey, sublevel] = found;

          data.sitekey = sublevel.sitekey;
          const callbackKey = data.version === 'V2' ? 'callback' : 'promise-callback';
          const callback = sublevel[callbackKey];
          if (!callback) {
            data.callback = null;
            data.function = null;
          } else {
            data.function = callback;
            const keys = [cid, toplevelKey, sublevelKey, callbackKey].map((key) => `['${key}']`).join('');
            data.callback = `___grecaptcha_cfg.clients${keys}`;
          }
        }
      });
      return data;
    });
  }
  return [];
}