• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

Magisk General Support / Discussion

Search This thread

zgfg

Senior Member
Oct 10, 2016
6,348
3,767
https://github.com/topjohnwu/Magisk/issues/4343#issuecomment-947304715

Thought I'd address this here.

Since the enquiry (re Android 12 & fixes) continues, @osm0sis just responded:


Couldn't agree more.

Additionally, it IS the end of an era according to John...

Aside from farming out Magisk Hide work, the project should become
- More professional!
- It will incorporate better (regression) testing!:

Also,
- It now has a plethora of talented contributors whose contributions have ensured vastly improved compatibliy, stability and fewer bugs already...

I can't imagine that will change anytime soon thanks to John's model:

https://topjohnwu.medium.com/state-of-magisk-2021-fe29fdaee458

😀😃😄 👍 PW
I'm not familiar with Pixel and A12, but did you see:
@V0latyle I think I know why some people are having issues with obtaining root or maintaining root on Android 12 official release... When you use the following command,
Code:
fastboot --disable-verity --disable-verification flash vbmeta vbmeta.img

I think after this command and then flashing the patched magisk boot image their might be a check on both slots. Would I be wrong suggesting for the disable vbmeta command be this instead?
Code:
fastboot --disable-verity --disable-verification flash --slot=all vbmeta vbmeta.img

I was having the same issue where it was saying that the system was corrupt and having to do a factory wipe after doing the command without --slot=all for the vbmeta disable flag command.
 
  • Like
Reactions: pndwal

m0han

Senior Member
Apr 30, 2012
4,542
1,705

Attachments

  • IMG-20211020-WA0031.jpg
    IMG-20211020-WA0031.jpg
    96 KB · Views: 60

zgfg

Senior Member
Oct 10, 2016
6,348
3,767
please see my screenshots (esp. the 5th) and advise on what is to be done further. thanks.
@pndwall gave you the link for one of the many earlier posts in this thread how to configure DenyList.
You don't need AR services and so but only Google Play Services (you didn't expand to see which services you enabled) - see the screenshot
 

Attachments

  • DenyList-GMS.jpg
    DenyList-GMS.jpg
    319.6 KB · Views: 78
Last edited:
  • Like
Reactions: m0han

73sydney

Senior Member
Jul 21, 2018
1,995
1,799
Sydney
Google Pixel 2 XL
Samsung Galaxy S20
Haha, I wouldn't know; I usually update before deciding I need to downgrade!

I'm on 8276a077-alpha. Made a $250 GPay purchase around 4pm yesterday, all good.

Have there been Google end changes since then? ... Maybe you're just becoming as paranoid as me!

Marvin

Good old Magisk alpha 31....bulletproof

I made a GPay purchase for days and even a few hours earlier...then bang, gone...root detected....

Remove and reinstall alpha 31...all is sane again....

Guess im just going to stay here for a while again until the dust settles, cant keep up with (currently) 3 forks of Magisk :)

...Nigel...
 

m0han

Senior Member
Apr 30, 2012
4,542
1,705
...You don't need AR services and so but only Google Play Services (you didn't expand to see which services you enabled) ...use MHCP to spoof fingerprints ...Finally, USNF module if CTS would be still failing....
expanded and did as you advised. then installed mhpc module and tried the tips suggested in the xda thread and github documentation. upon reboot my magisk returned 'zygisk no'. yasnac reported both basic integrity and cts profile match as 'fail'. next, i tried usn fix module. still both basic integrity and cts profile match were 'fail'. thereupon, i reset everything in mhpc module and rebooted. magisk returned 'zygisk yes'.

with mhpc module and usn fix module still installed, i ran yasnac and it reported both basic integrity and cts profile match as 'pass'.

now, my question is: should i keep mhpc module installed? or, is it enough to have usn fix module installed and keep it updated?

finally, many thanks to the devs of mhpc module and usn fix module for their fine work and to pndwal and you for your great help.
 

Attachments

  • Screenshot_20211020-143535_YASNAC.png
    Screenshot_20211020-143535_YASNAC.png
    146.9 KB · Views: 66
Last edited:
  • Like
Reactions: zgfg

zgfg

Senior Member
Oct 10, 2016
6,348
3,767
expanded and did as you advised. then installed mhpc module and tried the tips suggested by the dev in the xda thread and github documentation. upon reboot my magisk returned 'zygisk no'. yasnac reported both basic integrity and cts profile match as 'fail'. next, i tried usn fix module. still both basic integrity and cts profile match were 'fail'. thereupon, i reset everything in mhpc module and rebooted. magisk returned 'zygisk yes'.

with mhpc module and usn fix module still installed, i ran yasnac and it reported both basic integrity and cts profile match as 'pass'.

now, my question is: should i keep mhpc module installed? or, is it enough to have usn fix module installed and keep it updated?

finally, many thanks to the devs of mhpc module and usn fix module for their fine work and to pndwal and you for your great help.
If I understand you correctly, you got it passing without the use of MHPC - in that case you can safely remove the module

You could also just disable in Magisk app but leave it installed

But you can also keep it enabled - if reset and not used, it's dormant and not affecting but it can be handy if you would ever need to experiment something with props (I also don't use it but like to have it installed and enabled)
 

m0han

Senior Member
Apr 30, 2012
4,542
1,705
... you got it passing without the use of MHPC - in that case you can safely remove the module... also just disable in Magisk app but leave it installed

....keep it enabled - ....can be handy if you would ever need to experiment....
that's how it is, as of now. thanks.
 

Didgeridoohan

Senior Moderator / Dev Committee / Dev Relations
Staff member
May 31, 2012
12,299
1
14,661
Gothenburg
Google Nexus 4
Nexus 6
Generally, with (not-certified) custom ROMs (no matter which device and Magisk version) you first need to spoof fingerprints for e.g. same device but stock ROM (MHPC module - see the corresponding thread) to get it passing Basic integrity

Then, if CTS still failing, you can further use MHPC or USNF to pass
Correction:
Setting a certified fingerprint for your device is to pass CTS. Sometimes a combination of MHPC and USNF is needed to pass CTS, sometimes one or the other. Neither deals with basic integrity...
 
  • Like
Reactions: J.Michael and ipdev

zgfg

Senior Member
Oct 10, 2016
6,348
3,767
Correction:
Setting a certified fingerprint for your device is to pass CTS. Sometimes a combination of MHPC and USNF is needed to pass CTS, sometimes one or the other. Neither deals with basic integrity...
Yeah, he had problem with Basic Integrity because he didn't properly configure DenyList
 

pndwal

Senior Member
I'm not familiar with Pixel and A12, but did you see:
No, I hadn't.

I'm not across all the issues w/ Android 12 either. I was really just moving the OT (non-issue related queries re. Magisk's future) in that issue thread to this General Discussion forum...

But I see you've brought this information to the attention of early A12/Magisk guinea pigs in same issue. 😁 Looks like it may be quite relavent too.

Hope this helps them / devs addressing that issue. PW
 

V0latyle

Forum Moderator
Staff member
Folks:

Please realize that the "failure to load/verify boot images" message is not due to a Magisk issue.

Android 12 introduces Verified Boot on some devices, such as the Pixel 5, which will block a modified boot image from loading.

Two new Verified Bootfeatures implemented in Android 12 will interfere with attempts to root.

Dm-verity (device-mapper-verity) is a method by which an image on block devices (the underlying storage layer of the file system) can be checked to determine if it matches an expected configuration, using a cryptographic hash tree. If the hash doesn't match, dm-verity prevents the stored code from loading.

Vbmeta verification is the other half of this - it provides a cryptographically signed reference hash which is used to verify the integrity of /boot, /system, and /vendor partitions. The vbmeta image is only used to verify /boot, while vbmeta-system is used to verify /system.

This was implemented to prevent persistent rootkits by means of a hardware level security check, to prevent "potentially harmful applications" such as Magisk from evading detection, as such applications residing within the kernel will have higher privileges than the detection applications.

What this means is that with these two enabled, a modified boot image will cause a verification error when flashed to the device, preventing boot. Interestingly, this check is not performed against "live" boot images loaded via ADB, so with dm-verity and vbmeta verification enabled, a modified image can be booted as long as the image in /boot is intact.

So, if you get stuck at bootloader with the failure message, this is because boot verification is not disabled.

You can find instructions on how to disable it in my thread here (this guide is for the Pixel 5; the instructions may be similar for other devices but it is YOUR responsibility to determine the correct procedure)

As far as failing safetynet, I used the Universal Safetynet Fix on 12 Beta 5 with no issues. I haven't updated to 12 Final yet so YMMV.
 

pndwal

Senior Member
If I understand you correctly, you got it passing without the use of MHPC...

But you can also keep it enabled - if reset and not used, it's dormant and not affecting...
I stand to be corrected here, but I think MHPC now changes 'sensitive' props that MagiskHide used to handle to 'safe' (undetected) values by default (even if MHPC is not configured).

This may do no harm of course, but it should be understood that MHPC is no longer 'dormant' when reset or left unconfigured.

Also, as USNF now apparently does this also, this function may be duplicated / redundant, although I imagine this wouldn't cause any real conflict, only increase load time marginally. PW
 
  • Like
Reactions: J.Michael

pndwal

Senior Member
Good old Magisk alpha 31....bulletproof

I made a GPay purchase for days and even a few hours earlier...then bang, gone...root detected....

Remove and reinstall alpha 31...all is sane again....

Guess im just going to stay here for a while again until the dust settles, cant keep up with (currently) 3 forks of Magisk :)

...Nigel...
...But that version (abfb3bb3-alpha) was already dated... did you ever try later 8276a077-alpha? I haven't had issues yet... PW
 

zgfg

Senior Member
Oct 10, 2016
6,348
3,767
I stand to be corrected here, but I think MHPC now changes 'sensitive' props that MagiskHide used to handle to 'safe' (undetected) values by default (even if MHPC is not configured).

This may do no harm of course, but it should be understood that MHPC is no longer 'dormant' when reset or left unconfigured.

Also, as USNF now apparently does this also, this function may be duplicated / redundant, although I imagine this wouldn't cause any real conflict, only increase load time marginally. PW
Didn't know and didn't expect (changes in effect if not activated through the module).
However, my /data/adb/modules/MagiskHidePropsConf/system.prop is empty (besides the header), hence the module makes no props changes through that file for me

Yet, my sensitive props are already ok by Xiaomi.eu ROM and I pass SafetyNet with or without MHPC

Anyway, since I usually experiment (also systemlessly) with changing props directly by manipulating my /data/adb/modules/.../system.prop file, I have now disabled that dormant or not MHPC :)
 
Last edited:

Didgeridoohan

Senior Moderator / Dev Committee / Dev Relations
Staff member
May 31, 2012
12,299
1
14,661
Gothenburg
Google Nexus 4
Nexus 6
I stand to be corrected here, but I think MHPC now changes 'sensitive' props that MagiskHide used to handle to 'safe' (undetected) values by default (even if MHPC is not configured).

This may do no harm of course, but it should be understood that MHPC is no longer 'dormant' when reset or left unconfigured.

Also, as USNF now apparently does this also, this function may be duplicated / redundant, although I imagine this wouldn't cause any real conflict, only increase load time marginally. PW
The sensitive props changing is active by default, yes, but only ever does anything if a prop is set to a sensitive value.
 

pndwal

Senior Member
Didn't know and didn't expect (changes if not activated in the module).
However, my /data/adb/modules/MagiskHidePropsConf/system.prop is empty (besides the header), hence the module makes no props changes through that file for me

Yet, my sensitive props are already ok by Xiaomi.eu ROM and I pass SafetyNet with or without MHPC.
Anyway, since I usually experiment (also systemlessly) with props changes by directly manipulating my /data/adb/modules/.../system.prop file, I have now disabled the dormant or not MHPC :)
So seems no effect where prop already changed, which explains your result.

Ref for active setting of 'trigering' values to 'safe' is here:
https://github.com/Magisk-Modules-R...README.md#setreset-magiskhide-sensitive-props PW
 
  • Like
Reactions: zgfg

pndwal

Senior Member
wasnt dated by much

i tend not to invite the possibility of more of the same, when i can go right back to stable ...im getting too old for much testing these days Marvin
Yup, only one more TJW commit:
https://github.com/topjohnwu/Magisk/commit/fe41df87bb34926cf2d6b448dd5a2878d90d4dc1
fixing this race condition:
https://github.com/topjohnwu/Magisk/pull/4759
Check the best minds on that: reopened, and just closed again...

Clearly some vvb2060 commit(s) too (esp. removing Check SafetyNet).

The fact that vvb2060 pushed fix so quickly should say something. Others reported abfb3bb3-alpha issues gone too.

8276a077-alpha is all good for me ATM... We'll see...

However, I always try to remember 'you can lead a mouse to water, but you cannot make it think'... 😜 ... Perhaps life on the bleeding edge does require too much of that... so just don't talk to me about life... Marvin.
 
  • Like
Reactions: 73sydney

Top Liked Posts

  • 3
    - Does LSposed v1.6.5(6315) (latest from TG, that worked fine with previous Alpha) work with Shamiko (or reports incompatibility), and with which version of Shamiko
    Yes, it works fine with the latest shamiko-v0.3.0-73.
    - Does the accompanying latest Shamiko v0.3.0(73) (published together today on Alpha TG channel) show the status
    No, It still doesn't show the status, BUT I have fixed that by creating Shamiko Mod flashable zip v0.3.0-73 ( Fixed showing the status, screenshots attached ), Tested and worked fine with the latest TJW Magisk Canary build 23017 . :) (y)
    2
    Latest unofficial Alpha build (Translated):

    # alpha changelog

    ## Magisk (761a8dde-alpha)
    - [App] Support SharedUserId
    - [App] Delete backup file after restoring boot image
    - [App] Built-in current version update log
    - [General] no longer automatically unlock device blocks
    - [General] Use MagiskHide to hide when Zygisk is closed
    - [App] Fix the second click of hide app button may not respond
    - [App] Compatible with Android 12L
    - [MagiskInit] Refactor the processing method of two-step startup
    - [MagiskBoot] Speed up zopfli compression
    - [General] Update to NDK 23
    - [App] module check update support showing change log

    ### how to install?
    Install and uninstall Magisk through the Magisk application. Generally, it should be done directly in the application. In special cases such as the first installation, you should use the fastboot/odin tool to flash it after patching the image.
    By customizing Recovery is not a supported way.

    # Upstream changelog

    ## Magisk (5f4cd50c) (23017)

    - [MagiskInit] Fallback to default fstab if dt fstab contains errors
    - [MagiskInit] Skip loading Magisk when detecting DSU
    - [DenyList] Support listing, adding, and removing processes from the denylist regardless of enforcement status
    - [Zygisk] Add new APIs (not finalized yet, please wait for actual publication)
    - [App] Support user configuration of boot image vbmeta patching
    - [App] Add DNS-Over-HTTPS option back
    - [App] Restore the ability to install Magisk on the other slot on some A/B devices
    - [App] Partial module update checking support (not complete, still WIP)
    - [App] Many bug fixes

    ## Diffs to v23.0

    - [General] MagiskHide is removed from Magisk
    - [General] Support 64-bit only systems
    - [General] Support Android 12
    - [General] Update BusyBox to 1.34.1
    - [Zygisk] Introduce new feature: Zygisk
    - [Zygisk] Introduce DenyList feature to revert Magisk features in user selected processes
    - [MagiskBoot] Support patching 32-bit kernel zImages
    - [MagiskBoot] Support boot image header v4
    - [MagiskBoot] Support patching out `skip_initramfs` from dtb bootargs
    - [MagiskBoot] Add new env variable `PATCHVBMETAFLAG` to configure whether vbmeta flags should be patched
    - [MagiskInit] Support loading fstab from `/system/etc` (required for Pixel 6)
    - [MagiskInit] Support `/proc/bootconfig` for loading boot configurations
    - [MagiskInit] Better support for some Meizu devices
    - [MagiskInit] Better support for some OnePlus/Oppo/Realme devices
    - [MagiskInit] Support `init.real` on some Sony devices
    - [MagiskInit] Skip loading Magisk when detecting DSU
    - [MagiskPolicy] Load `*_compat_cil_file` from system_ext
    - [MagiskSU] Use isolated devpts if the kernel supports it
    - [MagiskSU] Fix root shell if isolated mount namespace is set
    - [resetprop] Deleted properties are now wiped from memory instead of just unlinking
    - [App] Build a single APK for all ABIs
    - [App] Switch to use standard bottom navigation bar
    - [App] Downloading modules from the centralized Magisk-Modules-Repo is removed
    - [App] Support user configuration of boot image vbmeta patching
    - [App] Restore the ability to install Magisk on the other slot on some A/B devices

    👍 PW
    1
    ... Or use the test build from LoveSy...
    https://forum.xda-developers.com/t/magisk-general-support-discussion.3432382/post-86287919
    or John's brand new one with ALL master repo commits till now:
    https://github.com/topjohnwu/Magisk/actions/runs/1722755293
    until we get imminent TJW release w/ fixes and more.

    Nb. This LSPosed build is the first with new JSON supporting "Support modules update" commit.
    https://forum.xda-developers.com/t/magisk-general-support-discussion.3432382/post-86281165

    If you keep JSON intact you see update in magisk with 'Support modules update' and fix for JSON:

    ... Also, formatting errors are probably excusable, even inevitable on first try... 😜 PW
    For the matter of fact, updateJson field is supported also in Alpha 23016 (latest, Jan 17)

    Dirty test:

    Since Alpha is not updated to 23017, I must use Shamiko v0.2.0 (59).
    Hence I copy/paste updateJson from Shamiko v0.3.0(72) to /data/adb/modules/zygisk_shamiko/module.prop

    Then Magisk Alpha apk correctly shows that Update for Shamiko is available.
    I can take Install - it downloads and starts installing but correctly fails noting that new Shamiko requires Magisk 23017+ (mine is Alpha 23016). So far so good

    BUT if I take DOWNLOAD instead, it downloads Shamiko v0.3.0(72) zip but then Magisk (Alpha) app always CRASHES

    I've tested several times, Install and Download download the same zip to /Download folder, Install correctly continues with installation but Download crashes

    I experimented similarly with my own module (I added updateJson to my module.prop and json file to my Github page), Install installs/updates my module but Download downloads and then crashes

    Could somebody with Canary 23017 test that Download option - I don't know is this crash something specific to Alpha 23016 or general issue
    1
    For the matter of fact, updateJson field is supported also in Alpha 23016 (latest, Jan 17)

    Dirty test:

    Since Alpha is not updated to 23017, I must use Shamiko v0.2.0 (59).
    Hence I copy/paste updateJson from Shamiko v0.3.0(72) to /data/adb/modules/zygisk_shamiko/module.prop

    Then Magisk Alpha apk correctly shows that Update for Shamiko is available.
    I can take Install - it downloads and starts installing but correctly fails noting that new Shamiko requires Magisk 23017+ (mine is Alpha 23016). So far so good

    BUT if I take DOWNLOAD instead, it downloads Shamiko v0.3.0(72) zip but then Magisk (Alpha) app always CRASHES

    I've tested several times, Install and Download download the same zip to /Download folder, Install correctly continues with installation but Download crashes

    I experimented similarly with my own module (I added updateJson to my module.prop and json file to my Github page), Install installs/updates my module but Download downloads and then crashes

    Could somebody with Canary 23017 test that Download option - I don't know is this crash something specific to Alpha 23016 or general issue
    This is as expected; LoveSy 'Do not trust format of 3rd party json' fix is only two days old, committed yesterday in Magisk master and is not in last Alpha.

    'Support modules update' PR was from vv module_update branch
    https://github.com/topjohnwu/Magisk/pull/5216
    and was that Alpha. See last commit here:
    https://forum.xda-developers.com/t/magisk-general-support-discussion.3432382/post-86273781

    But because it doesn't have LoveSy fix, JSON with format issues will still break Alpha... 😜

    Try today's new 761a8dde-alpha! ... It has an extra fix for showing Changelog too...PW
  • 11
    Can you confirm that all apps checked in the deny list are hidden to the system, pleeeaaase ???
    Few things to note: You really need to read release notes before using any Magisk build, official or otherwise. 🙃

    The build @Johnson_Ran posted is his own build of latest unofficial Alpha Magisk + LoveSys fix for OnePlus 7 / 7 Pro (and possibly other devices) w/ ramdisk detection issue; I posted re. a test build based on canary, now he posted his personal Alpha Magisk with fix for OnePlus... Nb. The fix has NOT been merged in Magisk master, Canary or even latest vvb2060 Alpha yet.

    Well this concept of deny list is confusing so I tried to treat it as a MagiskHide list and all apps I checked are not working as they did with v23... ^^
    Do you mean Are root-related execution environment changes hidden from the app? If so, that depends...

    MagiskHide is dead and gone in TJW builds going forward; denylist is quite different - it 'reverts Magisk features in use for selected processes', ie w/ denylist "Magisk denies further modifications and reverts all changes it had done. Magisk will not spoof/alter/manipulate any non-Magisk related signals or traces to circumvent any device state detection." So denylist is actually made more powerful for hiding TEE mods because of Zygisk, but won't perform the spoofing / alterations / manipulations of non-Magisk related signals or traces formerly done by MagiskHide.

    Even more powerful hiding methods are now available however, thanks to John's strengthened Magisk framework; he just won't do it himself:
    www.twitter.com/topjohnwu/status/1445598597521633285

    Universal SafetyNet Fix and Shamiko are examples where Zygisk is used for advanced hiding by 3rd party modules. Nb. Denylist is not even needed if Devs choose to "do everything themselves"!
    www.twitter.com/topjohnwu/status/1445598601372069890

    As I indicated, the biggest favour users can do themselves is read release notes before using any Magisk build, official or otherwise. For TJW Canary start with this one:
    https://github.com/topjohnwu/magisk-files/blob/9537c5d8cedfc09ca723ae0392b1219e75d9b636/notes.md
    ... read the blog John links there (for good reason) also... and scroll down and read the 2020 one also for more understanding of the general Magisk roadmap / direction...

    ONLY after understanding these major changes, if you want to try HIGHLY EXPERIMENTAL bleeding edge vvb2060 Alpha builds, read IT'S Changelog (translate Chinese)... Latest here:
    https://forum.xda-developers.com/t/magisk-general-support-discussion.3432382/post-86215689

    Coming back to your statement
    I tried to treat it as a MagiskHide list and all apps I checked are not working as they did with v23... ^^
    Note a major difference between TJW denylist and Alpha denylist:
    • [General] Use MagiskHide to hide when Zygisk is closed
    So denylist in Alpha works like MagiskHide / hidelist only after Zygisk is closed; Nb. you NEED TO REBOOT to disable Zygisk.

    After this Riru modules will also work (it's a choice; Riru or Zygisk, not both), and if you needed 2.x series Universal SafetyNet Fix for your device, you'll need to swap to a USNF-Riru build if you had USNF-Zygisk. Note: There is no option to do this in TJW Canary as current USNF-Riru builds require MagiskHide to function.*

    Nb.1. In TJW builds denylist WON'T be used as hidelist or with MagiskHide. Alpha restores MagiskHide... This is peculiar to custom Magisk forks...

    Nb. 2. There are differences with MagiskHide in Alpha. Importantly, toggling MagiskHide off then on again does NOT add Google Play Services safetynet process to denylist (whether in denylist or hybrid alpha hidelist mode). You need to do this manually to pass SafetyNet as follows:

    Add Google Play Services process(es) to denylist unless a solution for hiding root associated modifications from GPS SafetyNet process(es) is incorporated in an active module. For devices where Magisk resides in /sbin (many pre. Android 11), only deny SafetyNet process, com.google.android.gms.unstable. For Android 11+ etc (non /sbin), deny Main process, com.google.android.gms also.

    Happy reading / playing, and hope this helps! 😀 PW

    Edit:

    *FWIW, this makes Alpha attractive for anyone wanting to use Riru and pass SafetyNet on late devices (w/ TEE Attestation in hardware affected by September Google server end changes) with post 23001 Magisk builds... This may only be useful in the interim until general Zygisk module conversion / take-up and Riru is dropped...

    However if (and only if) Riru does get continued support / remains popular / doesn't die post Magisk 24000 (ie. Zygisk in Stable Magisk), and @kdrag0n reconsiders this:
    https://github.com/kdrag0n/safetynet-fix/issues/120#issuecomment-971831719
    we may see working USNF-Riru for official TJW post Zygisk Magisk...

    I suspect though that predictions of Riru's imminent demise will be realised, so don't hold your breath.

    Thanks for all the fun RikkaW and team; You did it (allowed modules to run code in apps w/ zygote injection / Xhook) first! 👏 PW
    9
    ...snip...
    Just meant nandroid restore should be usable to roll back since you seemed concerned you'd 'lose ability to use nandroid backup' & would need to restore beloved A10 setup / mods piece by piece!...
    ...snip...
    A LOT of config is stored in the settings. For example:
    PHP:
    settings put global "window_animation_scale" "0.5";
    Because I use to build ROMs from source and therefore clean flash my devices a lot, I built a method to extract and reinstate all my config, to be used selectively and in combination with normal back-up apps, to reinstate my device as close to its previous state without manually hunting and seeking all the settings, after a clean flash.

    I automated this task as a method within the app TeMeFI and can be found under Current State>Settings>Generate Set All
    8
    Guys (especially @zgfg and @pndwal), big thumb up 👍🏻 for your patience in explaining everything gazillion times over and over 😂
    7
    Victory! What did I Will Merv!😉
  • 1072
    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