epicgames-freebies-claimer icon indicating copy to clipboard operation
epicgames-freebies-claimer copied to clipboard

V2.0.0

Open Revadike opened this issue 2 years ago • 38 comments

Checklist:

  • [x] Merge work from https://github.com/Revadike/epicgames-freebies-claimer/tree/fnbrjs
  • [x] Ditch epicgames-client dependency
  • [x] Ditch DeviceAuthGenerator usage (#181)
  • [x] Implement fnbr fully (#99)
  • [x] Code a purchase function
  • [ ] Add support for anti-captcha solutions (#61 #172)
  • [x] Auto update (#160)

Revadike avatar Jan 01 '22 20:01 Revadike

So, here is where I'm at, and I could use some help:

  • I was able to successfully purchase a free app (not giveaway game) on the Epic Games store (using fnbr auth & old purchase flow from epicgames-client).
  • I updated some of the syntax of the old purchase flow.
  • puppeteer-hcaptcha is a wonderful package solving hcaptcha using machine learning, but unreliable.
  • I'm planning to also add support for paid services as a fallback. Considering turning this into a separate package.
  • Implementing a captcha response into the purchase request is harder than expected, as they use their own custom encoding (see PR src).
  • ~~The captcha response values and requirement of the fields kid, ewa, xal and h_captcha.value are unknown to me.~~ I think I figured out all values for the captcha response, except xal. The rest I figured out where to get the values, or they appear static.
  • The main problem is that confirming a purchase keeps resulting in HTTP 400 with little information to go off. Likely there is an error in the captcha response value, but it could be anything, really.

Revadike avatar Feb 14 '22 20:02 Revadike

They're really trying to make it hard to auto claim, aren't they.

mix3d avatar Feb 14 '22 22:02 mix3d

They're really trying to make it hard to auto claim, aren't they.

Well, yeah, that's their intention with the captcha.

Revadike avatar Feb 14 '22 22:02 Revadike

Good and bad news:

  • Good news: After loads of digging around and researching, I figured out all the CAPTCHA response values. xal is encoded fingerprint data, which I tested, can be re-used. So, everything should be correct now.
  • Bad news: I am still getting http error 400, and after some testing, I found the culprit: the captcha solution. I found it by setting a breakpoint on the website, and replacing a single value (the hcaptcha solution) with a solution I generated via a paid service with the correct hcaptcha sitekey and domain. Even though, it should be a valid hcaptcha solution, EpicGames still rejects it. My speculation is that there are some extra checks for the hcaptcha solution, but idk really.

Revadike avatar Feb 15 '22 22:02 Revadike

Be careful, if anyone wants to test this, I just noticed that my test accounts got inactive, and I can no longer login. :/

Revadike avatar Feb 22 '22 15:02 Revadike

I'm not in any way good at this stuff but... Is there a way to force hcaptcha to appear ? My idea is to launch a browser (that comes with your repo, Chromium or else) via your script and direct it to a captcha from Epic where the user will manually solve it, and from there hope that Epic will now see the running program as a valid user, at least for a while. If possible or necessary you can save the key/fingerprint when the captcha has been detected as solved on your end.

TovMachin avatar Apr 15 '22 19:04 TovMachin

I'm not in any way good at this stuff but... Is there a way to force hcaptcha to appear ? My idea is to launch a browser (that comes with your repo, Chromium or else) via your script and direct it to a captcha from Epic where the user will manually solve it, and from there hope that Epic will now see the running program as a valid user, at least for a while. If possible or necessary you can save the key/fingerprint when the captcha has been detected as solved on your end.

yes, that's how other projects are doing it already. I don't see the point of copying these projects.

Revadike avatar Apr 15 '22 21:04 Revadike

Are you passing through the browser to claim or did you use an http proxy to get the requests done by the windows application?

theol-git avatar Apr 20 '22 17:04 theol-git

I'm not emulating a browser

Revadike avatar Apr 20 '22 17:04 Revadike

i have an idea. hcaptcha has someting called an accessbility mode. by signing up you can claim a cookie that will automaticly pass any hcaptcha challanges. try write a script automaticly claiming an hcaptcha cookie and see if it works.

PencilNavigator avatar May 14 '22 16:05 PencilNavigator

hCaptcha accessbility mode

This cookie is sent to the user via email and the token is valid for less than 24h.

QIN2DIM avatar May 14 '22 16:05 QIN2DIM

Also solving hcaptcha challenge is only part of the problem. It's creating the encrypted custom response, that's the hard part.

Revadike avatar May 14 '22 16:05 Revadike

https://www.scraperapi.com/ Could may be of use in this case

DoganM95 avatar Jun 18 '22 23:06 DoganM95

https://www.scraperapi.com/ Could may be of use in this case

It's not cheap. The free credits only available for 7 days.

eebssk1 avatar Jun 28 '22 14:06 eebssk1

there might be something in the bing rewards automation project on github just a suggestion but its coded in python and it pretty much gets through all the shit on bing.

kokoronikurai avatar Aug 27 '22 19:08 kokoronikurai

I'm not in any way good at this stuff but... Is there a way to force hcaptcha to appear ? My idea is to launch a browser (that comes with your repo, Chromium or else) via your script and direct it to a captcha from Epic where the user will manually solve it, and from there hope that Epic will now see the running program as a valid user, at least for a while. If possible or necessary you can save the key/fingerprint when the captcha has been detected as solved on your end.

yes, that's how other projects are doing it already. I don't see the point of copying these projects.

Could you point us in the direction of those other projects? I don't mind at all manually solving a captcha, and especially if they use browser emulation I'd be a lot less worried about getting banned. I did a pretty good googling but only this project seems to come up!

Thanks for your work on this!

EDIT: Used Github search instead and had better luck! Looks like these other projects exist: https://github.com/claabs/epicgames-freegames-node https://github.com/QIN2DIM/epic-awesome-gamer

Still interested to hear if there are others though.

okiyama avatar Aug 30 '22 15:08 okiyama

try using https://github.com/ultrafunkamsterdam/undetected-chromedriver and https://www.hcaptcha.com/accessibility cookie for blind people aka bypassing hcaptcha

Yolomic avatar Sep 05 '22 13:09 Yolomic

hcaptcha accessbility is working on my browser(with rate limit.) Also register for hcaptcha accessbility requires email from well-known mail provider and good ip address.

eebssk1 avatar Dec 19 '22 10:12 eebssk1

Good and bad news:

  • Good news: After loads of digging around and researching, I figured out all the CAPTCHA response values. xal is encoded fingerprint data, which I tested, can be re-used. So, everything should be correct now.
  • Bad news: I am still getting http error 400, and after some testing, I found the culprit: the captcha solution. I found it by setting a breakpoint on the website, and replacing a single value (the hcaptcha solution) with a solution I generated via a paid service with the correct hcaptcha sitekey and domain. Even though, it should be a valid hcaptcha solution, EpicGames still rejects it. My speculation is that there are some extra checks for the hcaptcha solution, but idk really.

I'm even get reject everytime with correct hcaptcha under my firefox browser.I'm also exeperience intermediate rejecting when claming from heroic games launcher.So maybe it's not captcha's issue,but rather Epic's.

eebssk1 avatar Dec 19 '22 11:12 eebssk1

Good and bad news:

  • Good news: After loads of digging around and researching, I figured out all the CAPTCHA response values. xal is encoded fingerprint data, which I tested, can be re-used. So, everything should be correct now.
  • Bad news: I am still getting http error 400, and after some testing, I found the culprit: the captcha solution. I found it by setting a breakpoint on the website, and replacing a single value (the hcaptcha solution) with a solution I generated via a paid service with the correct hcaptcha sitekey and domain. Even though, it should be a valid hcaptcha solution, EpicGames still rejects it. My speculation is that there are some extra checks for the hcaptcha solution, but idk really.

I'm even get reject everytime with correct hcaptcha under my firefox browser.I'm also exeperience intermediate rejecting when claming from heroic games launcher.So maybe it's not captcha's issue,but rather Epic's.

It maybe have something to do with the so called "Talon Services" Check https://github.com/QIN2DIM/epic-awesome-gamer/issues/132 @Revadike How do you gonna fight it?

eebssk1 avatar Dec 19 '22 11:12 eebssk1

I have no plans currently. Even if I succeed, it will probably become a cat & mouse game. Besides, they already banned my account once for debugging their system, I'm not keen on redoing that again. You're probably better off simulating the whole web browser + user interaction, which other projects are already doing.

Revadike avatar Dec 19 '22 14:12 Revadike

which other projects are already doing

There are quite a few out there. Care to name one that's supposed to be working?

laur89 avatar Dec 19 '22 15:12 laur89

which other projects are already doing

There are quite a few out there. Care to name one that's supposed to be working?

https://github.com/claabs/epicgames-freegames-node looks solid

Revadike avatar Dec 19 '22 15:12 Revadike

@Revadike added a PR, #206 , to mention that project as well as the project I'm using personally to the README. Obviously make any changes you like (not sure if you even want to promote other projects) but also thought it was better to "shut up and make a PR" rather than make the suggestion as a comment.

okiyama avatar Dec 19 '22 17:12 okiyama

which other projects are already doing

There are quite a few out there. Care to name one that's supposed to be working?

https://github.com/claabs/epicgames-freegames-node looks solid

It's much more complicated to set up than your project. Are you planning to make an adaptation to your project?

Kiriox94 avatar Dec 21 '22 08:12 Kiriox94

which other projects are already doing

There are quite a few out there. Care to name one that's supposed to be working?

https://github.com/claabs/epicgames-freegames-node looks solid

It's much more complicated to set up than your project. Are you planning to make an adaptation to your project?

And it doesn't work, just gives as error this image hello

PerchunPak avatar Dec 21 '22 19:12 PerchunPak

which other projects are already doing

There are quite a few out there. Care to name one that's supposed to be working?

https://github.com/claabs/epicgames-freegames-node looks solid å

Checklist:

Have you tried using this https://github.com/berstend/puppeteer-extra

annurdien avatar Dec 22 '22 14:12 annurdien

See project above

Revadike avatar Dec 22 '22 21:12 Revadike

Voir le projet ci-dessus

Do you plan to adapt it for your project?

Kiriox94 avatar Dec 24 '22 08:12 Kiriox94

Hello there, i am no coder, I know nothing but still want to contribute. I don't know whether you know it or not but, if you are still struggling with captcha, the epic games do not ask captcha when we claim game from its launcher, more over it will be nice if you could do like claim games in epic for multiple accounts.

for changing accounts it could be of some help https://github.com/TcNobo/TcNo-Acc-Switcher

Evil-0-King avatar Dec 30 '22 15:12 Evil-0-King