• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!
  • Fill out your device list and let everyone know which phones you have!    Edit Your Device Inventory

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

Search This thread

anjel05

Senior Member
Nov 11, 2016
69
6
hi dev can you add support for leeco le 2 x520 custom rom miui 9 pro thanks in advance because i cant pass safetynet with latest universal hide
 

teddy0209

Senior Member
Feb 5, 2011
2,318
690
Is it only for Xiomi..? Does this work on my Lenovo A2010..?
It is universal... Just try it...

Sent from my MI 5 using Tapatalk

---------- Post added at 04:56 PM ---------- Previous post was at 04:54 PM ----------

hi dev can you add support for leeco le 2 x520 custom rom miui 9 pro thanks in advance because i cant pass safetynet with latest universal hide
First, make sure that root hiding function is working (use rootbeer or any root checker app)... Logs will also help...

Sent from my MI 5 using Tapatalk
 

anjel05

Senior Member
Nov 11, 2016
69
6
It is universal... Just try it...

Sent from my MI 5 using Tapatalk

---------- Post added at 04:56 PM ---------- Previous post was at 04:54 PM ----------

First, make sure that root hiding function is working (use rootbeer or any root checker app)... Logs will also help...
Root hide is not working i try to check on cpu z , root checker heres my log sir thanks in advance
 

Attachments

  • magisk_error_20171022_001217.log
    94.5 KB · Views: 24

Jonas Cardoso

Senior Member
Mar 22, 2014
1,681
2,983
22
São José dos Campos
Only "basicIntegrity" dont work for me
 

Attachments

  • photo_2017-10-22_15-45-08.jpg
    photo_2017-10-22_15-45-08.jpg
    62.3 KB · Views: 966

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
    110
    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.