Magisk General Support / Discussion

Search This thread

ctcx

Senior Member
Jan 16, 2013
269
86
PixelFlasher 5 released, hooray.

Now, given this, my previous attempt, and your notes:
Some cursory comments.
Code:
MAGISK_APK=$(pm path com.topjohnwu.magisk)   # If hidden, replace with package name
Keep in mind that, if Magisk is hidden, even if you have the correct package name, you only have the stub, which is not enough to create a patch.

Code:
../busybox unzip -o ../pf.zip
PF copies this to /data/local/tmp, you're expecting it to be there, but I don't see where is the copying part.
Not all systems have busybox, so you have to account for it.


If you're on x86_64, then you need to copy x86 version, that's one of the checks that PF does.
The other check is for this special Magisk by @Namelesswonder which provides 32 bit functionality to 64 bit only phones, you still want to copy the 32 bit Magisk if the Magisk in use is Magisk Zygote64_32, if you don't care about those, then your check is enough.

I find that this is enough to check for SYSTEM_ROOT
Code:
SYSTEM_ROOT=false
grep ' / ' /proc/mounts | grep -qv 'rootfs' && SYSTEM_ROOT=true

For Pixel devices, I never needed to bother for Recovery mode, did you do any testing on a device with recovery mode? I'm curious about your results.

Code:
SHA1=$(./magiskboot sha1 "$1" 2> /dev/null)
cp -f new-boot.img /sdcard/Download/magisk_patched_$SHA1.img
You want to add 40 character SHA1 to the filename?
just add | cut -c-8

Do these notes still apply for everything I should fix in that first attempt of wrapper I did, or should I now fix more beyond that?

Thanks again.
 

badabing2003

Recognized Contributor
Sep 17, 2012
2,313
3,263
Do these notes still apply for everything I should fix in that first attempt of wrapper I did, or should I now fix more beyond that?

Mostly yes, let me try to answer them individually.

MAGISK_APK=$(pm path com.topjohnwu.magisk) # If hidden, replace with package name

Keep in mind that, if Magisk is hidden, even if you have the correct package name, you only have the stub, which is not enough to create a patch.
Still the case, even though the stub might have what we need in data portion, it's not accessible without root, and even if we're rooted, properly extracting it would require some sleuthing / reverse engineering.
Besides unless the app is newer (or Magisk delta) root option is always a preferred option.
(I just discovered yesterday that Magisk delta does not have the stub.apk in /data/adb/magisk)


../busybox unzip -o ../pf.zip

PF copies this to /data/local/tmp, you're expecting it to be there, but I don't see where is the copying part.
Not all systems have busybox, so you have to account for it.
Yep, you have to make sure it exists somehow.
Some do, and some don't, specially a phone that has never been rooted before.

SYSTEM_ROOT=false
grep ' / ' /proc/mounts | grep -qv 'rootfs' && SYSTEM_ROOT=true
For me this is still working and good enough
For Pixel devices, I never needed to bother for Recovery mode, did you do any testing on a device with recovery mode? I'm curious about your results.
I added an checkbox option in PF where the user can select if they are patching for recovery or not.
I think for PF that should be more than enough, I doubt that it would be used.
You want to add 40 character SHA1 to the filename?
just add | cut -c-8
PF does that, the generated patch is named something like this. magisk_patched_25210_bac0e555_e3c084bc.img[/icode Magisk version, stock sha1, patch sha1
 
  • Like
Reactions: pndwal and galaxys

ipdev

Recognized Contributor
Feb 14, 2016
2,395
1
4,825
Google Nexus 10
Nexus 7 (2013)
No issues here on the OnePlus 8 considering that I am still using the Alpha fork.
For what it's worth, I didn't have this problem using Canary 26102 on my Pixel 2 XL (Android 11) and on my Pixel 6 Pro (Android 14 Beta 2). 26102 shows as installed on both devices.

Haven't tried on my Hammerhead, but if I can find it maybe I will 🙃
Thank you for checking. 👍
Seems the issue was fixed earlier today and will be in the next canary release.

Assume you've checked for previous hidden Magisk App in device settings, Apps... (It is actually possible to have multiple stub apps installed!)... Also, nothing in a second space, workspace etc?... And checked magisk -v? PW
App was never hidden (renamed) and no second version installed.
No other workspace or such setup on device.

Both the `-v` and `-V` options returned.
No daemon is currently running!

The daemon was started according to the magisk log.

---

Looks like it was related to:
Root is not defined
Issue #6976

All good now with current commits.

Screenshot_20230525-200017.png
Code:
hammerhead:/ $ magisk -c
dd93556ad-ip:MAGISK:D (26102)
hammerhead:/ $ magisk -v
dd93556ad-ip:MAGISK:D
hammerhead:/ $ magisk -V
26102
hammerhead:/ $

Cheers all. :cowboy:
 

pndwal

Senior Member
...
Still the case, even though the stub might have what we need in data portion, it's not accessible without root, and even if we're rooted, properly extracting it would require some sleuthing / reverse engineering.
Besides unless the app is newer (or Magisk delta) root option is always a preferred option.
(I just discovered yesterday that Magisk delta does not have the stub.apk in /data/adb/magisk)
Not Delta specifically...

This commit:
Remove unexpected files
vvb2060 authored and topjohnwu committed on Feb 26 removed stub.apk from /data/adb/magisk prior to 25207...

this broke boot_patch.sh as it's required per the header, and consequently broke addon.d script...

@osm0sis discovered the issue and stub.apk was restored to /data/adb/magisk in 26100 with:
Fix scripts
manager.sh + boot_patch.sh:
- all listed files from boot_patch.sh header are required for boot patching, but stub.apk was being removed so install_magisk via addon.d.sh would fail without it; leave it in place
addon.d.sh:
- remove old redundant recovery_actions call (it's also performed by setup_flashable in initialize)
- print ABI to match flash_script.sh output
boot_patch.sh:
- catch and abort on any errors from ramdisk.cpio patching in the future
util_functions.sh:
- fix hiding of mount_partitions /system_root umount stderr
- quote mount_apex .pb DEST name parsing charset for safety even though both work
Fixes #6828
osm0sis authored and topjohnwu committed on Apr 9

... Delta is just getting old (not updated recently); Latest is still based on 25210. (Latest 'Stable' indicates base is 25206. 🤔: https://huskydg.github.io/magisk-files/intro.html ). So if your tester is using latest Delta lacking Stub is expected, and that was the same for official Magisk from 25207 till 26100 arrived...

👀 PW
 

badabing2003

Recognized Contributor
Sep 17, 2012
2,313
3,263
... Delta is just getting old (not updated recently); Latest is still based on 25210. (Latest 'Stable' indicates base is 25206. 🤔: https://huskydg.github.io/magisk-files/intro.html ). So if your tester is using latest Delta lacking Stub is expected, and that was the same for official Magisk from 25207 till 26100 arrived...
Thanks for the heads up,
Right I was aware about broken/missing stub.apk on version 25206-2521x, I don't know what I was thinking to expect anything different on Delta for version 25210 :sleep:
 
  • Like
Reactions: pndwal

pndwal

Senior Member
...
Looks like it was related to:
Root is not defined
Issue #6976

All good now with current commits.

View attachment 5919061
Code:
hammerhead:/ $ magisk -c
dd93556ad-ip:MAGISK:D (26102)
hammerhead:/ $ magisk -v
dd93556ad-ip:MAGISK:D
hammerhead:/ $ magisk -V
26102
hammerhead:/ $

Cheers all. :cowboy:
Nice work by @pasha.mcr! ...

Model way to get Devs to re-open and respond. 😜... Thanks to @vvb2060...

... Just noticed you seem to have tried to install debug build on Nexus 5...

Because fix turned out to be speed related (Magisk too slow; Faster get magisk tmpfs path needed) and debug Magisk is known to cause issues with slower/older devices, perhaps that was a factor?... Anyway, faster Magisk seems a good fix.

👍 PW
 

dobi3

Senior Member
Apr 18, 2013
111
45
Seaford
OnePlus One
OnePlus 2
Canary 25206 works fine... Think newer 26.1 and Canary 26102 have issues on my OnePlus 7 Pro running OOS.v11.0.9.1...get Qualcomm crash dump on newer versions... Canary 25206 works flawlessly...
This is what is causing it I believe:

- Pre-init storage partition device ID: metadata

I don't get that on Canary 25206

Thanks for any help or fix..
👍👍
 
  • Like
Reactions: J.Michael

martyfender

Senior Member
Mar 9, 2017
3,384
1,858
Indianapolis, IN
Bit confused by previous posts... Do you have any Magisk App that opens? Please screenshot home screen... If not, what happens?
I have to leave for radiation therapy and work. However I had reverted to the action build I had installed dated about April 10th.
 

Attachments

  • Log_2023-05-26_11-12-17.txt
    34.4 KB · Views: 4
Last edited:

DaOldMan

Senior Member
Oct 6, 2010
3,644
5,903
In my ViperOS rom I now have a new problem with Magisk 6.x . Any app included in zygisk denylist crashes when run :-( . If I use the older Magisk 5.x eveything is totaly fine, I can even pass safetynet. Alpha version has the same problem.
Rom is Nugat version 7.1. Tried to remove Magisk completely then reinstall, still same problem.
Thanks guys for any help.
 
  • Like
Reactions: J.Michael

tim1aust

Member
May 27, 2023
6
10
Question: I am new here, please redirect me to appropriate forum if this isn't where I should post my Q.

I have pixel phones rooted with Magisk, thus no OTA updates for me. So I download them from the Google site when the monthly update arrives, and flash using adb sideload. But it's a PITA wrt Magisk, I usually have to fuss around to get Magisk back running, although it's still worth it.

My Q is: if I update the monthly update zip with the appropriately patched magisk_patched file, will that OTA update install successfully and also preserve Magisk?

Thank you for any advise.
Tim
 
  • Like
Reactions: J.Michael

Lughnasadh

Senior Member
Mar 23, 2015
5,159
6,031
Google Nexus 5
Huawei Nexus 6P
Question: I am new here, please redirect me to appropriate forum if this isn't where I should post my Q.

I have pixel phones rooted with Magisk, thus no OTA updates for me. So I download them from the Google site when the monthly update arrives, and flash using adb sideload. But it's a PITA wrt Magisk, I usually have to fuss around to get Magisk back running, although it's still worth it.

My Q is: if I update the monthly update zip with the appropriately patched magisk_patched file, will that OTA update install successfully and also preserve Magisk?

Thank you for any advise.
Tim
If you want an easy and painless way to update each month while keeping root, I would suggest Pixel Flasher.
 
Last edited:

badabing2003

Recognized Contributor
Sep 17, 2012
2,313
3,263
You don't need to build it the Ubuntu version runs on manjaro, I'm using it. Version 5 had an issue on manjaro but it's been fixed with the latest test build
It's not actually fixed, if I build it on my machine manually, it works for you guys, but if I let Github build it, it doesn't.
I can't put my finger on it as to why?
I don't want to build manually anymore for each release, but I also don't want users having to build it manually either (unless they want to).
That's why this is bugging me.
 
  • Like
Reactions: J.Michael

tim1aust

Member
May 27, 2023
6
10
You don't need to build it the Ubuntu version runs on manjaro, I'm using it. Version 5 had an issue on manjaro but it's been fixed with the latest test build
Thanks again for the info. But... too late! I already got it built and running, after learning more about building wxPython (or any python module, actually), and also installing the nautilus browser to select boot images. It's been interesting! This tool seems very well done, I am hopeful to use it successfully soon. Thank you Thank you Thank you, for bringing it to my attention.
Tim
 

Top Liked Posts

  • 4
    https://forum.xda-developers.com/t/...r-root-pixel-7-pro-cheetah-safetynet.4502805/

    VERY IMPORTANT - On the Pixel 7/Pro, we use Magisk to patch init_boot.img, NOT boot.img AND we flash the patched init_boot to the init_boot partition - do not flash it to the boot partition.​

    2
    What I said was once you root something's will never work again which is 💯 CORRECT. Of course you can relock bootloader but it won't fix the apps that will never work again and that was my point ffs
    Ah... Sorry. 🙁

    I'd read
    At least you can relock bootloader and go back stock I guess. On Sammy once you trip Knox that's it something's will never ever work again...
    to mean you 'can't relock bootloader and go back to stock on Sammy once you trip Knox, and that's something that will never ever work again' rather than 'If you relock bootloader and go to back stock on Sammy, once you trip Knox some things will never ever work again'!... 🤪

    I probably should have asked you to clarify that, sorry mate... PW
  • 8
    Hello!
    How do you know?
    You must be an expert or something

    Nigerian-Meme.jpg 😜 PW
    7
    As I expected in advance, problems with Magisk occurred after the OTA update of LineageOS (Pixel 6a).
    Updated from a 20.0 build to lineage-20.0-20230429-nightly-bluejay

    After the update it was necessary to flash the new boot image again. I have done that. But Magisk simply does not root. Magisk patched the downloaded LineageOS boot-image, saved it in the download folder and that was it.

    Magisk was hidden before I did OTA update.
    Simply very beautiful. All this after setting up LineageOS to my liking.
    And what can I do now except re-flash ROM?

    You might be interested in this.

    If you are using the current Magisk canary build, addon.d support was fixed.
    A few weeks ago, I tested it on my Pixel 3a and made a post in The Age of Zygisk thread.
    Post #3,128

    Since I did not install Magisk via recovery, I made a module that overlays Magisk's addon.d script into the system/addon.d directory.
    The module is not necessary after the first OTA.
    - The OTA updater will actually restore the Magisk script into system with the others.

    Magisk Survival Module - [GitHub] - Link
    Please read all of the readme if you decide to use it.
    - This only works with addon.d-v2 (A/B slot devices).

    Cheers. :cowboy:

    PS.
    I have updated my 3a using the OTA updater 4/5 times now and Magisk is retained each time.
    No need to manually patch and flash the new boot image after update.
    7
    Yeah, if I want to run a custom kernel (Pixel 7) then I need to wipe. Should have sideloaded (not booted up), then gone into bootloader and run fastboot flash vbmeta --disable-verity --disable-verification vbmeta.img to that slot. Once booted after sideload/flashing the firmware it's too late as it's enabled after booting. Don't think it matters if you do it before or after flashing the patched image, just as long as you do it before you boot up. Oh well, lol...

    Nothing to do with what we were testing, just custom kernel related. Seems to also help to avoid getting the red eio corrupt message when things may not go as expected.
    Thanks, I realize it is only needed for custom Kernel cases.
    I should add extracting vbmeta from payload.bin then in addition to boot.img / init_boot.img so that the step can be performed if the options are selected.
    7
    So as well as making it easier to keep root with an ota we can have the same firmware on the device one rooted and one not? So if magisk hide/safetynet/etc aren't working we can boot to the non rooted firmware to use wallet/banking apps etc and then boot back to rooted. Or is it a bit more complicated than that? Never had a pixel device before
    Others have already addressed your question, but for me, the biggest benefit here is to have a safety valve in place where your inactive slot is bootable (without first having to flash the firmware) in case you get into a hairy situation where your active slot becomes unbootable for whatever reason. May be useful in some situations.
    7
    If the "issue" is that you have not yet been able to reproduce the Magisk manager app's "Ramdisk: Yes/No":

    Did you try a "wrapper" for the shell script function you found? At the time you reported several script fragments, there was talk of needing to call other functions first to set up environment variables.

    Look up the "echo" command. There is a form that causes the shell to echo all lines as they are executed. Do this, redirect output to a log file, and you can crawl through and maybe spot where it first disappoints you.

    I believe "needing to call other functions first to set up environment variables" is exactly why he is getting a different result from the app. 👍

    I could gut out all the relevant bits for him to run, but, not trying to offend here, I kind of don't see what the point of all this has been, so I don't think I can justify putting in that amount of effort when I've got my own stuff to be doing... 🫤

    Edit: One final thought. It could also be that he needs to use Magisk's busybox and busybox ash env for some of the commands like Magisk would be to get the intended output.

    I'm running into an interesting problem that I can't put my fingers on, and am open to ideas / suggestions.
    As you may already know, Magisk embeds the SHA1 of the stock boot image used to create the patch into the patched image, this is great because one can easily determine the source image that was used and validate if it is what it is supposed to be.

    And this is exactly what PF does, it extracts the SHA1 from the patched image.
    Here's the function code
    Python:
    def extract_sha1(binfile, length = 8):
        with open(binfile, 'rb') as f:
            s = f.read()
            # Find SHA1=
            pos = s.find(b'\x53\x48\x41\x31\x3D')
            # Move to that location
            if pos != -1:
                # move to 5 characters from the found position
                f.seek(pos + 5, 0)
                # read length bytes
                res = f.read(length)
                return res.decode("utf-8")

    Unlike magiskboot and Android Kitchen Tools by @osm0sis which extracts the ramdisk.cpio and performs magiskboot cpio <ramdisk.cpio> sha1 on it, PF (to keep it lightweight) it just looks for the string SHA1= directly on the patched file and then reads the next 8 hex characters and converts them to ascii.
    And this has worked flawlessly so far, until this.
    Basically what is happening is:
    The expected embedded SHA1 is: 40100d6b9512f6dffbb6f6b67c1b878f3bd82d18

    With the exception of the red part of the SHA1, everything matches.
    In one case 0100 part which is expected to be 30 31 30 30 hex it is instead 89 00 FB 33, and in the other case it is 72 00 FC 15

    View attachment 5902493View attachment 5902495


    I don't understand why this is happening, my first guess would be some kind of encoding, but then why now and only with this image, my other guess / fear is that perhaps the writing is not clean which would be a bug in Magisk.
    Obviously I can skip over the first few bytes and do the validation with the remaining bytes, but I'd hate to take a path like that without understanding why this is happening, who's to say that this thing can't happen on the other portions of the SHA1 string.

    If you have any ideas, I'm all ears.

    The boot.img contains the ramdisk.cpio.gz/.lz4/.lzma/.xz and while text strings may get stored as-is in a compression format, that isn't guaranteed and the compression might find something it thinks it can "optimize" for space savings. That's why `magiskboot cpio <file> sha1` is run on the uncompressed ramdisk.cpio. 🙂
  • 1094
    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
    156
    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!!
    121
    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.
    75
    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