[Magisk v14.0] Universal SafetyNet Fix | Universal Hide [v2 Beta 5]

Search This thread

netcitizen

Senior Member
Feb 28, 2011
1,319
127
Looks like you have Magisk core only mode enabled.



Is not needed uninstall Magisk before update it, also is more secure restore the stock boot image than the uninstaller stuff.

Okay. Restoring stock boot image will uninstall magisk automatically? What's the simplest and safest option to do that without losing data?
 

snaggletooth1

New member
Sep 3, 2017
4
0
Moto G5 Plus
XT1687
NPNS25.137-33-5
Security patch level is May 1, 2017

I used this video as my guide: youtube[dot]com/watch?v=zUPTFnzAvSo

Root was successful with Magisk 13.3 (including installation of ElementalX-G5-1.01) but on Safety Net check, ctsProfile: false and basicIntegrity: false is returned. The creator of the video had us flash universal safety net fix v1.zip and updated safety net fix v2.zip which I did, but the SafetyNet check still fails. On his video, both items passed.

Not sure what went wrong for me.

In the description, he is advising users to flash a different kernel, then flash the two safety net zip files again. Good advice or not? Can someone elaborate on what to do?
 

netcitizen

Senior Member
Feb 28, 2011
1,319
127
Good you had backed up.
Never boot without any custom kernel or magisk. These two will usually disable force encryption and dm-verity
Any way let us know how it goes

After a factory reset and restore flash magisk beta 13. 6 and installed USNF module. Added outlook and intune to hide list. And it works. I can see the unmount activity in the log. If am right this is what says that USNF hiding is working.

After flashing magisk the boot steps are a little different. It now asks for unlock pattern half way through booting.
Phone is still encrypted. That's the status in settings > security menu.
As far DM verity goes it is still there.
 

Attachments

  • Screenshot_20170903-084702.jpg
    Screenshot_20170903-084702.jpg
    207.2 KB · Views: 436

sunkit

New member
Feb 26, 2009
3
0
Post to thanks @Deic

I am using Xiaomi 5s Plus and just updated to MIUI 8.5.2 Global Stable version.
After installed Magisk 13.3 and this SafetyNet Fix, I can use Android Pay now.

If this can pass the HSBC HK apps will be perfect.
I cannot post the link of google play, then just the id=hk.com.hsbc.hsbchkmobilebanking

Thanks again.
 
Sep 14, 2013
49
7
great !

it work perfectly to fix magiskhide and safetynet on my Redmi4x
  • - MIUI 8.3 by xiaomi.eu 7.5.19 beta (android 6.0.1)
  • - magisk 13.6 beta
  • - universal safetynet fix v2 beta 5

any idea if/when this vital fix will be merged with magisk ?
 

Artim_96

Senior Member
Feb 15, 2013
2,455
729
it work perfectly to fix magiskhide and safetynet on my Redmi4x
- MIUI 8.3 by xiaomi.eu 7.5.19 beta (android 6.0.1)
- magisk 13.6 beta
- universal safetynet fix v2 beta 5


any idea if/when this vital fix will be merged with magisk ?
Since it changes the build fingerprint and it's said that this can cause problems, maybe never.
 

fiction.ee

New member
Aug 22, 2015
3
1
Great fix for SafetyNet and Magisk Hide? at least for now.

- Samsung S8+ Stock (Nougat 7.0); (Magisk 13.6b, universal safeynet fix beta v2 beta 5.)
 
Last edited:

Karls0

Senior Member
Apr 9, 2012
921
302
Did you reinstall module after update? I tried this trick with switching on/off maiskHide but nothing changed,
 
Last edited:
Saved from slow HTC OTA's :)

This is what I have been waiting for it seems, I bought the HTC 10 on the basis I would install a custom rom straight out the (2nd hand) box. Once I found out that you had to stick to stock for a few features that was pretty gutting. Time to start investigating full S-Off and custom roms. :)
 

3lMghraby

Senior Member
Mar 2, 2013
1,105
856
I an on v14 and installed the hot fix through recovery because I couldn't with magisk
and still safety net fails
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 221
    Universal SafetyNet Fix
    This module tries to pass SafetyNet on devices that triggered it.

    It works by doing some magic with the system props, which are changed to match with the required by Google to pass it's security test (SafetyNet). However, that is not all...

    The real magic here is the Universal Hide part, which is a custom implementation of Magisk Hide. It basically does the same magic as Magisk Hide, but in a shell-y simple way.
    It reads the file Magisk Hide uses to store apps that should be hidden and then monitors logcat until a hidden app is opened. Once this happens, it enters it's mount namespace to unmount all Magisk related mount points.
    That way you can hide root or bypass SafetyNet for almost to all apps. App's that use custom checks to detect root are one of the few exceptions as we cannot anticipate what they check.

    Why did I basically duplicated Magisk Hide? Well, Magisk Hide doesn't work properly for all devices, so this is a fast solution until topjohnwu fix all the issues.

    Information

    Requeriments
    • Magisk v13.x/14.0
    • MagiskSU

    Links
    Download Beta
    Download Stable (very outdated)
    Download uninstaller
    Source code

    Installation
    1. Flash the .ZIP from TWRP
    2. Reboot

    Donations
    If you feel I helped you, you can buy me a coffee here. :)

    Changelog

    v1.10.1
    • Fixed Magisk Hide detection for Magisk v12

    v1.10
    • Module is now universal, not for Xiaomi devices only
    • Module refactored
    • Magisk v13 beta support
    • Added some props
    • Added SafetyNet fix for Magisk v12
    • Check if Magisk Hide was properly started and try to fix
    • Zip signed

    v1.9.1
    • Fixed logging code: ignore output of wait for unmount loop

    v1.9
    • Added new supported devices: Redmi Pro, Mi 4S, Redmi 4X
    • Changed Redmi Note 3 MTK prop
    • Changed wait for Magisk SafetyNet check to a function and run in a subshell

    v1.8.2
    • Fixed Redmi Note 3 MTK device name typo

    v1.8.1
    • Fixed forgotten set_prop function calls

    v1.8
    • Added new supported devices: Mi Note Pro, Redmi 1, Redmi 1S
    • Fixed Mi 5 prop
    • Removed run enable script
    • Code improved

    v1.7
    • Added new supported devices: Mi 6
    • Added "ro.bootimage.build.fingerprint" prop
    • Removed reinitiate Magisk Hide
    • Added run Magisk Hide when boot & service steps are completed
    • Improved log code: waiting to SafetyNet test and Magisk Hide folder unmount, silence some shell output

    v1.6
    • Added new supported devices: Mi Pad, Mi Note, Mi 3/Mi 4, Mi 2/2S, Mi Pad 2, Mi Pad 3
    • Added code to reinitiate Magisk Hide

    v1.5
    • Added new supported devices: Redmi 4, Redmi 4 Prime, Redmi 4A

    v1.4
    • Added new supported devices: Redmi 3/Prime, Mi 4i
    • Added code to generate useful logs and enable Magisk Hide if not enabled
    • Changed to use resetprop directly from script @laggardkernel
    • Removed build description because is useless



    v1.3
    • Added new supported devices: Redmi 2/4G, Redmi 2 Prime
    • Added some extra code to support device with different model name

    v1.2
    • Added new supported devices: Mi 4c, Mi 5c, Redmi Note 3 Special Edition, Mi Note 2, Redmi Note 4X

    v1.1
    • Added new suported devices: Mi Max, Mi Max Prime, Redmi 3S/Prime/3X

    v1
    • Initial release
    • Suported devices: Redmi Note 2, Redmi Note 3 MTK, Redmi Note 3 Qualcomm, Redmi Note 4 MTK, Mi 5, Mi 5s, Mi 5s Plus, Mi MIX

    Thank you
    111
    Universal SafetyNet Fix v2 Beta 5

    I'm testing some functions and they could doesn't work stably in all devices, so I decided to release betas to test new things and get some feedback.

    USNF Settings
    Use from terminal emulator with root provileges, run this to see usage
    Code:
    usnf
    v2 Beta 5 changelog
    • Added Magisk v13+ support to Universal Hide
    • Added module settings
    • Fixed fake not mount namespace support message due 32-bit devices
    • Better Magisk version detection
    • Separated every type of mount points to own unmount command
    • Fixed some problem when clear logcat
    • Fix fingerprint issue
    • Added reboot ask to module settings
    • Removed Magisk v13 props to fix SafetyNet
    • Copy busybox and magiskhide in every boot
    • Removed Magisk Hide disable and enable loop
    • Output Magisk related props in the log
    • Hide permissive mode
    • Hide the original Magisk binaries of /sbin_orig folder
    • Added more props to hide
    • Updated bundle Busybox binaries to 1.27.1
    • Removed the waiting for Magisk boot end
    • Better output in Magisk log
    • Some code syntax cleanup
    • Cleanup some code
    • Hide more Magisk props
    • Added output to Magisk log of target process namespace at unmount
    • Added partial support for Magisk v12
    • Added support for newer Huawei devices unmounting vendor mountpoint
    • Added Magisk 13.5 Beta support
    • Fixed unmount of some modules
    • Improved module outputs in Magisk log

    Previous beta changelogs

    v2 Beta 4
    • Own Magisk Hide implementation renamed to Universal Hide
    • Fixed Universal Hide when there are not modules
    • Kill module if mount namespaces are not supported
    • Enable full Universal Hide if Zygote namespace is not found in Magisk log
    • Check if system shell runs correctly when is runned by BusyBox's nsenter applet, if not use BusyBox's shell
    v2 Beta 3
    • Completed own implementation of Magisk Hide to unmount all when any process listed in hidelist file is runned for Magisk v12 only, auto-enabled only if you Magisk Hide doesn't work
    v2 Beta 2
    • Own implementation of Magisk Hide to unmount all when SafetyNet process (com.google.android.gms.unstable) is runned to bypass SafetyNet for Magisk v12 only, auto-enabled only if you Magisk Hide doesn't work
    • Fix for unmount mirror, dummy & busybox
    v2 Beta 1
    • Unmount mirror, dummy & busybox in the namespace of the process you hide for Magisk v12 like Magisk v13 does. No more /dev/magisk ugly rename workaround.


    If you have issues, join here (Telegram group): https://t.me/USNFGroup

    Magisk v14 hotfix here
    79
    Hotfix for Magisk v14

    Use only with Magisk v14+

    *re-uploaded
    25
    Universal SafetyNet Fix v2 Beta 4

    I'm testing some functions and they could doesn't work stably in all devices, so I decided to release betas to test new things and get some feedback. Have in mind that you wont got support by me if something works bad with a beta version.

    v2 Beta 4 changelog
    • Own Magisk Hide implementation renamed to Universal Hide
    • Fixed Universal Hide when there are not modules
    • Kill module if mount namespaces are not supported
    • Enable full Universal Hide if Zygote namespace is not found in Magisk log
    • Check if system shell runs correctly when is runned by BusyBox's nsenter applet, if not use BusyBox's shell

    Previous beta changelogs

    v2 Beta 3
    • Completed own implementation of Magisk Hide to unmount all when any process listed in hidelist file is runned for Magisk v12 only, auto-enabled only if you Magisk Hide doesn't work
    v2 Beta 2
    • Own implementation of Magisk Hide to unmount all when SafetyNet process (com.google.android.gms.unstable) is runned to bypass SafetyNet for Magisk v12 only, auto-enabled only if you Magisk Hide doesn't work
    • Fix for unmount mirror, dummy & busybox
    v2 Beta 1
    • Unmount mirror, dummy & busybox in the namespace of the process you hide for Magisk v12 like Magisk v13 does. No more /dev/magisk ugly rename workaround.


    If you have issues, post these information
    1. Magisk log in Magisk Manager or magisk.log file in /cache
    2. universal-safetynet-fix.log file in /cache
    3. Install RootBeer Sample from Google Play, HIDE IT from Magisk Hide, run it, click the button and take screenshot.

    ATM is not fully compatible for Magisk v12 due the last SafetyNet update. Universal Hide (my own "Magisk Hide") doesn't support Magisk v13+ too.

    Beta 5 test builds is fully compatible for Magisk v12/v13+
    17
    Uninstaller

    Created the uninstaller zip from @Dark❶'s uninstaller template.
    This can be flashed from recovery to remove the module.

    May be useful in case of bootloops (although we know there are none) or may be other cases.
    I have tested at my end, works flawlessly.
    @Deic please add to OP if you find it useful.