PGO-mapscan-opt icon indicating copy to clipboard operation
PGO-mapscan-opt copied to clipboard

Recaptcha

Open darkforcesjedi opened this issue 8 years ago • 11 comments

See here:

https://www.reddit.com/r/pokemongodev/comments/561kdg/this_is_how_recaptcha_looks_like_ingame/

This is why scanning is failing for everyone.

darkforcesjedi avatar Oct 05 '16 21:10 darkforcesjedi

I see. Guess it's over for us, ey :/

seikur0 avatar Oct 05 '16 21:10 seikur0

I guess it depends on how often this captcha request would appear. Implementing api of https://2captcha.com/ might be a viable option and there are already working implementations that use it to resolve captcha on PTC accounts creation page.

rafsawicki avatar Oct 05 '16 22:10 rafsawicki

If there is a way to find out which account is required to solve a recaptcha from the API, then we could get the googlekey and submit to 2captcha.com to solve it, then use the returned key to solve the recaptcha and unlock the account

ChromeHearts avatar Oct 06 '16 16:10 ChromeHearts

They added more than the captchas though. I wish they only added captchas!

See this

seikur0 avatar Oct 06 '16 16:10 seikur0

@ChromeHearts you can tell which account is returning empty cells by changing line 1495 of main0.py to lprint('[{}] Non-empty cell returned as empty from user {}'.format(self.account['num'],self.account['user']))

chelming avatar Oct 06 '16 17:10 chelming

Looks like the challegeURL will lead to a reCaptcha link, and one can solve it through a browser i found in the API, there is a verifyChallege message which takes a string token. Does anyone know how to send this message in Python to reply the solved reCaptcha key?

I am hopping this is the way to solve the reCaptcha programmatically

ChromeHearts avatar Oct 07 '16 01:10 ChromeHearts

There is a thread on r/pokemongodev that says how to do it. It will probably get rolled into the open source API soon at which point a captcha solving service can be employed, or the challenged threads can be idled and the captcha forwarded to the web interface.

darkforcesjedi avatar Oct 07 '16 01:10 darkforcesjedi

That's easy to do and not the problem. @ChromeHearts you know that "url" you get redirected too after solving the captcha? The one that starts with unity:? You take that without that first unity:-part and send it in a VerifyChallengeMessage as token string. I just did some tests and it's working. The problem is more how to make it accessible/easy to apply.

seikur0 avatar Oct 07 '16 05:10 seikur0

http://imgur.com/a/H7OIi looks like something... if this could be on the website frontend that you first need to solve captha before you get access to the website part, then this could be a nice thing. you can then share your website with your local community, and together we solve the captha and benefit from it.

more information > https://www.reddit.com/r/pokemongodev/comments/56856v/made_this_for_my_maps_to_avoid_captcha/

dikkedeur avatar Oct 07 '16 08:10 dikkedeur

@seikur0 Could you show me the code how to send the verifyChallenge? Sorry, I am new to protobuf. I figured how to create the message, but I am not too sure how to put it in a request, and reply back to the server. I am testing if we can use Flask to provide an restful api. One could solve the captcha and curl the key back to the worker.

I believe this is the VerifyChallenge message


msg = POGOProtos.Networking.Requests.Messages_pb2.VerifyChallengeMessage()
msg.token = "<some key>"

ChromeHearts avatar Oct 07 '16 12:10 ChromeHearts

Just saw your new commit. That's helpful. Thanks!

ChromeHearts avatar Oct 07 '16 12:10 ChromeHearts