kdrag0n / safetynet-fix

Google SafetyNet attestation workarounds for Magisk
MIT License
6.21k stars 329 forks source link

SafetyNet fails on C.20 update for OnePlus 8 Pro #188

Closed qriozum closed 1 year ago

qriozum commented 2 years ago

The "C.20" update for OnePlus 8 Pro based on Android 12 and the OxygenOS 12.1 overlay in correlation with "SafetyNet-Fix v2.2.1" completely blocks the fingerprint scanner. Uninstalling this module from "Magisk" restores the operation of the fingerprint scanner.

In addition, the "CTS Profile Matched" check grid is not passed.

After turning off "Safetynet-Fix v2.2.1" it completely breaks down:

The fingerprint scanner seems to work fine after loading "Safetynet-fix v2.3.0". The only thing that fails is the safety net for "CTS Profile Matched"

Doggie52 commented 2 years ago

The fix for the fingerprint issue is well-documented in the issues: https://github.com/kdrag0n/safetynet-fix/issues/179#issuecomment-1117424078

The CTS fail is new with the latest OP update.

qriozum commented 2 years ago

The fix for the fingerprint issue is well-documented in the issues: #179 (comment)

The CTS fail is new with the latest OP update.

179 Doesn't Fix "CTS" problem.

colleague @frnode compiled version v2.3.0 including the changes you wrote about in # 179 but unfortunately it does not work after updating OnePlus build C.20

frnode commented 2 years ago

Hello, I will update my OnePlus 8T in the next few days and try to see what is blocking. If I find, I will update the fork.

qriozum commented 2 years ago

@frnode The fingerprint scanner in C.20 update works fine after applying your build "v2.3.0". The only problem is "CTS Profile Match" which does not pass the test and "GooglePay" does not work.

Displax commented 2 years ago

@frnode The fingerprint scanner in C.20 update works fine after applying your build "v2.3.0". The only problem is "CTS Profile Match" which does not pass the test and "GooglePay" does not work.

Use Magiskhide Props Config

qriozum commented 2 years ago

Use Magiskhide Props Config

I checked "Magiskhide Props Config v6.1.2-v137" - it doesn't work on "CTS Profile Matched".

Unless I'm not doing something properly :(

Displax commented 2 years ago

Use Magiskhide Props Config

I checked "Magiskhide Props Config v6.1.2-v137" - it doesn't work on "CTS Profile Matched".

Unless I'm not doing something properly :(

You need setup it properly. Set to custom valid build.fingerprint

frnode commented 2 years ago

@Displax MagiskHide is not required I think? Because OnePlus' "build.fingerprint" is valid with Google, why change it (I don't fully know the verification system). When I check my "ro.build.fingerprint" it matches the latest version of OnePlus 8T (C20) OnePlus/OnePlus8T_EEA/OnePlus8T:12/RKQ1.211119.001/R.GDPR.202205172258:user/release-keys Maybe I'm wrong, I would like you to explain to me in this case.

Thanks

qriozum commented 2 years ago

@Displax

Musisz go poprawnie skonfigurować. Ustaw na niestandardowy prawidłowy build.fingerprint

My current fingerprint: OnePlus/OnePlus8PRO_EEA/OnePlus8pro: 12/RKQ1.211119.001/Q.GDPR 202205180039: user/release-keys.

Currently, "CTS Profile Matched" does not pass.

From the list of available fingerprint possible to set up for the European version and the "OnePlus 8 Pro" model for Android 10 and 11.

I have never used "Magiskhide" and for now I do not know if the change of Fingerprint will not affect more long -term system updates and whether it will be possible to return to the "factory" entry since it is not on the list available in "Magiskhide".

If you can write a few words of tips - I will be very grateful. Thank you.

best regards

rori999 commented 2 years ago

I've tried both the available MagiskHide props fingerprint for Android 10 and 11 but it doesnt work on C20. I do get a valid CTS profile however I lose fingerprint and google pay stays disabled.

qriozum commented 2 years ago

@rori999

I've tried both the available MagiskHide props fingerprint for Android 10 and 11 but it doesnt work on C20. I do get a valid CTS profile however I lose fingerprint and google pay stays disabled.

Do you have a blocked, non-working fingerprint scanner on the smartphone screen even for "Safety-Fix V2.3.0"? For me, after using "Safety -Fix V2.3.0" - the scanner works properly.

rori999 commented 2 years ago

@rori999

I've tried both the available MagiskHide props fingerprint for Android 10 and 11 but it doesnt work on C20. I do get a valid CTS profile however I lose fingerprint and google pay stays disabled.

Do you have a blocked, non-working fingerprint scanner on the smartphone screen even for "Safety-Fix V2.3.0"? For me, after using "Safety -Fix V2.3.0" - the scanner works properly.

With just the "Safety -Fix V2.3.0" and no magiskhide props the fingerprint scanner works. But CTS profile fails and no Google Pay. Perhaps there was confusion as the magiskhide props fingerprint is something different than the real fingerprint.

ruszok commented 2 years ago

Maybe someone have valid fingerprint from c11, C15, C16, c17? Then we can use it - this should works.

frnode commented 2 years ago

@rori999

I've tried both the available MagiskHide props fingerprint for Android 10 and 11 but it doesnt work on C20. I do get a valid CTS profile however I lose fingerprint and google pay stays disabled.

Do you have a blocked, non-working fingerprint scanner on the smartphone screen even for "Safety-Fix V2.3.0"? For me, after using "Safety -Fix V2.3.0" - the scanner works properly.

With just the "Safety -Fix V2.3.0" and no magiskhide props the fingerprint scanner works. But CTS profile fails and no Google Pay. Perhaps there was confusion as the magiskhide props fingerprint is something different than the real fingerprint.

Have you tried "Safety-Fix ​​V2.3.0" + MagiskHide with OnePlus 11 fingerprints available? If that works, I'll look into adding fingerprint tampering for OnePlus directly into SafetyNet-Fix.

Thanks for your return.

rori999 commented 2 years ago

@rori999

I've tried both the available MagiskHide props fingerprint for Android 10 and 11 but it doesnt work on C20. I do get a valid CTS profile however I lose fingerprint and google pay stays disabled.

Do you have a blocked, non-working fingerprint scanner on the smartphone screen even for "Safety-Fix V2.3.0"? For me, after using "Safety -Fix V2.3.0" - the scanner works properly.

With just the "Safety -Fix V2.3.0" and no magiskhide props the fingerprint scanner works. But CTS profile fails and no Google Pay. Perhaps there was confusion as the magiskhide props fingerprint is something different than the real fingerprint.

Have you tried "Safety-Fix ​​V2.3.0" + MagiskHide with OnePlus 11 fingerprints available? If that works, I'll look into adding fingerprint tampering for OnePlus directly into SafetyNet-Fix.

Thanks for your return.

No as soon as I select a fingeprint from the list and reboot i use the fingerprint login. CTS profile will work but not google pay. I tried with Oneplus 8 Pro 10 and 11 fingerprints and also a couple of others but always same result: You lose fingerprint feature of the phone, CTS profile works fine and no google pay. Once I reset the fingerprint in Magisk hide. The fingerprint login works again but the CTS profile fails and Google Pay doesnt work.

Doggie52 commented 2 years ago

I can confirm @rori999's findings - with MagiskHide Props Config set to the latest OnePlus 8T Europe fingerprint, I pass CTS but cannot use fingerprint scanner nor Google Pay.

ruszok commented 2 years ago

I can confirm @rori999's findings - with MagiskHide Props Config set to the latest OnePlus 8T Europe fingerprint, I pass CTS but cannot use fingerprint scanner nor Google Pay.

You can use ColorOS Magisk Module and than - magic - CTS pass, safety net pass, fingerprint reader works. IMG_20220602_224457 Screenshot_2022-06-02-22-50-36-92_0ecf870e1d5390b9ac21ebc76f00749d Screenshot_2022-06-02-22-53-35-89_84d3000e3f4017145260f7618db1d683

Doggie52 commented 2 years ago

Sure but Google Pay doesn't work, so CTS passing is useless.

ruszok commented 2 years ago

Works fine. Maybe you must clear all data in Google play app Screenshot_2022-06-04-14-30-37-59_b5a5c5cb02ca09c784c5d88160e2ec24

qriozum commented 2 years ago

Colleague @Doggie52 wrote about Google Pay (payments) and not Google Play (Market with applications).

On the other hand, if the GPLAY is identified as certified, the TS profile undergoes the test, payments should also theoretically go. But there is no certainty. The error made by OnePlus in software numbering may: "C.21" and in Dugim is "C.20".

Problems with fingerprint scanner and GP certification and CTS profile have people with telephones rooted as well as totally without modification. This only shows a problem committed by developers from OnePlus (OPPO).

BTW - @ruszok jesteś Polakiem? ;)

ruszok commented 2 years ago

CTS in Google pay: Screenshot_2022-06-04-16-07-34-71_f7aa348215f5d566f9e4ca860f474209 BTW @qriozum - taaa 🙃

rori999 commented 2 years ago

Screenshot_2022-06-04-16-17-45-32_f7aa348215f5d566f9e4ca860f474209 Google play says certified but not Google Pay

qriozum commented 2 years ago

@ruszok dzięki, coś tam ruszyło, ale nie mam pewności czy w całości ;)

Theoretically and hypothetically, after using the colleague's description @ruszok safetynet, the CTS test passes, the fingerprint scanner works, adding cards (being on the history list) in GooglePay went well. I haven't been to any store yet to make the payment and I'm worried about the lack of a "colored" icon above the card and the message "not configured". None of the three tabs, despite being selected as the default, does not highlight the icon on the colored "G" and this message "not configured" does not disappear :(

I will see tomorrow during some payment, maybe then, after the transaction, the status of the card will change. Screenshot_2022-06-04-19-43-30-19_ee6c70a2cd62691aba87933373bbdecb

Screenshot_2022-06-04-19-43-41-88_18b762caed461a44a1cb711654544210

Screenshot_2022-06-04-19-44-04-54_0ecf870e1d5390b9ac21ebc76f00749d

Screenshot_2022-06-04-19-53-06-21_b5a5c5cb02ca09c784c5d88160e2ec24

Screenshot_2022-06-04-19-54-34-23_f7aa348215f5d566f9e4ca860f474209

rori999 commented 2 years ago

I went grocerie shopping today and the payment was refused. As I'm basically cashless (didn't bring my wallet) I was fortunate my Garmin watch worked well. So my experience is payment will not work.

qriozum commented 2 years ago

I went grocerie shopping today and the payment was refused. As I'm basically cashless (didn't bring my wallet) I was fortunate my Garmin watch worked well. So my experience is payment will not work.

@rori999 Does your CTS pass? GooglePlay certified? Were you able to add your cards on GooglePay?

rori999 commented 2 years ago

Google play is certified. I've removed and re added a card but it says "not setup"

qriozum commented 2 years ago

You "not setup" is displayed as I do, after successfully adding a card to your wallet under the icon indicating a close -up (which is crossed out):

Screenshot_2022-06-04-19-54-34-23_f7aa348215f5d566f9e4ca860f474209

Now I have no way to check if the payment would pass with me because the next active store is still closed. For now, I'm getting down to Downgrade to A11 and intend to make flash "evox 6.4"

qriozum commented 2 years ago

Google play is certified. I've removed and re added a card but it says "not setup"

Checked, the method served by @ruszok works. The message in the GPAY on the card with the content "unspecified" which can be seen on my screenshot was only for the first payment. Flance has passed and a few more, also now, the inscription "bring to the reader" is now displayed ;)

regards q.

firozpatel123 commented 2 years ago

Screenshot_2022-06-06-10-55-11-67_8b06bba7e628ecf401b63fafb2bb6576 Screenshot_2022-06-06-10-54-54-30_0ecf870e1d5390b9ac21ebc76f00749d Screenshot_2022-06-06-10-43-44-28_84d3000e3f4017145260f7618db1d683

I've tried the method, now I'm passing safety net but fingerprint don't work, have I done anything wrong, OnePlus 8 pro a12

ruszok commented 2 years ago

Please give log from Magisk where can see modules start order. It is important to install modules in the right order.

firozpatel123 commented 2 years ago

Oh right, I don't think I did it in order, I'll give that a go and then report back, thank you

P.s do I have to change finger print first, then install universal safety net then colour os?

ruszok commented 2 years ago

Yes. And reboot after each one stage.

adwil13 commented 2 years ago

Here's what worked for me to gain Google Pay, Play Store certified status and working fingerprint on OnePlus 8 Pro. This method works for both Magisk 24.3 and Magisk 25.0

  1. Remove all magisk modules.
  2. Reboot
  3. Install modules "Safety-Fix V2.3.0" and "MagiskHide Props Config v6.1.2"
  4. Reboot
  5. Go to terminal (I'm using Termux)
  6. Type su and grant superuser request
  7. Type props, wait for menu to show up
  8. Type 4 (Edit MagiskHide props)
  9. Type r (Reset all props) and confirm by typing y
  10. Type n when asked to reboot now
  11. Type b to go back to main menu
  12. Type 1 (Edit device fingerprint)
  13. Type f (Pick a certified fingerprint)
  14. Type 21 (Pick OnePlus as manufacturer)
  15. Choose your OnePlus model - for me it was 41 (OnePlus 8 Pro Europe IN2023 (10 & 11)
  16. Choose Android version 11 - for me it was 2 (Android version 11)
  17. Type y to continue
  18. Type e to exit MagiskHide Props Config
  19. Clear data/cache for Play Store, Google Play Services and Google Pay (you'll loose all cards, but you can readd them later)
  20. Reboot
  21. Set up your Google Pay cards etc. Everything should work now

Edit: Ow and when you're accessing Google Pay for the first time you can get something like "Google Pay is updating right now so you won't be able to access the app", but just wait like 5-10 minutes and try again. It happens because Google Play Services needs to rebuild it's data/cache.

Edit2: Tested on friend's OnePlus 8T - worked like a charm

Edit3: Steps 6-9 are required to fix fingerprint

ruszok commented 2 years ago

Yes, correct - I confirm that, but... Without ColorOS module fingerprint reader doesn't work.

adwil13 commented 2 years ago

Reseting all props in MagiskHide (steps 6-9 from my comment) fixes fingerprint. ColorOS module is redundant

rori999 commented 2 years ago

Here's what worked for me to gain Google Pay and Play Store certified status on OnePlus 8 Pro:

1. Remove all magisk modules.

2. Reboot

3. Install modules "Safety-Fix V2.3.0" and "MagiskHide Props Config v6.1.2"

4. Reboot

5. Go to terminal (I'm using Termux)

6. Type `su` and grant superuser request

7. Type `props`, wait for menu to show up

8. Type `4` (Edit MagiskHide props)

9. Type `r` (Reset all props) and confirm by typing `y`

10. Type `n` when asked to reboot now

11. Type `b` to go back to main menu

12. Type `1` (Edit device fingerprint)

13. Type `f` (Pick a certified fingerprint)

14. Type `21` (Pick OnePlus as manufacturer)

15. Choose your OnePlus model - for me it was `41` (OnePlus 8 Pro Europe IN2023 (10 & 11)

16. Choose Android version 11 - for me it was `2` (Android version 11)

17. Type `y` to continue

18. Type `e` to exit MagiskHide Props Config

19. Clear data/cache for Play Store, Google Play Services and Google Pay (you'll loose all cards, but you can readd them later)

20. Reboot

21. Set up your Google Pay cards etc. Everything should work now

Edit: Ow and when you're accessing Google Pay for the first time you can get something like "Google Pay is updating right now so you won't be able to access the app", but just wait like 5-10 minutes and try again. It happens because Google Play Services needs to rebuild it's data/cache.

Edit2: Tested on friend's OnePlus 8T - worked like a charm

Thank you! This seems to work for me as well. I guess the reset of the magisk props was the thing. All others I had tried before. I don't use the coloros module now and Pay seems to work as well as the fingerprint. I will actually go to a store soon but I guess it works now as all seems okay within Google pay.

Now I can leave my wallet at home again! (I am form the Netherlands and its very easy to live completely cashless here).

BTW I use a Oneplus 8 Pro

adwil13 commented 2 years ago

@rori999 I'm glad it worked for you :) I'm from Poland and tbh I don't even have a wallet :D

rori999 commented 2 years ago

@rori999 I'm glad it worked for you :) I'm from Poland and tbh I don't even have a wallet :D

Well that's Poland. We both have the same neighbor (Germany). Much harder there to be cashless. Last year I was at a bar in Hamburg which proudly announced they only accept cash. Oops that was a problem, fortunately an ATM was nearby...

ruszok commented 2 years ago

Reseting all props in MagiskHide (steps 6-9 from my comment) fixes fingerprint. ColorOS module is redundant

Yes. Right. But I must reset all props after all procedure done. I don't know why. Hmmm that's not make sense 🤣

firozpatel123 commented 2 years ago

Here's what worked for me to gain Google Pay, Play Store certified status and working fingerprint on OnePlus 8 Pro:

  1. Remove all magisk modules.
  2. Reboot
  3. Install modules "Safety-Fix V2.3.0" and "MagiskHide Props Config v6.1.2"
  4. Reboot
  5. Go to terminal (I'm using Termux)
  6. Type su and grant superuser request
  7. Type props, wait for menu to show up
  8. Type 4 (Edit MagiskHide props)
  9. Type r (Reset all props) and confirm by typing y
  10. Type n when asked to reboot now
  11. Type b to go back to main menu
  12. Type 1 (Edit device fingerprint)
  13. Type f (Pick a certified fingerprint)
  14. Type 21 (Pick OnePlus as manufacturer)
  15. Choose your OnePlus model - for me it was 41 (OnePlus 8 Pro Europe IN2023 (10 & 11)
  16. Choose Android version 11 - for me it was 2 (Android version 11)
  17. Type y to continue
  18. Type e to exit MagiskHide Props Config
  19. Clear data/cache for Play Store, Google Play Services and Google Pay (you'll loose all cards, but you can readd them later)
  20. Reboot
  21. Set up your Google Pay cards etc. Everything should work now

Edit: Ow and when you're accessing Google Pay for the first time you can get something like "Google Pay is updating right now so you won't be able to access the app", but just wait like 5-10 minutes and try again. It happens because Google Play Services needs to rebuild it's data/cache.

Edit2: Tested on friend's OnePlus 8T - worked like a charm

Edit3: Steps 6-9 are required to fix fingerprint

Genius work, thank you! fingerprint is working, safety net is a pass, google playstore certified, google pay works (haven't made a payment but able to add card)

memenio commented 2 years ago

Here's what worked for me to gain Google Pay, Play Store certified status and working fingerprint on OnePlus 8 Pro:

  1. Remove all magisk modules.
  2. Reboot
  3. Install modules "Safety-Fix V2.3.0" and "MagiskHide Props Config v6.1.2"
  4. Reboot
  5. Go to terminal (I'm using Termux)
  6. Type su and grant superuser request
  7. Type props, wait for menu to show up
  8. Type 4 (Edit MagiskHide props)
  9. Type r (Reset all props) and confirm by typing y
  10. Type n when asked to reboot now
  11. Type b to go back to main menu
  12. Type 1 (Edit device fingerprint)
  13. Type f (Pick a certified fingerprint)
  14. Type 21 (Pick OnePlus as manufacturer)
  15. Choose your OnePlus model - for me it was 41 (OnePlus 8 Pro Europe IN2023 (10 & 11)
  16. Choose Android version 11 - for me it was 2 (Android version 11)
  17. Type y to continue
  18. Type e to exit MagiskHide Props Config
  19. Clear data/cache for Play Store, Google Play Services and Google Pay (you'll loose all cards, but you can readd them later)
  20. Reboot
  21. Set up your Google Pay cards etc. Everything should work now

Edit: Ow and when you're accessing Google Pay for the first time you can get something like "Google Pay is updating right now so you won't be able to access the app", but just wait like 5-10 minutes and try again. It happens because Google Play Services needs to rebuild it's data/cache.

Edit2: Tested on friend's OnePlus 8T - worked like a charm

Edit3: Steps 6-9 are required to fix fingerprint

I can't find on termux OnePlus8pro and Android 12. What should I choose?

rori999 commented 2 years ago

Choose Android 11 worked for me on my oneplus 8 pro

adwil13 commented 2 years ago

yeah use Android 11 fingerprint

For some reason cts fails on any Android 12 fingerprint on these devices :confused:

firozpatel123 commented 2 years ago

Screenshot_2022-06-07-15-17-11-68_8b06bba7e628ecf401b63fafb2bb6576

Would this update ruin this method to fix satefynet and Google pay? Anyone know

adwil13 commented 2 years ago

You have to check it by yourself, but keep in mind that downgrading Magisk is not that easy if my method won't work.

firozpatel123 commented 2 years ago

Screenshot_2022-06-08-08-27-31-34_b5a5c5cb02ca09c784c5d88160e2ec24 Screenshot_2022-06-08-08-27-37-48_8b06bba7e628ecf401b63fafb2bb6576

Looks like it still works

Edit: made a payment using Google pay, and it works just fine

memenio commented 2 years ago

Here's what worked for me to gain Google Pay, Play Store certified status and working fingerprint on OnePlus 8 Pro:

  1. Remove all magisk modules.
  2. Reboot
  3. Install modules "Safety-Fix V2.3.0" and "MagiskHide Props Config v6.1.2"
  4. Reboot
  5. Go to terminal (I'm using Termux)
  6. Type su and grant superuser request
  7. Type props, wait for menu to show up
  8. Type 4 (Edit MagiskHide props)
  9. Type r (Reset all props) and confirm by typing y
  10. Type n when asked to reboot now
  11. Type b to go back to main menu
  12. Type 1 (Edit device fingerprint)
  13. Type f (Pick a certified fingerprint)
  14. Type 21 (Pick OnePlus as manufacturer)
  15. Choose your OnePlus model - for me it was 41 (OnePlus 8 Pro Europe IN2023 (10 & 11)
  16. Choose Android version 11 - for me it was 2 (Android version 11)
  17. Type y to continue
  18. Type e to exit MagiskHide Props Config
  19. Clear data/cache for Play Store, Google Play Services and Google Pay (you'll loose all cards, but you can readd them later)
  20. Reboot
  21. Set up your Google Pay cards etc. Everything should work now

Edit: Ow and when you're accessing Google Pay for the first time you can get something like "Google Pay is updating right now so you won't be able to access the app", but just wait like 5-10 minutes and try again. It happens because Google Play Services needs to rebuild it's data/cache. Edit2: Tested on friend's OnePlus 8T - worked like a charm Edit3: Steps 6-9 are required to fix fingerprint

I can't find on termux OnePlus8pro and Android 12. What should I choose?

So, it worked in theory. I mean, when I open Gpay and try to pay at the supermarket, it appears the animation of the payment but the paymane is actually rejected

qriozum commented 2 years ago

So, it worked in theory. I mean, when I open Gpay and try to pay at the supermarket, it appears the animation of the payment but the paymane is actually rejected

At the beginning of our discussion, I used the module provided by my colleague @ruszok (ColorOS v1.2). GPay payments were working fine, CTS tests were correct. When a friend of @adwil13 suggested a MHP reset a few days ago, so there is no need to use the "ColorOS v1.2" module. I also tried this method. Paying GPay works fine.

You must have missed something. Checking the safety net (safetynet) passes for you in all parameters?

memenio commented 2 years ago

So, it worked in theory. I mean, when I open Gpay and try to pay at the supermarket, it appears the animation of the payment but the paymane is actually rejected

At the beginning of our discussion, I used the module provided by my colleague @ruszok (ColorOS v1.2). GPay payments were working fine, CTS tests were correct. When a friend of @adwil13 suggested a MHP reset a few days ago, so there is no need to use the "ColorOS v1.2" module. I also tried this method. Paying GPay works fine.

You must have missed something. Checking the safety net (safetynet) passes for you in all parameters?

Screenshot_2022-06-10-10-30-43-47_18b762caed461a44a1cb711654544210

qriozum commented 2 years ago

@memenio From the screenshot sent - everything looks OK. I would make sure by checking, e.g. with this tester: https://play.google.com/store/apps/details?id=de.guenthers.safetynet&hl=pl&gl=US

Have you added GPay, GooglePlay Services to "DenyList"? Have you cleared GPay data and memory? Did you reboot your smartphone?