Magisk General Support / Discussion

Search This thread

pndwal

Senior Member
Jun 23, 2016
2,078
1,254
Sydney
Xiaomi Redmi Note 7
I thought that when I was restoring with my backup, it was also restoring the boot to its pre-Magisk state, since I selected "boot" in TWRP when I created my backup. Am I wrong?

What's the proper way of getting this boot.img? I did some research and everywhere it says that to get the boot.img, you have to download the latest firmware for your phone model/carrier and extract it from those files.
That's why I asked earlier if your nandroid included boot partition; this should fix if you also included boot when restoring. If so, there may be other issues either with TWRP (as others indicated), or with system generally...

I'd still try flashing boot image for reasons mentioned in official Installation Instructions:
In some custom recoveries, the installation may fail silently (it might look like success but in reality it bootloops). This is because the installer scripts cannot properly detect the correct device info or the recovery environment does not meet its expectation. If you face any issues, use the Patch Image method as it is guaranteed to work 100% of the time. Due to this reason, installing Magisk through custom recoveries on modern devices is no longer recommended. The custom recovery installation method exists purely for legacy support.

The proper way to obtain boot image is also in the instructions (nb. don't use latest, use image from whatever ROM you use currently).
 

zgfg

Senior Member
Oct 10, 2016
4,998
2,284
Hi All . . . I posted this in another thread, but it seems that it should have been posted here

If any can please Help . . .
"Quote"
Hi All . . .
I am running a Amlogic X96Air Box with Slimrom-Android 9

Can someone plz guide me on installing Magisk for Safety Net Pass on Uncertified Google Play Store "Uncertified Device"

Firstly i installed the App Manager to access if "ramdisk" is available . . it says "No"
I then uninstalled it . . then tried to go the route to flash the zip (v22) thru TWRP . . after reboot nothing showed up in all apps (no Magisk) . . not sure if I'm doing it correctly !!! . . . However, I then reset the box and also reinstalled the rom to have a clean installation.

Any guidance on installing Magisk for Safety Net Pass on Play Store to have a certified device would be greatly appreciated, if this is at all possible
Thanks :)
Magisk by itself will not make you pass SafetyNet

Depending on what Magisk app (formerly Magisk Manager, not App Manager) would show, you will have to check in other threads (and use the corresponding Magisk modules):
- MHPC, if without Magisk you fail SN, it would mean that your firmware is not certified and that you need to fake the device fingerprint from some (similar) device
- SafetyNet fix, if after installing Magisk, Magisk Manager would show that it passes Basic Integrity but failing on CTS Profile

Hence you can test what Magisk App (formerly Magisk Manager) shows when you attempt SafetyNet test (no matter if Magisk is installed or not).
There are also other apps to test SafetyNet but you need the one that can also properly report does it pass/fail Basic integrity and/or CTS profile and does it take Basic or Hardware attest for CTS.
Not just passing or failing SN, that is of no use

And only upon you would pass SafetyNet, then start looking if Device is certified (sometimes it passes SafetyNet but Google Play must be reset to accept it and to start showing that device is certified)

---

Magisk app can be installed manually, no matter do you see it or not after flashing Magisk zip in TWRP.
And Magisk app will show then if Magisk is installed or not

---

Unfortunately, showing Ramdisk or not in Magisk app is not fully relevant.
You should try to patch boot.img and then check on the screen and in the log, did it find Ramdisk or not

Btw, that is IMO a bug in Magisk app:
- on certain devices (like Xiaomi) Magisk app shows Ramdisk No
- but when you patch the boot.img it happily finds Ramdisk and reports successful patching
- even when you later flash that patched boot img (where it did find Ramdisk) and Magisk is then properly running, Magisk app still claims Ramdisk No

Hence try patching your boot.img and look to the screen and into the log to see was it successful or not.
If successful, then flash and check if Magisk app reports that Magisk is installed

If not, then try to patch recovery.img but in that case you will have to flash it over your custom recovery
 
Last edited:
  • Like
Reactions: Uluru25

J.Michael

Senior Member
Jan 20, 2018
553
310
Btw, that is IMO a bug in Magisk app:
- on certain devices (like Xiaomi) Magisk app shows Ramdisk No
- but when you patch the boot.img it happily finds Ramdisk and reports successful patching
- even when you later flash that patched boot img (where it did find Ramdisk) and Magisk is then properly running, Magisk app still claims Ramdisk No
As I understood posts:
Ramdisk No means the image has no ramdisk.
Magisk is willing to try adding a ramdisk to an image. If the kernel uses the ramdisk, the patching succeeds. But somehow Magisk remembers that this is a Magisk-created ramdisk, and continues to report the Ramdisk No state of the pre-patch image.
 

Didgeridoohan

Forum Moderator / Developer Relations
Staff member
May 31, 2012
11,423
11,632
Gothenburg
Google Nexus 4
Nexus 6
Btw, that is IMO a bug in Magisk app:
- on certain devices (like Xiaomi) Magisk app shows Ramdisk No
- but when you patch the boot.img it happily finds Ramdisk and reports successful patching
- even when you later flash that patched boot img (where it did find Ramdisk) and Mag

Not a bug in the app or Magisk, but a "quirk" of how Xiaomi have decided to implement their bootloader.
https://topjohnwu.github.io/Magisk/boot.html
 

Zoki88

Senior Member
Feb 26, 2017
56
8
Does anyone have same issues with hiding magisk actually not working after update from few days ago? Apps actually recognize root, even if all things are enabled magiskhide and hide the magisk app. I'm on LG H930DS Oreo Europe software
 

Didgeridoohan

Forum Moderator / Developer Relations
Staff member
May 31, 2012
11,423
11,632
Gothenburg
Google Nexus 4
Nexus 6
Ok, a quirk but if when patching it knows to recognize ramdisk in the boot.img, then Magisk app/mngr could also (by using the SAME method) recognize its existence for the purpose of displaying on top

It doesn't "recognise" a ramdisk. Whatever is needed is simply added to the image (apart from the "Boot shenanigans" I linked, also see @J.Michael's reply to your previous post).
 
  • Like
Reactions: J.Michael

zgfg

Senior Member
Oct 10, 2016
4,998
2,284
As I understood posts:
Ramdisk No means the image has no ramdisk.
Magisk is willing to try adding a ramdisk to an image. If the kernel uses the ramdisk, the patching succeeds. But somehow Magisk remembers that this is a Magisk-created ramdisk, and continues to report the Ramdisk No state of the pre-patch image.
So we are coming back to what I said - if when patching it knows to recognize the existence of ramdisk it could do it later as well. And it should not 'remember' incorrectly

Btw, if you later try to do Update by Direct Install, then it also knows/remembers correctly (and it does so) that it has to update to boot.img and not to recovery

All together, behavior is not logical and not consistent. In one case it checks one way, in the other it checks the other way, it 'remembers' one thing but then still does it differently

If the world is not ideal (quirks) that is not an excuse for an app for not to be consistent.
But at least it is good that it does attempt to patch and that it finds the ramdisk then, otherwise we could not be able to install Magisk (btw, Xiaoimi is the third biggest producer, actually the second for Android, therefore it is not a marginal number of users - putting also into the account that Xiaomi phones are still open for unlocking Bootloaders).
Btw, there are some other quirks supported or properly described in the docs for few other phones that are significantly less present on the market or among the root users

It is only bad that it causes troubles to new users who try to follow what they see or read
 
Last edited:

Newtype14

Member
Feb 24, 2021
9
4
That's why I asked earlier if your nandroid included boot partition; this should fix if you also included boot when restoring. If so, there may be other issues either with TWRP (as others indicated), or with system generally...

I'd still try flashing boot image for reasons mentioned in official Installation Instructions:


The proper way to obtain boot image is also in the instructions (nb. don't use latest, use image from whatever ROM you use currently).

Tried restoring my backup again, didn't work. In the end, I downloaded a stock rom for my model/carrier, wiped everything and flashed that. Phone booted.

Out of curiosity, I then wiped my phone and tried once again to restore my backup. Phone doesn't boot! It must be a problem with my backup. However, what I don't understand is that I did use that backup three weeks ago and it worked flawlessly. Also, I still don't know why updating Magisk caused my phone to not being able to boot anymore. It was a fresh install of Magisk, nothing hidden, no modules installed. I saw that there was an update, selected Direct Install and Preserve Dm-Verity. Phone then rebooted after installing and that's when the problem occured. Strange.
 
  • Like
Reactions: J.Michael

enotar

Senior Member
Jun 23, 2010
1,448
477
I just updated to Magisk 22.0 and now Netflix install but doesn't open. Am I the only one ?
Redmi note 9S rom Xiaomi.EU Android 10 MIUI 12.0.3
I tried to install older version of Netflix without success.
Safetynet pass

Any idea?
Thank you
 

Didgeridoohan

Forum Moderator / Developer Relations
Staff member
May 31, 2012
11,423
11,632
Gothenburg
Google Nexus 4
Nexus 6
But at least it is good that it does attempt to patch and that it finds the ramdisk then, otherwise we could not be able to install Magisk

It doesn't find any ramdisk in these devices, because there isn't one (again, see the "boot shenanigans" document and the description of type III devices).
 
  • Like
Reactions: J.Michael

zgfg

Senior Member
Oct 10, 2016
4,998
2,284
It doesn't find any ramdisk in these devices, because there isn't one (again, see the "boot shenanigans" document and the description of type III devices).
Screenshot: patching the stock boot.img, it says PATCHING RAMDISK

Upon flashing that patched img it still displays: Ramdisk No

But the attached log from repatching parses that the same patched img and finds the (not existing?!) ramdisk:
Parsing boot image:
...
RAMDISK_SZ [713664]
...
RAMDISK_FMT [raw]
 

Attachments

  • patching.jpg
    patching.jpg
    196.3 KB · Views: 24
  • repatching.log
    3.3 KB · Views: 4
  • Like
Reactions: HippoMan

Zoki88

Senior Member
Feb 26, 2017
56
8
Does anyone have same issues with hiding magisk actually not working after update from few days ago? Apps actually recognize root, even if all things are enabled magiskhide and hide the magisk app. I'm on LG H930DS Oreo Europe software
Can anyone please help me figure this out, or at least tell me what steps to do/check?
 

zgfg

Senior Member
Oct 10, 2016
4,998
2,284
Can anyone please help me figure this out, or at least tell me what steps to do/check?
Did you read the Magisk Wiki (find it from Magisk Github, link to Github is right on the Magisk app main window), and did you try the suggestions there

If you don't pass SafetyNet you maybe need to install SafetyNet fix.
Apps you want to hide from must be enabled for under the the Magisk Hide

But some apps could look for something benign, like TWRP folder and just because of that they declare that the phone is rooted

Etc
 

pndwal

Senior Member
Jun 23, 2016
2,078
1,254
Sydney
Xiaomi Redmi Note 7
So we are coming back to what I said - if when patching it knows to recognize the existence of ramdisk it could do it later as well. And it should not 'remember' incorrectly

Btw, if you later try to do Update by Direct Install, then it also knows/remembers correctly (and it does so) that it has to update to boot.img and not to recovery

All together, behavior is not logical and not consistent. In one case it checks one way, in the other it checks the other way, it 'remembers' one thing but then still does it differently

If the world is not ideal (quirks) that is not an excuse for an app for not to be consistent.
But at least it is good that it does attempt to patch and that it finds the ramdisk then, otherwise we could not be able to install Magisk (btw, Xiaoimi is the third biggest producer, actually the second for Android, therefore it is not a marginal number of users - putting also into the account that Xiaomi phones are still open for unlocking Bootloaders).
Btw, there are some other quirks supported or properly described in the docs for few other phones that are significantly less present on the market or among the root users

It is only bad that it causes troubles to new users who try to follow what they see or read
I've thought about a similar way to get ramdisk= yes on such devices too, but it would be a little messy, and can't be the way you described, simply 'recognizing the existence of ramdisk when patching and remembering', because existence of ramdisk is not the problem (and nothing is 'remembered').

The problem is that such devices did NOT use ramdisk in boot image, so generally they use a bootloader that is no longer compatible w/ ramdisk, so even if ramdisk is ADDED SUCCESSFULLY to boot image, (and I believe this is always done if ramdisk is not present), and Magisk is successfully added to boot image also (ie patching is wholly successful), the Magisk Installation will STILL fail due to bootloader, and, as John says, Magisk has no way to see bootloader compatibility.

Xiaomi devices just happen to use ramdisk compatible bootloaders, probably because they never rewrote the code fully, which is to our advantage because John has done us (Xiaomi etc users) a favour by adding a 'manually add initramfs if not present' feature to Magisk.

So Ramdisk= no correctly means no FACTORY ramdisk in boot image. To make it mean no ramdisk without qualification WOULD involve adding a memory feature to remember a successful boot with root before changing this flag... as I said, could get a bit messy (otherwise I might have suggested this as a feature also). PW
 
  • Like
Reactions: J.Michael

HippoMan

Senior Member
May 5, 2009
1,590
437
Hippoland
Screenshot: patching the stock boot.img, it says PATCHING RAMDISK

Upon flashing that patched img it still displays: Ramdisk No

But the attached log from repatching parses that the same patched img and finds the (not existing?!) ramdisk:
Parsing boot image:
...
RAMDISK_SZ [713664]
...
RAMDISK_FMT [raw]
Is this a fair intepretation of the point you are making?

* Before flashing a patched img: Magisk's Ramdisk detection method used at that time (call it "detection method 1") shows that there is no Ramdisk on the given device.

* After flashing a patched img: Magisk's same detection method 1 shows that there is still no Ramdisk of the type that it is looking for, but there is now another version of a Ramdisk which is present on the device which shows up as a result of a different mechanism for detecting a Ramdisk (call this "detection method 2").

* After the patched image has been flashed, the results of detection method 2 should be presented to the user, because there now is at least some form of Ramdisk that is being used, even though it isn't detectable by detection method 1.

Did I understand your point correctly?
 

Top Liked Posts

  • 3
    Alright Im new to XDA but not new to rooting. I'm hoping to get some answers with a glitch I have found. I have passed safety net no problems (I am rocking a oneplus 8 pro and its been rooted since I got it!) Until now! Magisk say api error , and other safety-net apps fail too! The weird thing is Netflix and my baking apps work no problems so I'm not to worried but it bugs the crap out of me! The troubleshooting steps I took was, I factory reset and rerooted (after hours of trying to find out what change) I went back to stock ROM and rerooted the phone and still cannot figure it out! I went ahead and put lineage 18.1 back on and hope I can find some answers later. Maybe I can get someone to check there safety net through magisk and see if its a me problem or a magisk problem. Thanks guys!
    Just read the previous page or two. Everything has been explained.
    3
    Thanks pndwal I got my safety net up and going!
    Actually SafteyNet was passing all the time... It's just Magisk-side issue
    2
    Thank you

    Thank you
    But in first when i started using magisk myb v22, in option there was canary beta stable.
    But now only have beta
    Is there any link to download canary apk in my sony xz premium?
    In the Stable and Beta builds there is no option for Canary

    To have Stable, Beta and Canary Update channel options, stay in Canary app
    2
    Using magisk 22.1 (22100) in
    Sony xz premium g8142.
    everything was ok but suddnly
    riru lasposed got error *Sepolicy not loaded properly
    This fix may help with your issue, and is already merged in Canary release:
    - [MagiskPolicy] Remove unnecessary sepolicy rules
    Also *safety net check got error
    Riru v25.4.2
    Lsposed v1. 3.5
    Fix for this is merged too:
    - [App] Update snet extension. This fixes SafetyNet API errors.
    https://forum.xda-developers.com/t/magisk-general-support-discussion.3432382/post-84846949

    If you don't wish to switch to debug (Canary) release, next public (Stable / Beta) release will include fixes, and may be imminent.
    https://forum.xda-developers.com/t/magisk-general-support-discussion.3432382/post-84847033 PW
    2
    Thanks but you forgot to include a link to where that changelog comes from. ¯\_(ツ)_/¯

    ***
    Thanks but that won't fix @pndwal's bad habit of not including a link to the source when quoting changelogs. ;)
    Of course but if one goes to a page to copy a changelog then how difficult is it to also copy the URL?

    Sorry but lack of attribution and/or link to source is a pet peeve of mine.
    ***
    I have taken time to respond to your opinion at least twice now, CLEARLY EXPLAINING my reasoning / method, INCLUDING source for John's current material / releases / notes.
    https://forum.xda-developers.com/t/magisk-general-support-discussion.3432382/post-84312597

    https://forum.xda-developers.com/t/magisk-general-support-discussion.3432382/post-84817221

    You have not once done me same courtesy, or even acknowledged responses... You just keep repeating 'You forgot..." ☹️

    Should I keep saying "No I didn't"? ... or keep responding when you don't? 🙄

    ... I've told you I didn't forget... Whether or not it's a 'bad habit' is purely subjective, especially if the reasons are not considered.

    To be clear, when I've quoted from other sources, or old postings from John's Twitter and GitHub pages, I HAVE been at pains to cite source pages.

    I have also explained that the generic link to canary/notes.md is not static (it won't show notes for build referenced if link is used after a later Canary release). This is another reason not to include it.

    Of course, I could go to the trouble of locating the static link to a particular Canary build file, but why, when it will seldom be needed (and anyone needing it retrospectively will also likely need to understand how to locate all the files for that build). See below for repository for Canary builds.

    For those here who are unfamiliar with John Wu's channels for CURRENT documentation / files / comments, I have happily supplied this generic information when asked, and noted changes when these occur.

    For instance, I included this in my reply to you (link above):
    FYI, debug (Canary) repository has recently changed from https://github.com/topjohnwu/magisk_files/tree/canary to https://github.com/topjohnwu/magisk-files/tree/canary

    Release notes are therefore now found at https://github.com/topjohnwu/magisk-files/blob/canary/notes.md

    Nb. This link will not remain correct for cited Release Notes since it will always show the latest. Searches by commit / date give static address for specific builds.

    FOR CANARY USERS WANTING TO ACCESS BUILD FILES:

    I hope repeating this particular information regarding repository for debug Canary build files will help other debug (Canary) build users locate both current and old debug build files and information.

    Nb. User must select Canary branch in John Wu's /magisk-files repository, then (for older builds at least) the commit history (clock) button, then a commit selected by date, then Browse files, then either View code or Go to file (from menu), then select a file to view or download. PW
  • 12

    Latest Public (Stable / Beta)

    Release Notes and Changelog:


    2021.4.9 Magisk v22.1​

    This release is focused on fixing regressions and bugs. Check the v22.0 release notes if coming from older releases.

    Note: Magisk v22 is the last major version to support Jellybean and Kitkat. Magisk v23 will only support Android 5.0 and higher.

    Bug Fixes​

    • [App] Prevent multiple installation sessions running in parallel
    • [App] Prevent OutOfMemory crashes when checking boot signature on PXA boot images
    • [General] Proper cgroup migration implementation
    • [General] Rewrite log writer from scratch, should resolve any crashes and deadlocks
    • [General] Many scripts updates fixing regressions
    • [MagiskHide] Prevent possible deadlock when signal arrives
    • [MagiskHide] Partial match process names if necessary
    • [MagiskBoot] Preserve and patch AVB 2.0 structures/headers in boot images
    • [MagiskBoot] Properly strip out data encryption flags
    • [MagiskBoot] Prevent possible integer overflow
    • [MagiskInit] Fix sepolicy.rule mounting strategy
    • [resetprop] Always delete existing ro. props before updating. This will fix bootloops that could be caused by modifying device fingerprint properties.
    🎉 👍 PW
    10

    Latest Debug (Canary)​

    Changelog and Release Notes:​

    Magisk (f49966d8) (22103)​

    • [App] Update snet extension. This fixes SafetyNet API errors.
    • [App] Fix a bug in the stub app that causes APK installation to fail
    • [General] Fix a C++ bug that causes undefined behavior
    • [MagiskHide] Update package and process name validation logic

    Diffs to v22.1​

    • [General] Remove all pre Android 5.0 support
    • [MagiskPolicy] Remove unnecessary sepolicy rules
    • [App] Update snet extension. This fixes SafetyNet API errors.
    • [App] Fix a bug in the stub app that causes APK installation to fail
    • [General] Fix a C++ bug that causes undefined behavior
    • [MagiskHide] Update package and process name validation logic
    👍 ...And things are all Rosy 'n Safe in the Custom Mod. world once again... but ironically, only on the bleeding edge... (Confirmed on my RN8T. 🙂 )

    News for those not wanting to get cut (Public Stable / Beta users) below. 😜

    Thanks John... And other collaborators for additional fixes! PW
    8
    Update snet.jar extension
    The existing API key was revoked for some reason.
    Release an updated extension jar with a new API key.

    In addition, add some offline signature verification and change how
    results are parsed to workaround some dumbass Xposed module "faking"
    success results, since many users really don't know better.

    @topjohnwu

    topjohnwu committed 19 minutes ago
    8
    @osm0sis
    Thank you for having an eye on that.
    Did the "ls" twice, first from a TWRP-terminal in recovery, second from a terminal while phone is "up and running".
    Looks like you have /dev/bootimg as your real partition location and it is still higher in the list in util_functions.sh like how I fixed it in the linked commit, so this is definitely a regression from some other recent change to Magisk.. sigh, I'll look into it. 🤔😕
    6
    No, the phone is an Estar Takee1.
    ROM is from here: Mikel Android 7 for Takee1
    and is itself a port from this ROM: RidonOS for Micromaxx A311

    You're right, sorry for that. Now here the installation log for canary-version:

    - Target image: /dev/BOOT
    - Device platform: armeabi-v7a
    - Installing: f152b4c2 (22005)
    nanddump: MEMGETINFO: Not a typewriter
    Parsing boot image: [boot.img]
    - Unpacking boot image
    ! Unsupported/Unknown image format
    ! Installation failed

    😛

    /dev/BOOT is known (usually) not an actual boot partition, hence nanddump failing.

    I had originally fixed this back here: https://github.com/topjohnwu/Magisk/commit/2aede97754fec67d393bde0c7725ed84d8c3c112

    So not sure if we're looking at some kind of a regression, or just a further edge case.

    @io2345 what's the actual, correct location of your boot partition? Please give me the output of `ls -alR /dev`
  • 1046
    This is the place for general support and discussion regarding "Public Releases", which includes both stable and beta releases.
    All information, including troubleshoot guides and notes, are in the Announcement Thread
    155
    Hello, I haven't given much support on XDA lately. It can be resulted from
    • University started and I have limited free time. In fact, I mostly develop during midnight
    • I live in Taiwan, which has large time zone differences between my European/American contributors/testers, which usually forces me to stay up late at night to discuss/test stuffs.
    • The new version is about to come, I don't want to spend effort on supporting old releases
    The planned update is delayed again and again, to some point I think I'll shed some light about what has been happening lately, also along with some announcements.

    New Forum!
    As you might have already discovered, Magisk got its own subforum on XDA! Many thanks to all the support you gave me, and much more information/features/support is about to come!
    **For developers supporting all the devices that are not using standard Android boot format, feel free to create threads in this section (actually, PLEASE do so) for your favorite devices after v7 is out. As I currently know, Asus devices require signing the boot image before flashing, and is model dependant; Sony devices seems to use ELF kernel that is unpatchable, or some has two ramdisks (inner + outer), both requires different workarounds; LG bootloader locked devices has to manually "BUMP" the boot image after flashing Magisk..... and there may be lots of other crazy boot image formats that haven't come up to my attention yet.
    It is impossible for me to support all these non-standard boot images, and I hope the community can collaborate to make Magisk running across all the devices. Overall, community collaboration is what XDA about :D

    The Pixel Phone
    Some of you might already know this news, that the next Pixel Phone right around the corner seems like it does not have ramdisk in boot image, which pretty much wrecked Magisk in all ways. However, it pretty much doomed root itself too. Kernel modifications is inevitable IMO, so I'll try to migrate my scripts to C programs that could possibly be included into the kernel itself. Note that I'm not familiar with linux kernel, I'm not even sure if my idea and concept is correct or not. But once the device is available, I think developers will find a way to bypass all the difficulties, and I'll do my best to learn things ;)

    Current Progress
    In the past month, I've spent quite some time learning SELinux, so that I can avoid using SuperSU's sepolicy patches. Thanks to the helps and tips from @phhusson and @Chainfire, I finally have a much clearer understanding of how SELinux works. The Magisk core parts (the scripts, boot image patches, new features, more supports) are actually done some time ago. What is causing all the delays is the Magisk Manager.
    To be completely honest, although I can code in Java without much issues, Magisk Manager is actually my first Android application, I had to reach out for assistance, and fortunately awesome developers like @DVDandroid and @digitalhigh contributed a lot, which makes the current Manager awesome.
    After the repo system and module management is mostly done, I was about to do some adjustments and release, but what we really done is decided to add another feature: auto-unroot with per-app settings. I decided to wait for it to be finished, and then do my adjustments. Due to reasons that'll be mentioned later, this feature will likely not be available for the next release (should come in future updates)

    Safety Net Disaster
    Those who are using Magisk for Safety Net bypass purposes must have known that Google recently updated the detection method of my Systemless Xposed. I still have no idea what Safety Net is detecting, so currently I cannot fix it on my side (also because I'm busy working on the next update). However, suhide developed by @Chainfire is able to hide Xposed and worked fine.
    However, only my Systemless Xposed v86.2, which is based on SuperSU's su.d, is supported using that method. v86.2 and v86.5 (latest, Magisk based) have nearly identical binaries, and the only difference is the path where the binaries are stored.
    I'm still not sure what's the real issue for it not being supported, I just hope it is not done intentionally.

    Conclusion
    Due to the fact that my Safety Net bypass is not 100% perfect now, I do not want to spend any more time waiting for auto-unroot to be polished. What I'm doing now is finishing up all the things I'd like to change in Magisk Manager (it has been a while since I last contributed to Manager, my fellow developers are doing all the heavy job), which might take a little more time, after that, packed with tons of information to be announced in Magisk Section, I'll release the long awaited update.

    Hope this lengthy post gives you the idea of the whole situation, and again thanks for all your support!!
    119
    Ah, some Chainfire bashing, I hope it is not too late for me to exercise additional villainy.

    First, let me make clear I have nothing against @topjohnwu, nor against Magisk. Magisk is an interesting project and it certainly displays @topjohnwu ingenuity and persistence. I don't doubt we will see more interesting things from his hands.

    -------------------------

    What has happened here is not all that dark and complicated, from either end. I returned from holidays, and someone pointed me at Magisk. My first thought: interesting!

    Among other things, the thread lists some issues with SuperSU, which in combination with the phrase The developer also requests users to not bug Chainfire with compatibility requests for SuperSU with Magisk from the portal article, raised my left eyebrow by nigh half an inch. The popular systemless xposed mod is apparently now based on it, and apparently it now no longer works with SuperSU, and apparently I'm not supposed to fix that, nor any of the other found issues. I found that a bit weird. So yes, I have told @topjohnwu that I was a bit surprised he was posting about issues with SuperSU without notifying me about them (I can't fix or help fix issues I'm not aware of, after all).

    He's also spreading a modified version of the SuperSU package, which is not all that uncommon, nor necessarily a problem. I have not looked into what he modified, I only ran a few quick tests on one of my devices, and found some commonly used commands run as root to be broken. I have informed him of this as well.

    It appears the tool of choice for Magisk is phh's Superuser, because of some of the mentioned issues with SuperSU. That's fine by itself, but fixing issues in that superuser by incorporating SuperSU's binaries into it is a somewhat questionable practise. After all, SuperSU is a commercial closed-source package that helps pay for my dinner, and superuser is a direct competitor. I have informed him that I was surprised he did this without asking for permission. I have expressed similar surprise on him spreading a modified version of LiveBoot (which helps pay for a snack now and then).
    @topjohnwu has also stated that Magisk's scripts are largely influenced by mine (I have not checked). Scripts based on mine are used all over the place on XDA, some people have crafted amazing things based on them, I have never made an issue of this (otherwise I would have just made them binaries). But yes, I have also stated to him that I don't think it's very nice to base something on one program, and then using that to (almost exclusively) push something directly competing with that program.

    tl;dr Towards @topjohnwu, I have:
    - expressed surprise he has issues getting Magisk to work with SuperSU, and has chosen not to inform me about those
    - expressed surprise he is using SuperSU binaries in a competing superuser without permission
    - expressed surprise he is posting a modified LiveBoot without permission
    - informed him of issues with the modified SuperSU he has posted
    - let him know I thought it wasn't very nice to be applying my scripts to benefit seemingly exclusively that same competing superuser

    To be crystal clear:
    - I have not asked for an apology
    - I have not asked for Magisk to be abandoned, neither the root hiding nor systemless module parts, and certainly not systemless xposed
    - I have not made an issue of any of this anywhere, until this post
    - I have not even specifically asked for anything to be taken down (though obviously in my opinion the other superuser package mixed with SuperSU's binaries, as well as the LiveBoot package, should go)
    - I have not reported this thread to XDA moderators for copyright violations or otherwise

    While my conversation with @topjohnwu may not win any awards for being friendly (though it may win some for brevity), I think all things considered my response has been rather mild. To be perfectly honest, until the apology post, I thought this was over with already. I think the apology post was triggered because I haven't replied to his last PM for a while - I was in the zone, it happens.

    To emphasize again, I have nothing against @topjohnwu, Magisk, or systemless xposed, and it is certainly not my goal to see any of them go. If it can be made to work together with SuperSU, great.

    I get it though: you think of something, you want to see if you can make it work, you finally get it to work, you publish it, it takes off - enthusiasm gets the better of you. Maybe in the rush some mistakes are made. That doesn't mean you have to just drop it and run. None of my stuff would make it past 0.1 if I stopped at the first big mistake :)

    Aside from said being in the zone coding, I usually regret actually responding to these sort of things the day after, which has made me hesitant to reply. Surprise me.
    76
    Thread temporarily closed so everyone sees this.

    The flood of "SafetyNet isn't working for me either!" posts are not helpful, at all. Please refrain from posting further, it will be looked into. Please do not forget that not passing SafetyNet is 100% NORMAL AND INTENDED when you have an unlocked booloader or running custom firmware. These are workarounds and they will be worked around in turn.

    The Flash
    Forum Moderator

    EDIT: Thread is reopened... I will be cleaning any SafetyNet posts for a while to keep the thread clean for real issues.
    74
    Hello everyone!

    I am aware that Google has updated Safety Net that makes Magisk itself a no go for Android Pay. In fact, I witnessed the change live while I am developing the new magiskhide, which should hide all Magisk modules and Magisk installed root.

    Google is serious about Safety Net now, clearly hunting down all possibility to run Xposed with Safety Net passed. I spend quite some time examining the new security measures last midnight, and fortunately it seems that it is possible to run Magisk and root along with Safety Net if no Xposed is running. I'm glad I removed the old root toggle at the right time lol, that is no longer feasible with the latest detection.

    So stay tuned for the next update, it will come with bug fixes, along with the new magiskhide to bypass that Safety Net.

    Google, how will a few systemless mods do any harm :p:p
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone