claabs / epicgames-freegames-node

Automatically login and find available free games the Epic Games Store. Sends you a prepopulated checkout link so you can complete the checkout after logging in. Supports multiple accounts, login sessions, and scheduled runs.
https://hub.docker.com/r/charlocharlie/epicgames-freegames
MIT License
1.33k stars 89 forks source link

New Logins issue - Did not transcribe enough digits #23

Closed causefx closed 4 years ago

causefx commented 4 years ago

I tried adding a new account today and came across this issue. It seems to effect logins for the first time only. As if the cookie json file is there it will refresh the CSRF token fine.

I went ahead and renamed a cookie json file that I had on a working account and got the same Captcha error.

Thanks for your time.

[2020-06-27 20:38:41.007 -0700] INFO  (32 on epicgames-causefx): Checking free games for xxxxx@xxxxx.com
[2020-06-27 20:38:41.011 -0700] DEBUG (32 on epicgames-causefx): Setting SID
[2020-06-27 20:38:41.012 -0700] DEBUG (32 on epicgames-causefx): Refreshing CSRF
[2020-06-27 20:38:41.759 -0700] DEBUG (32 on epicgames-causefx): Could not refresh credentials. Logging in fresh.
[2020-06-27 20:38:42.099 -0700] DEBUG (32 on epicgames-causefx): Attempting login
    email: "xxxxx@xxxxx.com"
    captcha: ""
    attempt: 0
[2020-06-27 20:38:42.101 -0700] DEBUG (32 on epicgames-causefx): Refreshing CSRF
[2020-06-27 20:38:43.176 -0700] DEBUG (32 on epicgames-causefx): Captcha required
[2020-06-27 20:38:45.944 -0700] DEBUG (32 on epicgames-causefx): Did not transcribe enough digits. Retrying
[2020-06-27 20:38:48.387 -0700] DEBUG (32 on epicgames-causefx): Did not transcribe enough digits. Retrying
[2020-06-27 20:38:50.876 -0700] DEBUG (32 on epicgames-causefx): Did not transcribe enough digits. Retrying
[2020-06-27 20:38:53.327 -0700] DEBUG (32 on epicgames-causefx): Did not transcribe enough digits. Retrying
[2020-06-27 20:38:55.900 -0700] DEBUG (32 on epicgames-causefx): Did not transcribe enough digits. Retrying
[2020-06-27 20:38:58.746 -0700] DEBUG (32 on epicgames-causefx): Did not transcribe enough digits. Retrying
[2020-06-27 20:39:01.029 -0700] DEBUG (32 on epicgames-causefx): Did not transcribe enough digits. Retrying
claabs commented 4 years ago

So it looks like Arkose changed the number of digits read in the captcha to 5 instead of 7. That would be an easy fix, but it seems they completely broke the NoJS audio captcha in the meantime.

If you try it here , I always get Whoops! That's not quite right..

This will also break the purchase captcha when it is prompted. This sucks...

causefx commented 4 years ago

Wow. You are absolutely right. I will keep an eye out. Thanks.

claabs commented 4 years ago

I'll remove the digit check for now in case it gets fixed. I just tweeted at the companies to fix their shit. We'll see if they let us keep exploiting their system. 😅

causefx commented 4 years ago

I RT'd it :)

claabs commented 4 years ago

Since this very well may be intentional from Epic Games/Arkose Labs, I started on https://github.com/claabs/epicgames-freegames-node/commit/b886b0e75a10457e3dcf3cea5daac66ef009f5fc which emails you a link where you can solve the Captcha. I'll let this sit for a week to see what Epic Games/Arkose Labs end up doing.

causefx commented 4 years ago

awesome for now, let me know when you merge and I will test.

Freekers commented 4 years ago

Thanks for the email-captcha workaround. Would it be worth looking into implementing a (paid) captcha solving service like https://anti-captcha.com ?

claabs commented 4 years ago

I considered it, but it seemed kind of counter to the concept of "free games" if you're paying a captcha fee. The email solution is pretty much just a self-run anti-captcha.com anyway. Hopefully if you solve enough captchas, they will eventually go away as you build trust with Arkose.