MAGISK MODULE ❯ Universal SafetyNet Fix 2.4.0

Search This thread

bangrod

New member
Jun 20, 2021
3
0
If you are downgrading i suppose best practice is to remove the newer, don't know if it is necessary though. If you're on older than 2.4.0 then you should be able to install over (but don't follow the update button after as it will upgrade you to 2.4.0)
Ok thanks I'll try it again. I'm using older version as I'm on magisk v23 and need the Riru version of safety net fix
 

christantoan

Senior Member
Oct 9, 2015
258
108
OnePlus 3T
OnePlus 7 Pro
Sorry for bumping but can anyone help me with this, please?

This is probably off-topic and if so, can anyone please point me to where should I post to ask for advice about general apps root avoidance?

Since its latest update, I've been unable to open this app (the app's apk is attached just in case it's exclusive to my region) because it detects that my phone is insecure. My phone passes PI until basic integrity so maybe someone with strong integrity verdict can help me check if the app requires it.
View attachment 5820903

For information, I've tried HMA and DenyList with Shamiko.

Thank you in advance.

Thank you!
 

pndwal

Senior Member
Does the modded version work with Magisk v23 do you know?
No... It's a Zygisk module so needs 24.0+.

You can use Riru modules, eg @huskydg's USNF fork, or official Riru-USNF + Magiskhide + for PI deviceIntegrity use MHPC to manually add a mismatched fingerprint prop and manually alter shipping level prop value (for A13 LV devices) if google enforces hardware based verdicts for Play Integrity API on you device. (Hardware based verdict enforcement for SafetyNet API is bypassed by mismatched model prop in Riru-USNF)... PW
 
  • Like
Reactions: ipdev

huskydg

Senior Member
Feb 17, 2021
407
476
Sorry for bumping but can anyone help me with this, please?



Thank you!
Yes, but you have to uninstall UNSF and give up official magisk. Also even you switch to another unofficial magisk, installing USNF will make it detects again. That's your choice ¯\_(ツ)_/¯

Also check this:
 
Last edited:
  • Wow
Reactions: christantoan

christantoan

Senior Member
Oct 9, 2015
258
108
OnePlus 3T
OnePlus 7 Pro
Yes, but you have to uninstall UNSF and give up official magisk. That's your choice ¯\_(ツ)_/¯

Also check this:
Ouch

Thank you for the advice though. Glad to know how the apps detect root.
 

Sasy969

Senior Member
Jan 30, 2018
66
11
Hi again guys
thanks to the help of @pndwal I was able to have wallet working, simply adding com.google.android.gms.unstable and com.google.android.gms to magisk denylist with no USNF magisk module at all.
Until now everything was working preatty fine and i was using wallet for paymenti without any problem, but now I have just opened wallet and again the same poup up saying my device doesn't meet safety requirements.

Attual Setup
Magisk installed
One Plus 9 eith EvolutionX ROM (ROM seems to have some tricks to pass safetny net on its own)
No magisk module installed
i am able to get MEETS _DEVICE_INTEGRITY and MEETS_BASIC_INTEGRITY
 

AnyNameYouWish

Senior Member
On Google Pixel 5, I installed january update last weekend. Since today only, I can't pass integrity check anymore.

I followed V0latyle and Homeboy76 guides, tried with Kdrag0n(2.4) and Displax's (3 available versions) modules. Each time I flashed in Magisk then wiped Play Store, Play services and Wallet cache and data.

Deny list is configured but not enforced since I use Shamiko. I tried both ways tho, but unsuccessful in both.

No changes in my modules since I updated so I don't think one of them caused it, but here's the lists:

My modules in magisk are
- AOSP Mods Full 2.6.0
- Builtin Busybos 1.0.4
- Debloater 17.3.3
- Magisk Bootloop protector 1.5
- mindetach 2.3
- Shamiko 06
- Universal SafetyNet Fix 2.4.0 (Kdrag0n)
- Youtube Revanced 18.03.36
- Zygist Lsposed 1.8.5 mod

In Lsposed, modules are :
- AOSP mods
- Let me downgrade
- UniversalAuth
- UpdateLocker
- XprivacyLUA

Any idea what I'm missing and what could be a fix?
 

wyt18

Senior Member
On Google Pixel 5, I installed january update last weekend. Since today only, I can't pass integrity check anymore.

I followed V0latyle and Homeboy76 guides, tried with Kdrag0n(2.4) and Displax's (3 available versions) modules. Each time I flashed in Magisk then wiped Play Store, Play services and Wallet cache and data.

Deny list is configured but not enforced since I use Shamiko. I tried both ways tho, but unsuccessful in both.

No changes in my modules since I updated so I don't think one of them caused it, but here's the lists:

My modules in magisk are
- AOSP Mods Full 2.6.0
- Builtin Busybos 1.0.4
- Debloater 17.3.3
- Magisk Bootloop protector 1.5
- mindetach 2.3
- Shamiko 06
- Universal SafetyNet Fix 2.4.0 (Kdrag0n)
- Youtube Revanced 18.03.36
- Zygist Lsposed 1.8.5 mod

In Lsposed, modules are :
- AOSP mods
- Let me downgrade
- UniversalAuth
- UpdateLocker
- XprivacyLUA

Any idea what I'm missing and what could be a fix?
Try uninstalling xprivacylua and delete all the folders it created in system and sdcard. That was what tripped integrity checker for me before
 

AnyNameYouWish

Senior Member
Try uninstalling xprivacylua and delete all the folders it created in system and sdcard. That was what tripped integrity checker for me before
Holy Moly you made me happy!

I didn't find any folder to delete, but first try with Displax latest mod + clear data from Play Store, Play service and Wallet did the job.

I reinstalled XprivacyLUA, so far so good 🤞 Still have to go out and test the wallet.

Thanks Captain! May I ask how did you find out?
 
  • Like
Reactions: ipdev

wyt18

Senior Member
Holy Moly you made me happy!

I didn't find any folder to delete, but first try with Displax latest mod + clear data from Play Store, Play service and Wallet did the job.

I reinstalled XprivacyLUA, so far so good 🤞 Still have to go out and test the wallet.

Thanks Captain! May I ask how did you find out?
I tried everything and at some point deleted all my magisk and xposed modules to test individually

Be careful about using xprivacy, it may trip integrity again at some point. I removed it completely and now all works fine
 

Sasy969

Senior Member
Jan 30, 2018
66
11
Hi again guys
thanks to the help of @pndwal I was able to have wallet working, simply adding com.google.android.gms.unstable and com.google.android.gms to magisk denylist with no USNF magisk module at all.
Until now everything was working preatty fine and i was using wallet for paymenti without any problem, but now I have just opened wallet and again the same poup up saying my device doesn't meet safety requirements.

Attual Setup
Magisk installed
One Plus 9 eith EvolutionX ROM (ROM seems to have some tricks to pass safetny net on its own)
No magisk module installed
i am able to get MEETS _DEVICE_INTEGRITY and MEETS_BASIC_INTEGRITY
Update: I have tried again to simply delete the data of GW, GPS and PS and wallet started working again
 

Schroeder09

Senior Member
Nov 6, 2017
1,095
200
Google Pixel 7 Pro
try uninstalling all your xposed / magisk modules and see if that works
will disabling them do the same trick?

edit: disabled XPL and rebooted. now im passing safety net. wth!? I guess I will have to see what google apps I restricted the last couple days and undo that? is that the proper course of action?


EDIT#2: Cant seem to get safety net to pass if XPL is active at all. Is there cache or data in certain folders I need to delete or rename? I'm on A13 on a p7p with the latest security update. I have magisk 25.2 and lsposed 1.8.6. I'm using universal safety net fix 2.4.0.

EDIT #3: so it seems restricting gboard with XPL causes safetynet to trip. I will post a 4th edit, but I believe there is a specific restriction on gboard that is causing this.
 
Last edited:

pndwal

Senior Member
will disabling them do the same trick?

edit: disabled XPL and rebooted. now im passing safety net. wth!? I guess I will have to see what google apps I restricted the last couple days and undo that? is that the proper course of action?

EDIT#2: Cant seem to get safety net to pass if XPL is active at all. Is there cache or data in certain folders I need to delete or rename? I'm on A13 on a p7p with the latest security update. I have magisk 25.2 and lsposed 1.8.6. I'm using universal safety net fix 2.4.0.

EDIT #3: so it seems restricting gboard with XPL causes safetynet to trip. I will post a 4th edit, but I believe there is a specific restriction on gboard that is causing this.
A number of modules will break basicIntegrity even for S/N API, more for PI API... Some configurations in modules like XPrivacyLUA will also break ctsProfileMatch etc... Disabling all modules other than USNF is the correct approach for diagnosing issues...

Nb. Banks often detect XPrivacyLUA even after uninstalling as it doesn't clean up properly... Remove data/system/xlua folder to prevent this detection...

🤠 PW
 

Top Liked Posts

  • There are no posts matching your filters.
  • 4
    For those using Canary builds

    Please be aware that in 25207+ major refactoring (of selinux rule patching) has broken many modules etc... This is likely the cause of issues with hiding using recent builds as Shamiko is affected... Please see discussion in Magisk Discussion thread...

    You could revert to 25206 or wait for fixes hopefully in 25211... 👀 PW
    3
    I have a strange behavior. After rebooting the phone I have everything pass in YASNAC. But after opening the bank application YASNAC shows that CTS profile fail. Cannot find in this thread anything related to this problem. Any ideas?

    crDroid9 13Android
    OnePlus 6t
    Magisk hided and seftynet installed
    This module has issues with builds that offer a fix for new Play Integrity deviceIntegrity...

    As mentioned above, you need to pass that now as SafetyNet is depreciated, but you will need to be passing old ctsProfileMatch in order to pass deviceIntegrity...

    @Displax posted links to his working (forked/fixed) builds in a new thread a couple of pages back here:
    https://forum.xda-developers.com/t/magisk-module-universal-safetynet-fix-2-4-0.4217823/post-88149057

    We're hoping that official USNF may get needed attention soon, but it appears @kdrag0n is busy with other matters...

    🙂 PW
    3
    I was on 2.3.1_MOD_3.0 on Android 12 and now 2.4.0_MOD_1.2 on Android 13 and all was now well in both setups.
    3
    I'm on a similar setup although just "2.4.0", I need to look around for "2.4.0_MOD_1.2" in particular to try that out.
    3
    would you be able to share the new displax 2.4.0 1.2 for me I am unable to find it easily. I would appreciate that
  • 311
    Universal SafetyNet Fix
    Magisk module​

    Magisk module to work around Google's SafetyNet attestation.

    This module works around hardware attestation and recent updates to SafetyNet CTS profile checks. You must already be able to pass basic CTS profile attestation, which requires a valid combination of device and model names, build fingerprints, and security patch levels.

    If you still have trouble passing SafetyNet with this module, use MagiskHide Props Config to spoof a certified device profile. This is a common issue on old devices, custom ROMs, and stock ROMs without GMS certification (e.g. Chinese ROMs).

    Android versions up to 13 Beta 3 are supported, including OEM skins such as Samsung One UI and MIUI.

    How does it work?
    The way this workaround works is relatively low-level. An in-depth explanation, as well as source code and ROM changes, can be found on GitHub.

    Ideally, this workaround should be incorporated in custom ROMs instead of injecting code with a Magisk module. See the ProtonAOSP website for more information.

    Downloads
    Downloads and changelogs can be found on GitHub. The topmost release is the latest.

    Latest release
    v2.4.0

    Highlights
    • Play Integrity bypass without breaking device checks or causing other issues
    • Disabled use of hardware attestation on Pixel 7 and newer (@anirudhgupta109)
    Other changes
    • Updated instructions for newer Android and Magisk versions
    • Better debugging for future development
    This version only supports Zygisk (Magisk 24 and newer).

    It's taken a while to find a way to bypass Play Integrity that doesn't require spoofing the build fingerprint permanently, but I wanted to make sure this module doesn't cause any unnecessary breakage. Just like the original goal of Universal SafetyNet Fix, this minimizes adverse effects by spoofing dynamically at runtime only when necessary. Enjoy!

    If you found this helpful, please consider supporting development with a recurring donation for rewards such as early access to updates, exclusive behind-the-scenes development news, and priority support.
    Alternatively, you can also buy me a coffee. All support is appreciated ❤️

    Source code
    213
    So, here is my modification of USNF with Play Integrity API bypass.

    It changes fingerprint to old 7.1.2 6.0 (LOL) and apply it only for GMS SafetyNet process (by Zygisk injection), so your original prints/security path level does not change. This avoids many side effects/problems with global props changing.

    Updated 3.0:
    No words needed, you understand everything yourself 😜

    Updated 2.1:
    Hide "Enable OEM Unlock" setting

    Updated 2.0:
    Bypassing DEVICE_INTEGRITY for devices that shipped with Android 13+ (Pixel`s 7 )

    Updated:
    Drop fingerprint to lowest possible (6.0) to ensure that no one use same Android version

    Usage:
    1. Delete/disable/reset MagiskHidePropsConfig (if installed).
    2. Just install it over old Universal SafetyNet Fix and reboot device.
    3. You may be needed to wipe GMS data (not cache) if there is no result immediately.

    Many thanks to @1nikolas for integrity checker.

    Source code: https://github.com/Displax/safetynet-fix/tree/integrity
    58
    So, here is my new modification of USNF with Play Integrity API bypass.

    It is now based on top of original v2.4.0 codebase instead of v2.3.1, with adding new hiding algorithm for current realities and some code refreshing.

    Changelog:

    Version 1.2
    * Fix crash and endless tests loop/failing on Android < 9.0 (bug from original version 2.4.0).
    * Do not unpatch (revert) changes. To prevent possible tests failing after a while on some ROMs (cross conflicts).

    Version 1.1
    * Fix KeyStore hook desynchronization (tests randomly failing problem).


    Usage:
    1. Delete/disable/reset MagiskHidePropsConfig (if installed).
    2. Just install it over old Universal SafetyNet Fix and reboot device.
    3. You may be needed to wipe GMS data (not cache) if there is no result immediately.

    Source code: https://github.com/Displax/safetynet-fix/tree/dev
    31
    Folks, the SafetyNet API was depreciated last Month with 'full turndown' slated for June 2024 and the introduction of the new Play Integrity API. It has also become clear that Google apps are simply the first to adopt the long foretold Play Integrity API; all responsible banks are bound to follow suit in short order, and at least before the June 2023 migration deadline.

    This means (assuming fully deployed Hardware Key Attestation doesn't come first 😬) that the need for a 'Universal Play Integrity Fix' has become quite urgent.

    We currently have workarounds involving using older fingerprint props by means of MHPC module (similar to fix needed for uncertified ROMs), but success/mileage varies per device and users of regular bank apps / gamers etc on stock devices will all soon be forced to experiment with MHPC prints also... This is hardly ideal.

    So I've made an issue report/request on USNF GitHub as follows. This information may be insightful to users here also...

    Please let me know here if I have missed anything important, or add any technically relevant details there...

    PLEASE DON'T spam that issue with unimportant details or queries... (The previous issue is already burgeoning w/ OT.) That's what this thread is for... 😛 :

    Please make 'Universal Play Integrity Fix' ... #204

    Fixes to expand 'Universal SafetyNet Fix' to become a 'Universal Play Integrity Fix' are needed.

    The SafetyNet Attestation API is deprecated and has been replaced by the Play Integrity API.
    https://developer.android.com/training/safetynet/deprecation-timeline

    New Play Integrity API is rolling out from June 2022, and evidently Google Play Store and Google Pay/Wallet are already using its verdict.

    June 2023 is the Migration Deadline for app developers. This will also allow their older app versions to continue working with SafetyNet API for a limited time.

    June 2024 is the End of life for SafetyNet API; its attestation will no longer work for any app version, and apps will receive an error.

    The new Integrity API has more strict requirements for passing attestation, and this seems to be enforced in Android 11+ particularly.

    Currently (evidently due to this), device security issues are detected by

    1. Google Pay/Wallet, which may state "You can't pay contactless with this device...(Your phone doesn't meet software standards)" on updating or attempting to add a card despite in-app Contactless setup stating "You're ready to pay contactless with your phone (Your phone meets security requirements)", and
    2. Google Play Store, which may no longer show apps like Netflix w/ Android 11+ (developers can 'exclude devices from their app's distribution based on their device integrity . Device exclusion is based on the latest device integrity verdict that the Play Store app receives from the Play Integrity API') despite in-app settings showing Play Protect 'Device is certified' result.
    I'm guessing that the 'passing' messages based on the old SafetyNet API are likely to realigned soon.

    A workaround that evidently allows Play Integrity API attestation to pass (and solve Wallet / Play Store issues also) has been discovered. It involves spoofing an earlier certified ROM, generally by using MagiskHide Props Config module to change fingerprint prop to one for Android 10 or earlier.

    Undoubtedly other apps will begin to detect broken TEE etc / fail as they migrate or begin integrating the Play Integrity API.

    A 'Universal Play Integrity Fix' will evidently require more understanding / research into how the fingerprint prop is used, and possibly other new behaviours.

    Here's hoping... 🙃 PW
    28
    ok so there is a solution

    get the magisk module riru

    after you get riru get LSPosed

    after you get LSPosed get xprivacylua (in the LSPosed app)

    select play services in the xprivacylua settings IN the LSPosed app

    AND in the xprivacylua app itself after you've restarted.

    clear play service data

    check safetynet in magisk - enjoy?

    I would reboot between each step just to be safe but I know it's necessary to load the xprivacylua module

    s/o to saitama_96 for discovering it or so I'm led to believe