[MODULE] [MOD] Universal SafetyNet Fix

Search This thread

pndwal

Senior Member
Which version? Why isn't it seen in the list? Combo screenshot of the list of my modules attached.

Yes. Is it not required? See my modules. But, I have an issue - if anything takes over the microphone while I'm listening to music or watching video, Viper loses it's effect (Driver status shows Processing: No). After the takeover ends, I have to disable and re-enable 'Legacy Mode' in Viper settings to get the effect back. Any way to resolve this? I'm on Android 12.1. Would @zgfg have something to say?
I have no such issues, but apparently AML can interfere w/ Viper... (just going by memory here...) Anyway it's only needed if you have multiple audio mods AFAIK... Not needed for viper...

Guess when driver status shows Processing: No it says 'Abnormal' too?... As long as Legacy is enabled you can disable V4AFX module and reboot then enable and reboot again to restore...

@zgfg may have more... We both generally use this build now which seems to fix old issues too:
https://github.com/programminghoch10/ViPER4AndroidRepackaged

... I just wanted to test something with original V4AFX and haven't reverted...

I'd disable AML and give ViPER4AndroidRepackaged a blast around the block... PW
 
Last edited:
  • Like
Reactions: m0han

zgfg

Senior Member
Oct 10, 2016
8,965
6,696
Redmi K20 / Xiaomi Mi 9T
Xiaomi Mi 11 Ultra
I have no such issues, but apparently AML can interfere w/ Viper... (just going by memory here...) Anyway it's only needed if you have multiple audio mods AFAIK... Not needed for viper...

Guess driver shows Abnormal too?... As long as Legacy is enabled you can disable V4AFX module and reboot then enable and reboot again to restore...

@zgfg may have more... We both generally use this build now which seems to fix old issues too:
https://github.com/programminghoch10/ViPER4AndroidRepackaged

... I just wanted to test something with original V4AFX and haven't reverted...

I'd disable AML and give ViPER4AndroidRepackaged a blast around the block... PW
I use V4A 64-bit Beta:
(also Legacy mode)

I need AML since I also run JamesDSP
 

zgfg

Senior Member
Oct 10, 2016
8,965
6,696
Redmi K20 / Xiaomi Mi 9T
Xiaomi Mi 11 Ultra
Which version? Why isn't it seen in the list? Combo screenshot of the list of my modules attached.

Yes. Is it not required? See my modules. But, I have an issue - if anything takes over the microphone while I'm listening to music or watching video, Viper loses it's effect (Driver status shows Processing: No). After the takeover ends, I have to disable and re-enable 'Legacy Mode' in Viper settings to get the effect back. Any way to resolve this? I'm on Android 12.1. Would @zgfg have something to say?
As replied in the previous post, I use V4A 64-bit re-ingeneered

I don't have (never had also with your V4A version) issues with loosing the audio focus on alerts or so - there would be a ringing or so, but V4A continues to process its music
 
  • Like
Reactions: m0han

Spartacus500

Senior Member
Nov 6, 2014
690
135

Attachments

  • Screenshot_20230329-095318.jpg
    Screenshot_20230329-095318.jpg
    377.7 KB · Views: 132

m0han

Senior Member
Apr 30, 2012
5,568
2,679
... I use V4A 64-bit re-ingeneered... loosing the audio focus on alerts or so - there would be a ringing or so, but V4A continues to process its music
Is this the 64-bit beta? Install app, flash module in Magisk, reboot? Anything else to be done?
 

Attachments

  • SS_20230329_134858.jpg
    SS_20230329_134858.jpg
    266.9 KB · Views: 87

zgfg

Senior Member
Oct 10, 2016
8,965
6,696
Redmi K20 / Xiaomi Mi 9T
Xiaomi Mi 11 Ultra
Is this the 64-bit beta? Install app, flash module in Magisk, reboot? Anything else to be done?
I think you must set Legacy mode (I always do)

Also, settings are now at the different path:
/Documents/ViPER4Android

Hence you must enable Master limiter and configure the tweaks (read on the GitHub about the status, what was ported)

Btw, package names for the apps are different, make sure you uninstall the old V4A
 

pndwal

Senior Member
I have such modules, I removed the universal SafetyNet fix, but it did nothing 🤔
I though it might be due to MHPC globally setting props but not...

USNF used targeted spoofing of fingerprint prop so should be ok... I'd swap it for @Displax modded build as official is broken ATM...

You won't need the sensitive props module with USNF as it already does this... (I believe Shamiko does too!)... I'd try disabling that and check again...

You don't actually need USNF as your device is too old for keymaster 3, but targeted USNF is the best way to spoof a fingerprint prop which you may need since you have custom ROM...

If your ROM spoofs fingerprint prop itself, you could remove USNF and add gms attestation/droidguard (Google Play Services com.google.android.gms.unstable) process to denylist to hide root, and add any one of the following to set sensitive props to Google expected values:
-Your SafetyNet Sensitive Props module
- Shamiko
- MagiskHide Props Config module left unconfigured (This resets sensitive props by default is loaded)
... You should not need more than one of these running, but try swapping if deviceIntegrity doesn't pass...

🤠 PW
 

m0han

Senior Member
Apr 30, 2012
5,568
2,679
... set Legacy mode... settings are now at /Documents/ViPER4Android.... enable Master limiter and... make sure you uninstall the old V4A
Did all this. But, does not work. Disabled, Re-enabled, Rebooted.....
 

Attachments

  • SS_20230329_173659.jpg
    SS_20230329_173659.jpg
    126.6 KB · Views: 85

Spartacus500

Senior Member
Nov 6, 2014
690
135
I though it might be due to MHPC globally setting props but not...

USNF used targeted spoofing of fingerprint prop so should be ok... I'd swap it for @Displax modded build as official is broken ATM...

You won't need the sensitive props module with USNF as it already does this... (I believe Shamiko does too!)... I'd try disabling that and check again...

You don't actually need USNF as your device is too old for keymaster 3, but targeted USNF is the best way to spoof a fingerprint prop which you may need since you have custom ROM...

If your ROM spoofs fingerprint prop itself, you could remove USNF and add gms attestation/droidguard (Google Play Services com.google.android.gms.unstable) process to denylist to hide root, and add any one of the following to set sensitive props to Google expected values:
-Your SafetyNet Sensitive Props module
- Shamiko
- MagiskHide Props Config module left unconfigured (This resets sensitive props by default is loaded)
... You should not need more than one of these running, but try swapping if deviceIntegrity doesn't pass...

🤠 PW
Unfortunately, it does not help, maybe the fault that I edited the build.prop file 🤔
 

zgfg

Senior Member
Oct 10, 2016
8,965
6,696
Redmi K20 / Xiaomi Mi 9T
Xiaomi Mi 11 Ultra
Did all this. But, does not work. Disabled, Re-enabled, Rebooted.....
Screenshots look ok, don't know why you have "Not enabled" except that it's still Beta v0.3.0

I assume you have uninstalled the V4A module v2.7.2.1 (Repackaged)

Try also: disable AML and other audio modules you have, reboot and maybe re-install this 64-bit V4A (over the installed one)

You could check if there are similar issues reported on the GitHub and I don't know if there is a TG support channel.
There are few active V4A threads on XDA, to ask there
 

m0han

Senior Member
Apr 30, 2012
5,568
2,679
.... you have uninstalled the V4A module v2.7.2.1...
Uninstalled app, module, rebooted, installed 0.3.0, configured, rebooted, rinse, wash, repeat....
... disable AML and other audio modules you have, reboot and maybe re-install this 64-bit V4A (over the installed one)
Yes, did all that. I had only AML; don't have that anymore.
... check if there are similar issues reported on the GitHub and I don't know if there is a TG support channel.
There are few active V4A threads on XDA, to ask there
OK. I posted about my issue as I found references to Viper here. I'll stop now (already too OT for this thread?) and go back to the working v2.7.2.1. Thanks for all your guidance.
 
  • Like
Reactions: zgfg

v.konvict

Senior Member
Dec 1, 2012
1,672
929
Mwanza
Anyone with a solution to 8ball pool game. I am passing safetynet and even my banking apps are working fine but it crashes with root.
 

immortalwon

Senior Member
Mar 11, 2017
215
89
I was forced to upgrade to displax's module today. Pokemon go kept failing to login, which means k-dragons original may be patched.
I recommend making safetynet fix modules closed source to make it harder for google to patch, but that's just me.
 

pndwal

Senior Member
I was forced to upgrade to displax's module today. Pokemon go kept failing to login, which means k-dragons original may be patched.
I recommend making safetynet fix modules closed source to make it harder for google to patch, but that's just me.
Official USNF has been failing most users with at least intermittent failures since last release... Maybe you were just lucky, maybe Pokemon increased check...

As far as Google is concerned, I doubt they're responding to USNF bypasses, but they are continually adjusting their implementation, mainly adding new prop based hardware-backed attestation enforcements for newer devices that have so far been easy enough to bypass but must be added to USNF...

Even if closed, USNF would be among the simplest pieces of code for a Google reverser to understand, and they wouldn't even need to reverse it to add new enforcements...

Google aren't worried about USNF or this 'White Hat' community... And the banks can use strongIntegrity if they're worried whenever they wish thanks to Google! 🙃 PW
 

immortalwon

Senior Member
Mar 11, 2017
215
89
Anyone with a solution to 8ball pool game. I am passing safetynet and even my banking apps are working fine but it crashes with root.
Use hide my app list lsposed module.

Official USNF has been failing most users with at least intermittent failures since last release... Maybe you were just lucky, maybe Pokemon increased check...

As far as Google is concerned, I doubt they're responding to USNF bypasses, but they are continually adjusting their implementation, mainly adding new prop based hardware-backed attestation enforcements for newer devices that have so far been easy enough to bypass but must be added to USNF...

Even if closed, USNF would be among the simplest pieces of code for a Google reverser to understand, and they wouldn't even need to reverse it to add new enforcements...

Google aren't worried about USNF or this 'White Hat' community... And the banks can use strongIntegrity if they're worried whenever they wish thanks to Google! 🙃 PW
Good points but it doesn't hurt to be on the cautious side, no? Make them work for their money is my motto.

Also, it seems they have strengthened their integrity checks for device and basic because sometimes it fails, sometimes it passes. It is not consistent. Hopefully @Displax can figure out a solution to this inconsistent passing.
 
  • Like
Reactions: cognitivedissonance

v.konvict

Senior Member
Dec 1, 2012
1,672
929
Mwanza
Use hide my app list lsposed module.


Good points but it doesn't hurt to be on the cautious side, no? Make them work for their money is my motto.

Also, it seems they have strengthened their integrity checks for device and basic because sometimes it fails, sometimes it passes. It is not consistent. Hopefully @Displax can figure out a solution to this inconsistent passing.
Hide my list lsposed doesnt work with 8ball pool as well
 

pndwal

Senior Member
Good points but it doesn't hurt to be on the cautious side, no? Make them work for their money is my motto.

Also, it seems they have strengthened their integrity checks for device and basic because sometimes it fails, sometimes it passes. It is not consistent. Hopefully @Displax can figure out a solution to this inconsistent passing.
Still dont think it's a recent Google change...

2.4.0 was largely about a new "way to bypass Play Integrity that doesn't require spoofing the build fingerprint permanently... Just like the original goal of Universal SafetyNet Fix, this minimizes adverse effects by spoofing dynamically at runtime only when necessary"...

Read 'a new way to bypass Play Integrity that spoofs the build fingerprint part-time... Just like the original goal of Universal SafetyNet Fix, this minimizes adverse effects by spoofing dynamically only at gms runtime'...

However, this was released badly broken and still is.

@Displax has built a couple of fixes for the issues with part-time spoofing, and it seems to work for most users, but it may still not be working for all...

Assuming you are not using a custom rom that integrates SNF or other spoofing for integrity verdicts which can also cause issues, I'd try reverting to @Displax's v2.3.1-MOD_3.0 which predates the fraught @kdrag0n build fingerprint spoofing method and was also working well for most...

@Displax may have some better ideas... it's now knock off time in Kyiv (for some). PW
 

Displax

Senior Member
Jan 19, 2015
345
1,666
27
Ukraine - Kyiv
Google Pixel 4a 5G
@Displax has built a couple of fixes for the issues with part-time spoofing, and it seems to work for most users, but it may still not be working for all...
Custom MIUI/Xiaomi Eu - basically they are the only ones harmful ROMs left that override PROPS from my MOD.
Something in these firmware constantly and aggressively changes variables and does it wrong. So the developers of such stupid firmware should fix it.
 

pndwal

Senior Member
Custom MIUI/Xiaomi Eu - basically they are the only ones harmful ROMs left that override PROPS from my MOD.
Something in these firmware constantly and aggressively changes variables and does it wrong. So the developers of such stupid firmware should fix it.
Thanks for this excellent information!

Seems @immortalwon has a OnePlus device however(?)... A different issue perhaps? PW
 

Top Liked Posts

  • There are no posts matching your filters.
  • 8
    Interesting! Did you have any negative experience with removing Playstore and GMS from DenyList? None whatsoever, Currently have 32 apps in the Deny list working just fine.

    I have the same issue with the device name under security tab. If Google Wallet, banking apps, government apps, and SafetyNet are all okay, I might give this a shot.
    The secret lies in the setup. Don't intend to sound like an expert, but this has been my due diligence since day 0 with Pixel 6 pro and now with Pixel 7 pro. Please do not forget to thank the kind people like @roirraW "edor" ehT @Homeboy76 @V0latyle whose posts I have been following for a couple of years now. Let's assume your use case and walk backwards before we move forward.

    1. Disable and Remove all modules from magisk including USNF and Shamiko ( in case you already have and it's not working). Yes its a pain but I assure you its a one time thing. Disable Zygisk too. Reboot phone. So now essentially you have a rooted phone with stock/third party kernel and Zygisk No and No modules (your modules page would be blank). Follow this with uninstalling all the apps that you want to include in the Deny list and have them already installed (yes its a pain too). Please uninstall them correctly, Delete data, cache, force close and uninstall. Follow this with deleting data and cache from playstore and gms. Once all done, reboot your phone again. This will bring your phone to a state where you will get three red crosses in Play Integrity API checker app - Ground 0 state. This state is also similar to when you have made a clean flash to stock and just rooted your phone (in case you intended to do that, start from here). Now just install Wallet and Company Portal (for example). Do not install your other apps that you had uninstalled (banking etc) yet.
    2. Now flash the latest Displax USNF and Shamiko one after another in Magisk, dont reboot phone.
    3. If you have not hidden magisk yet, hide it from Magisk settings section..
    4. Enable Zygisk - dont reboot phone even if you get prompted.
    5. Do not check Enforce Deny List. Now enter Deny list and just check Wallet. Ensure that all subcomponents of wallet are also checked (its finicky, so manually do it if needed)
    6. Now put your phone in Airplane Mode.
    7. Delete data and cache for Wallet, Play Store and Play Service (GMS) from Apps. Once done immediately restart the phone. Disable Airplane Mode. Check Play Integrity API checker app and Wallet and the Devices tab in Google Security Section - All will be working as intended.
    8. Now for the other applications, install in groups of 3, same, add them to deny list after installing, put the phone in airplane mode, delete data, cache and force close app and immediately reboot phone and disable airplane mode. Why 3, for some odd reason, while deleting data and cache for some for example 12 apps, one or two fall through the crack, dont ask me why, just saying. No interaction with playstore of gms is needed while doing this.

    If you are an experienced user which you clearly are from your post count, you would probably be laughing your guts off reading my childish instructions. Good luck!

    In the future if lets, say your Citi bank app gets updated and shows root, and when you go to deny list you see an additional subcomponent added to the Citi app, exit Magisk, delete cache, data, force close and uninstall app, "reboot phone", install citi app, add it to deny list (make sure all subcomponents are selected now), put the phone in airplane mode, delete cache data force close citi app, reboot phone, disable air plane phone and you are good to go.
    6
    Moving this here as info may benefit others.

    Some disambiguation regarding hardware -backed verdict enforcement, fallback to basic attestation and other USNF workings.
    Am I correct in thinking that the server-side hardware attestation shows up as "CTS profile match" in e.g. YASNAC? And the client/device side attestation shows as "Basic integrity"?
    No, if server resolves gms data as ctsProfileMatch=true then that's what's sent back with the original nonce and the same is true of basicIntegrity.

    The SafetyNet Attestation API provides a cryptographically-signed attestation, assessing the device's integrity. In order to create the attestation, the API examines the device's software and hardware environment, looking for integrity issues, and comparing it with the reference data for approved Android devices. The generated attestation is bound to the nonce that the caller app provides.
    https://developer.android.com/training/safetynet/attestation

    This mechanism is much the same in new Play Integrity API also, except that there are additional criteria for passing verdicts... Eg basicIntegrity in S/N will pass with permissive selinux without changing signals for that, but PI API basicIntegrity will fail at the same time... We can pass that too with additional prop changes however.

    Either way, and regardless of system configuration, I always get "Evaluation type" reported as "BASIC" when I run the SN test. Yet for whatever reason I still need Zygisk and USNF to get SafetyNet to pass properly. This confuses me as if the evaluation type is "BASIC" without USNF, why do I need USNF 😕?
    Because without it keymaster 3+ (Android 8+) compliant devices are using hardware-backed security features including Key attestation for some of the measurements and reference data sent...

    Many are still confused about BASIC (only) evaluationType... This does NOT mean that device is not supplying such hardware -backed measurements/data, and the API will default to this data to compute response fields when it's available, so verdicts will be failing.

    What evaluationType=BASIC DOES mean is that Google server-end hardware-backed verdict enforcement (prop based) has not been activated for your device or has been bypassed. If evaluationType=HARDWARE_BACKED, BASIC, hardware-backed measurements/data will be required where expected for keymaster 3+ devices so BASIC-only evaluations will necessarily fail.

    Further, evaluationType may be 'BASIC' for S/N (and this can be easily seen) but 'HARDWARE_BACKED, BASIC' for PI purposes... See note on altered props used to bypass hardware-backed verdict enforcement for S/N and PI below*

    So to get passing verdicts, keymaster 3+ compliant devices need USNF or similar solution to

    1) produce the fallback to supply BASIC-only measurements/data. This is USNF's key function and is achieved simply by injecting code (using Zygisk) into gms to register a fake keystore, and in turn this produces an exception (error) that results in the fallback to BASIC-only measurements/data.

    This works at device level and always required. And to

    2) bypass hardware-backed verdict enforcement. This secondary function is achieved by ensuring that the props used to identify devices Google has flagged for enforcement of hardware-backed measurements/data never match expected valued. Ie, this bypass is purely based on simple prop mismatches. This works at server (backend) level since the data/measurements are processed by Google to generated attestations.

    This is not always required; some or all props USNF handles may need altering per device.

    * So far Devs have discovered that Google polls the following props for hardware-backed verdict enforcement, so USNF causes mismatches by using targeted spoofing (in gms only unlike MagiskHide Props Config module's global changes) to adjust their values:
    - ro.product.model for both S/N and PI (not all devices require this at least for S/N but USNF always appends a space character to model value).
    - ro.build.fingerprint for PI (mostly A11+ devices initially required this but USNF always uses passing (CTS certified) old Nexus 6P (angler) fingerprint prop.
    - first_api_level for PI (A13 launch version devices require this, and shipping API level is set to 32 only for devices >=33)

    Yeah I noticed for instance that ProtonAOSP apparently has this type of implementation. Do you know how they manage to do it if they aren't using code injection methods?
    Proton is the model for any wanting to integrate @kdrag0ns SNF approach in a ROM.

    Since a Dev builds a ROM there isn't the obstacle of read only /system partition, and code can be baked in rather than overlaid.

    It seems API hooking is used to target gms with prop changes as well as altered keystore data... I'm hazy on hooking usage and native code injection, so I may not be strictly correct about this...

    The methods, including fake keystore registration are otherwise very similar and he has provided more details for Devs:
    ROM integration
    Ideally, this workaround should be incorporated in custom ROMs instead of injecting code with a Magisk module. See the ProtonAOSP website for more information.
    https://github.com/kdrag0n/safetynet-fix#rom-integration

    The Proton info. discusses additional SNF functions like setting 'sensitive' props early. It also links a commit with this (old) info on bypassing opportunistic hardware-backed attestation:
    ... we can take advantage of the fact that SafetyNet's usage of key attestation is opportunistic (i.e. falls back to basic integrity checks if it fails) and prevent it from getting the attestation certificate chain from KeyStore. This is done by checking the stack for DroidGuard, which is the codename for SafetyNet, and pretending that the device doesn't support key attestation...

    At the end of the day it's GMS that needs modifying to fix SafetyNet right?
    Well again I'm hazy on this, but it seems source code isn't modified; calls for the attestation certificate chain from KeyStore are apparently just intercepted and fake data returned while prop values are also spoofed for gms at runtime, but yes, gms is targeted to fix both S/N and Play Integrity verdicts.

    Specifically hardware key based attestation is effectively broken in the Droidguard/Attestation service com.google.android.gms.unstable in order to cause the fallback to basic attestation.

    Nb This is what was formerly referred to as the 'SafetyNet' service, but I'm now properly calling it the Droidguard/Attestation service since S/N is depreciated and this process actually connects gms to the Droidguard VM engine that collects device integrity measurements securely.
    I know props also need tweaking, but that bit is relatively easy without code injection.
    Yes, it's easy to alter props globally like MHPC module does, but for the props dealt with for attestation purposes this can break stuff, eg device/OEM specific functions and apps like Galaxy store, backup utilities, proprietary camera features etc etc

    Riru/Zygisk solutions mean that targeted spoofing (ie. only in gms) can be used so other processes see expected values...
    So do these custom ROMs ship with a modded GMS or something?
    Well while the method has changed from setting available flags for basic attestation to registering a fake keystore, evidently source code for gms is unchanged as mentioned.
    Am just wondering why this can't be achieved without such a custom ROM just by using root (no Zygisk)? Hope I'm making some sense lol.
    Seems we need Zygisk (or Riru) hooking for targeted prop changes as well as to hook attestation calls and fake lack of hardware key attestation support.

    🤠 PW
    5
    be specific, which version of the mod?
    safetynet-fix-v2.4.0-MOD_1.2.zip

    It took it exactly 12 hours to fix itself. Enforce Deny List is off (must be)
    3
    Do you need to block certain google services from magisk DenyList, and if so which ones?
    I use the latest module released by displax with shamiko and have only wallet in the deny list along with other banking and office applications like company Portal. Adding playstore and gsm and other google services always proved counterproductive to me as doing so made my pixel 7 pro show up as a pixel xl under devices in google - security tab.

    You however have to delete data from gsm and playstore with airplane mode on and reboot, there are multiple posts to guide you through the procedure.
    3
    I am a bit confused about the need to disable the hideprops.
    Is it necessary?
    In other words, do I need to revert the changes, then uninstall the hideprops, uninstall the safetynet original, install this one, install hideprops again and apply the required props changes?
    Or can I just uninstall the original safetynet and install this one?
    USNF now does targeted (to gms processes only) fingerprint prop spoofing, so there's no point using (the more invasive and problematic) MHPC global fingerprint spoofing...

    USNF also sets other props needed to bypass hardware-backed verdict enforcement by Google (server end) for some devices, so for practically all devices prop changes needed for passing Play Integrity deviceIntegrity verdict are handled properly by USNF, and this mod fork addresses several other issues with the new part-time hiding mechanism, timing etc...

    You may want to use MHPC prop spoofing for other purposes, but disable any S/N or PI related prop changes unless USNF is simply not working...

    🤠 PW
  • 119
    Universal SafetyNet Fix [MOD]
    Magisk module


    Hello. This is my modification [FORK] of the original Universal SafetyNet Fix module from @kdrag0n.
    Created for the (temporary?) restoration of working capacity in the conditions of constant change of verification algorithms from Google.
    If you can`t wait for update original kdrag0n`s project - feel free to use my little "experimental sandbox" :)


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


    Changelog:
    v2.4.0-MOD_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).

    v2.4.0-MOD_1.1
    * Fix KeyStore hook desynchronization (tests randomly failing problem).

    v2.4.0-MOD_1.0
    * 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.


    Downloads: at the bottom of this post or GitHub Releases
    Source code: GitHub
    22
    OooOoooohh, Play Store has their own built-in Integrity checker now!

    Tap the Play Store version multiple times to show the developer options, then it'll get added to the main Play Store settings under General!
    10
    Given there's been an update to original UNSF that claims to give what this mod originally delivered over the official module, what exactly does this mod do that the original doesn't? (I haven't tried either yet)
    The original USNF (2.3.1) did not incorporate any fixes for Play Integrity, so @Displax forked it into this branch because he's had the time and energy to keep up with the changes to PI. @kdrag0n has been focused on other projects so while he eventually committed many of Displax's changes into 2.4.0, there have been several changes to PI since then.

    So, for now, this fork is the most "up to date" regarding Play Integrity fixes, while Google continues to fiddle with things. Should there come a point when they finally stop messing with stuff we will probably see a lot of the changes committed to the original USNF
    10
    You should also consider updating update.json so updates can be seen by the Magisk app of one's choosing :)
    I didn't change the update channel in the module on purpose so that everyone can upgrade to the new official version automatically without any problems.
    8
    Interesting! Did you have any negative experience with removing Playstore and GMS from DenyList? None whatsoever, Currently have 32 apps in the Deny list working just fine.

    I have the same issue with the device name under security tab. If Google Wallet, banking apps, government apps, and SafetyNet are all okay, I might give this a shot.
    The secret lies in the setup. Don't intend to sound like an expert, but this has been my due diligence since day 0 with Pixel 6 pro and now with Pixel 7 pro. Please do not forget to thank the kind people like @roirraW "edor" ehT @Homeboy76 @V0latyle whose posts I have been following for a couple of years now. Let's assume your use case and walk backwards before we move forward.

    1. Disable and Remove all modules from magisk including USNF and Shamiko ( in case you already have and it's not working). Yes its a pain but I assure you its a one time thing. Disable Zygisk too. Reboot phone. So now essentially you have a rooted phone with stock/third party kernel and Zygisk No and No modules (your modules page would be blank). Follow this with uninstalling all the apps that you want to include in the Deny list and have them already installed (yes its a pain too). Please uninstall them correctly, Delete data, cache, force close and uninstall. Follow this with deleting data and cache from playstore and gms. Once all done, reboot your phone again. This will bring your phone to a state where you will get three red crosses in Play Integrity API checker app - Ground 0 state. This state is also similar to when you have made a clean flash to stock and just rooted your phone (in case you intended to do that, start from here). Now just install Wallet and Company Portal (for example). Do not install your other apps that you had uninstalled (banking etc) yet.
    2. Now flash the latest Displax USNF and Shamiko one after another in Magisk, dont reboot phone.
    3. If you have not hidden magisk yet, hide it from Magisk settings section..
    4. Enable Zygisk - dont reboot phone even if you get prompted.
    5. Do not check Enforce Deny List. Now enter Deny list and just check Wallet. Ensure that all subcomponents of wallet are also checked (its finicky, so manually do it if needed)
    6. Now put your phone in Airplane Mode.
    7. Delete data and cache for Wallet, Play Store and Play Service (GMS) from Apps. Once done immediately restart the phone. Disable Airplane Mode. Check Play Integrity API checker app and Wallet and the Devices tab in Google Security Section - All will be working as intended.
    8. Now for the other applications, install in groups of 3, same, add them to deny list after installing, put the phone in airplane mode, delete data, cache and force close app and immediately reboot phone and disable airplane mode. Why 3, for some odd reason, while deleting data and cache for some for example 12 apps, one or two fall through the crack, dont ask me why, just saying. No interaction with playstore of gms is needed while doing this.

    If you are an experienced user which you clearly are from your post count, you would probably be laughing your guts off reading my childish instructions. Good luck!

    In the future if lets, say your Citi bank app gets updated and shows root, and when you go to deny list you see an additional subcomponent added to the Citi app, exit Magisk, delete cache, data, force close and uninstall app, "reboot phone", install citi app, add it to deny list (make sure all subcomponents are selected now), put the phone in airplane mode, delete cache data force close citi app, reboot phone, disable air plane phone and you are good to go.