Magisk General Support / Discussion

Search This thread

pndwal

Senior Member
I use Magisk to hide the rooted status for an app, on my samsung a21s, after the process my sim card shows emergency calls only
Is there any way to test whether it can really make an emergency call without actually making an emergency call?

Did you add the name of the app to a list, like Hide List, Deny List,...? Are you using HMA? Did you add the app to HMA's list?

What I am really working towards is, did you maybe add other, especially system, apps to a list? You probably shouldn't.
To me, "the process" is not clear... I assumed this meant installing Magisk to hide the rooted status, and you hiding the rooted status itself... Some clarification from the member would certainly help... PW
 
  • Like
Reactions: J.Michael

ephemunch

Senior Member
Oct 16, 2017
71
8
Magisk disables vbmeta in the boot image itself these days. No need to run --disable-verity --disable-verification commands in fastboot anymore.
Thanks. So no need to run this command.

I have a Pixel 6A.
adb shell ls -l /dev/block/by-name shows me that it has vbmeta_a AND vbmeta_b partition.


Would be this right?

fastboot flash boot_ab magisk_patched-[random_strings].img

OR

fastboot flash boot magisk_patched-[random_strings].img


XDA tutorial here (https://www.xda-developers.com/how-to-unlock-bootloader-root-magisk-google-pixel-6a/) write fastboot flash boot magisk_patched-[random_strings].img

Don't know what is right and what is wrong now.
 
Last edited:

pndwal

Senior Member
Thanks. So no need to run this command.

I have a Pixel 6A.
adb shell ls -l /dev/block/by-name shows me that it has vbmeta_a AND vbmeta_b partition.


Would be this right?

fastboot flash boot_ab magisk_patched-[random_strings].img

OR

fastboot flash boot magisk_patched-[random_strings].img
The latter method should always work (flashes current slot)... You shouldn't ever need the former option AFAIK (so it's not even mentioned in Installation Instruction page).

Flashing to inactive slot is only really used to preserve Magisk through an OTA and for devices supporting this a user flashes OTA and immediately uses inbuilt Magisk function (go to Magisk app → Install → Install to Inactive Slot) to install Magisk to the updated slot before any reboot (which swaps active slot) per:
https://github.com/topjohnwu/Magisk/blob/master/docs/ota.md#devices-with-ab-partitions

Nb. Install to Inactive Slot preservation method is broken some for late Pixel 6 series updates and for Pixel 7 series (and likely other devices by now) apparently due to new update engine partition digest checks marking installation w/ Magisk as corrupted before it will boot... It seems Magisk can still overcome this (overwrite accepted digest calculations) with some device/update combinations so users may be able to use this feature... Mileage is inconsistent but most are finding usually fails ATM it seems...

👀 PW
 
Last edited:

ephemunch

Senior Member
Oct 16, 2017
71
8
The latter method should always work (flashes current slot)... You shouldn't ever need the former option AFAIK (so it's not even mentioned in Installation Instruction page).

Flashing to inactive slot is only really used to preserve Magisk through an OTA and for devices supporting this a user flashes OTA and immediately uses inbuilt Magisk function (go to Magisk app → Install → Install to Inactive Slot) to install Magisk to the updated slot before any reboot (which swaps active slot) per:
https://github.com/topjohnwu/Magisk/blob/master/docs/ota.md#devices-with-ab-partitions

Nb. Install to Inactive Slot preservation method is broken for late Pixel 6 series updates and for Pixel 7 series (and likely other devices by now) due to new update engine partition digest checks marking installation w/ Magisk as corrupted before it will boot...

👀 PW
Thanks. So like the XDA-Instruction page said I need reflash bootloader and reroot Magisk/ Pixel 6A after every OTA of LineageOS 20/ Stock-ROM?
 

Lughnasadh

Senior Member
Mar 23, 2015
5,176
6,068
Google Nexus 5
Huawei Nexus 6P
Nb. Install to Inactive Slot preservation method is broken for late Pixel 6 series updates and for Pixel 7 series (and likely other devices by now) due to new update engine partition digest checks marking installation w/ Magisk as corrupted before it will boot...

👀 PW
Not completely broken as I explained here. More like hit or miss.
 

pndwal

Senior Member
Thanks. So like the XDA-Instruction page said I need reflash bootloader
Not sure what you mean here... If you mean unlock, then no... That's a one time thing unless you/your flashing software relocks it...
and reroot Magisk/ Pixel 6A after every OTA of LineageOS 20
Late LOS should preserve Magisk when updating from booted system as it supports addon.d v2 survival script.. Nb. this is a different Magisk preservation feature, maintained in Magisk by @osm0sis, only for custom ROMs...
You could try OTA preserve Magisk method if you're game (some still have success) but this no longer works consistently as mentioned above...

Most find they need to return images to stock, take OTA and reboot to new slot, then do initial root again as root was lost...

🤠 PW
 
Last edited:

pndwal

Senior Member
Not completely broken as I explained here. More like hit or miss.
Ah yes... It's the Alzheimer's you see...

I've edited my posts above... Thanks!

Pinging @ephemunch...

Alzheimers Magisk modders chant:
"What do we want? Better Magisk hiding!.... When do we want it........
Wait... when do we want what?..."


😃 PW
 

docluv01

Senior Member
Nov 23, 2010
360
34
Hey guys, have the latest magisk canary build sis systemless hosts enabled. i updated to the new adaway apk and I cant get past the syncing screen "Failed to sync". any suggestions? Some say its an issue with the latest magisk?
 

zgfg

Senior Member
Oct 10, 2016
8,996
6,736
Redmi K20 / Xiaomi Mi 9T
Xiaomi Mi 11 Ultra
Hey guys, have the latest magisk canary build sis systemless hosts enabled. i updated to the new adaway apk and I cant get past the syncing screen "Failed to sync". any suggestions? Some say its an issue with the latest magisk?
Unfortunately, it's kind of a trap and nobody reads in advance but later asks for help when in trouble

There are numerous posts during the last weeks that support for systemless modules (incl. Systemless hosts) is broken in Canary v25210, and the posts with instructions how to download and roll back (to avoid repeating the whole story)
 
Last edited:

docluv01

Senior Member
Nov 23, 2010
360
34
Unfortunately, it's kind of a trap and nobody reads in advance but later asks for help when in trouble

There are numerous posts during the last weeks that support for systemless modules (incl. Systemless hosts) is broken in Canary v25210, and the posts with instructions how to download and roll back (to avoid repeating the whole story)
my apologies, I will search
 

PieKnu

Member
Oct 22, 2019
11
4
24
Flensburg
Hello there,

my danish authority app "MitID" is stating that it is detecting a root.
Because of that I removed everything already 3 months ago and all was fine.

Now today, I had to face that MitID for some reason was stating I'm rooted.
Applist Detector which I still had installed, now for some reason states, that some "Sundry API from Magisk could be found"

Screenshot_20230330-112442.jpg

Anyone here who has a suggestion what that means and how I perhaps am able to fix that?
Already thanks in advance

Regards
Pierre
 

zgfg

Senior Member
Oct 10, 2016
8,996
6,736
Redmi K20 / Xiaomi Mi 9T
Xiaomi Mi 11 Ultra
Hello there,

my danish authority app "MitID" is stating that it is detecting a root.
Because of that I removed everything already 3 months ago and all was fine.

Now today, I had to face that MitID for some reason was stating I'm rooted.
Applist Detector which I still had installed, now for some reason states, that some "Sundry API from Magisk could be found"

View attachment 5876067

Anyone here who has a suggestion what that means and how I perhaps am able to fix that?
Already thanks in advance

Regards
Pierre
Screenshot tells that Applist Detector finds com.topjohnwu.magisk
- that is the Magisk app (you have to hide it by HMA)

However, no guarantee that it's the same what your MitID is complaining about (MitID maybe looks for something totally different, and/or you hid Magisk app from MitID but not from Applist Detector, etc)

Make sure you pass Basic and Device Integrity by Play Integrity API (that's not SafetyNet) and that MitID is in DenyList
 

PieKnu

Member
Oct 22, 2019
11
4
24
Flensburg
Screenshot tells that Applist Detector finds com.topjohnwu.magisk
- that is the Magisk app (you have to hide it by HMA)

However, no guarantee that it's the same what your MitID is complaining about (MitID maybe looks for something totally different, and/or you hid Magisk app from MitID but not from Applist Detector, etc)

Make sure you pass Basic and Device Integrity by Play Integrity API (that's not SafetyNet) and that MitID is in DenyList
Hey there, thanks for your reply.

Yea, but the weird thing is, that magisk app isn't installed anymore. and com.topjohnwu.magisk isn't being detected anywhere else.
The phone is unrootet.

and yea, MitID is prone to detect other things that might be the issue.

though the “PM Sundry API” was the only suspicious thing that came in my mind, hehe
 

Attachments

  • Screenshot_20230330-115446.jpg
    Screenshot_20230330-115446.jpg
    176.3 KB · Views: 40

zgfg

Senior Member
Oct 10, 2016
8,996
6,736
Redmi K20 / Xiaomi Mi 9T
Xiaomi Mi 11 Ultra
Hey there, thanks for your reply.

Yea, but the weird thing is, that magisk app isn't installed anymore. and com.topjohnwu.magisk isn't being detected anywhere else.
The phone is unrootet.

and yea, MitID is prone to detect other things that might be the issue.

though the “PM Sundry API” was the only suspicious thing that came in my mind, hehe
The phone is not rooted?

Did you really fully uninstall Magisk or just Magisk app (Magisk app is only the UI interface, like a manager)?

As I asked, make sure to pass Basic and Device Integrity by Play Integrity API checker (find on Playstore, you don't need Magisk to install from PlayStore and to test)

But you will not pass if your Bootloader is unlocked (uninstalling Magisk is not enough, you must not have custom ROM and you have to re-lock Bootloader)

Banking and similar apps first of all test Play Integrity - if you don't pass Play Integrity, do not expect your MitID would work
 

PieKnu

Member
Oct 22, 2019
11
4
24
Flensburg
The phone is not rooted?

Did you really fully uninstall Magisk or just Magisk app (Magisk app is only the UI interface, like a manager)?

As I asked, make sure to pass Basic and Device Integrity by Play Integrity API checker (find on Playstore, you don't need Magisk to install from PlayStore and to test)

But you will not pass if your Bootloader is unlocked (uninstalling Magisk is not enough, you must not have custom ROM and you have to re-lock Bootloader)

Banking and similar apps first of all test Play Integrity - if you don't pass Play Integrity, do not expect your MitID would work
Magisk is fully uninstalled. I usually have two boot images one stock and one rooted, which I swap around after needs. But I got to lazy and just went unrooted for a while now.

But good that u mention regarding Safety Net. I completely forgot about that part, that an unlocked bootloader makes it fail.

Thanks for your responses.
 
Last edited:
  • Like
Reactions: zgfg

elvrik

New member
Jul 19, 2016
2
0
Hey!
OnePlus 7 Pro | Oxygen 10.3.7.
Please, tell me how to be :C
Magisk was installed, and the Magisk manager (canary) was hidden by a version a little newer than 24314, then it pulled me in the manager itself to click update it, as a result, when it started, there was an endless dash "Update Magisk to complete the installation. Continue?" , and there was no access to it. I deleted it (I didn’t look at the version), now which of the canary / beta / stable I don’t try to install, he doesn’t see any root rights for the phone, that is, it writes that Magisk is not installed. How to be in such a situation?

Also i ll could try to unistall Magisk in TWRP , but i dosent know what a version of Magisk i have rn to use Unistall.zip, and i saw same situation at other forums , but reinstall magisk in TWRP doesnt help , cos hidden version doesnt same as regular , and when you did it it ll look like a 2 magisk at the same time or doesnt work at all :C
 

J.Michael

Recognized Contributor
Jan 20, 2018
1,829
2,086
Samsung Galaxy Tab A series
Hey!
OnePlus 7 Pro | Oxygen 10.3.7.
Please, tell me how to be :C
Magisk was installed, and the Magisk manager (canary) was hidden by a version a little newer than 24314, then it pulled me in the manager itself to click update it, as a result, when it started, there was an endless dash "Update Magisk to complete the installation. Continue?" , and there was no access to it. I deleted it (I didn’t look at the version), now which of the canary / beta / stable I don’t try to install, he doesn’t see any root rights for the phone, that is, it writes that Magisk is not installed. How to be in such a situation?

Also i ll could try to unistall Magisk in TWRP , but i dosent know what a version of Magisk i have rn to use Unistall.zip, and i saw same situation at other forums , but reinstall magisk in TWRP doesnt help , cos hidden version doesnt same as regular , and when you did it it ll look like a 2 magisk at the same time or doesnt work at all :C
Read a thousand posts. If only to learn what words people use in this thread.

Did you ever have Magisk installed? Stop looking for a way to uninstall Magisk. Look for your hidden Magisk manager app and delete *that*. Try rebooting. That might install a stub app for you -- since you don't know what version of Magisk you installed, noone can tell you for certain what its capabilities are.

Try running "magisk --help" from a command prompt in a terminal window on the phone. That might tell you if you have Magisk installed, and what version.
 

diehard2013

Senior Member
Feb 15, 2013
478
39
Samsung Galaxy Tab S7 / S7 Plus
folks,

thanks for your advice.

downgrade from alpha to 25.2 was succesful. First, I installed the app (25.2) , then booted into TWR. Finally, I flashed the zip file of 25.2.

One detail I missed was the fact that both managers, alpha and stable, were running simultaneously. I was under the impression that the installation of the stable apk would replace/overwrite the running alpha apk.

I did not wipe the config.
/data/adb/magisk.db remained untouched.

thx again.
 

Spartacus500

Senior Member
Nov 6, 2014
690
135
After today's TB checker app update from Google Play, the app is not working, any solution ?
 

Attachments

  • Screenshot_20230401-092848_Logcat Reader.jpg
    Screenshot_20230401-092848_Logcat Reader.jpg
    904.2 KB · Views: 55

Top Liked Posts

  • 2
    Continuing on the previous talk about /system/bin

    That folder serves to provide pre-installed Linux binaries and utilities (many are needed by the system itself, like during the booting to System), and that includes also the toybox tool-box, ie, the toybox binary and its applets (Linux utilities linked to the toybox binary)

    If I recall correctly, toybox comes already as part of AOSP, those utilities that are needed to run the AOSP build scripts (except for the compiler, linker, and so)

    Hence the pre-installed toybox with its applets built to AOSP are self-sufficient to rebuild the AOSP (that was like the agenda behind)

    Now, I'd like to ask those of you who are not afraid of Terminal emulator, to run the following commands to find about the toybox preinstalled to your ROMs

    Commands must be executed in the given order, since I define some variable ($TB), switch to a particular directory, and use them all till the end

    First we look if the toybox binary is preinstalled, where (full path), and for its version:
    Code:
    su
    TB=toybox
    which $TB
    ls -l $(which $TB)
    $TB --version
    
    # to learn more, read:
    $TB --help

    Expected output will be: /system/bin/toybox (maybe on some older ROMs /sbin/toybox ?!), v0.8.4-android or so (on my two phones)

    Btw the latest toybox is v0.8.9 from Jan 2023, see the official ToyBox site https://landley.net/toybox

    Now we extract the system folder/path where the toybox is installed, change to that directory and print the current path (pwd):
    Code:
    cd $(which $TB | rev | cut -c 7- | rev)
    pwd

    Observe that I used a trick: rev applet/utility to reverse the full path string (eg /system/bin/toybox to xobyot/nib/metsys/), then cut to cut all before the 7th character now counting from the beginning, (/nib/metsys/) and then rev to reverse it back (/system/bin/)

    That way I didn't need heavy artillery like sed or even awk (awk is not part of toybox and it requires additional toolbox like busybox) to cut off from the end but from the path/string with an unknown/variable length

    Now we look for the expected toybox utilities to be installed to the same directory (I'm looking for the utilities I'm just using: cut, grep, ls, pwd, wc, which; the others like cd and rev are provided by the shell itself, hence I don't need an additional tool-box like busybox and its applets)
    Code:
    ls -l cut
    ls -l grep
    ls -l ls
    ls -l pwd
    ls -l wc
    ls -l which

    They are expected to be linked to the toybox binary with chmod 755 or 744 (executable files), like:
    Code:
    lrwxrwxrwx 1 root root 6 1971-07-07 12:40 cut -> toybox
    lrwxrwxrwx 1 root root 6 1971-07-07 12:40 grep -> toybox
    lrwxrwxrwx 1 root root 6 1971-07-07 12:40 ls -> toybox
    lrwxrwxrwx 1 root root 6 1971-07-07 12:40 pwd -> toybox
    lrwxrwxrwx 1 root root 6 1971-07-07 12:40 wc -> toybox
    lrwxrwxrwx 1 root root 6 1971-07-07 12:40 which -> toybox

    Hence they can be called two ways, like:
    Code:
    toybox cut --help
    
    # or shorter, just:
    cut --help

    Now we list all files in this directory (line by line), grep (filter) for those having toybox in the line/string (either the toybox binary itself or applets linked to the toybox binary) and additionally filter from them those being the executable links (lrwx), and count the number of these filtered lines:
    Code:
    ls -l | grep $TB | grep lrwx | wc -l

    Expected result will be like 174 (latest toybox v0.8.9 can provide many more, 233 applets), meaning that we have the toybox binary with eg 174 its applets

    To summarize, we will use again the trick with reversing the lines/strings and cutting out their third fields (applet names) but counting the field ordinals from the (reversed) beginning, since the cut utility cannot count and cut from the end :)

    Eg, we have to extract the third field/word (applet name) counting from the end, eg: pwd, from the ls -l line/string ending with the known end part of the format like:
    ... pwd -> toybox

    hence we execute:
    Code:
    ls -l | grep $TB | grep lrwx | rev | cut -d ' ' -f 3 | rev

    Expected list of the pre-installed toybox applets will include: [ (aka the test utility), test, utilities mentioned above, and more like cat, chmod, echo, find, ln, gunzip, gzip, kill, mkdir, mount, printf, rm, rmdir, even sed, sleep, sort, touch, tar and so on:
    [
    acpi
    base64
    basename
    blockdev
    cal
    cat
    chattr
    chcon
    chgrp
    chmod
    chown
    chroot
    chrt
    cksum
    clear
    cmp
    comm
    cp
    cpio
    cut
    date
    dd
    devmem
    df
    diff
    dirname
    dmesg
    dos2unix
    du
    echo
    egrep
    env
    expand
    expr
    fallocate
    false
    fgrep
    file
    find
    flock
    fmt
    free
    fsync
    getconf
    getenforce
    grep
    groups
    gunzip
    gzip
    head
    hostname
    hwclock
    i2cdetect
    i2cdump
    i2cget
    i2cset
    iconv
    id
    ifconfig
    inotifyd
    insmod
    install
    ionice
    iorenice
    kill
    killall
    ln
    load_policy
    log
    logname
    losetup
    ls
    lsattr
    lsmod
    lsof
    lspci
    lsusb
    md5sum
    microcom
    mkdir
    mkfifo
    mknod
    mkswap
    mktemp
    modinfo
    more
    mount
    mountpoint
    mv
    nc
    netcat
    netstat
    nice
    nl
    nohup
    nproc
    nsenter
    od
    paste
    patch
    pgrep
    pidof
    pkill
    pmap
    printenv
    printf
    ps
    pwd
    readelf
    readlink
    realpath
    renice
    restorecon
    rm
    rmdir
    rmmod
    rtcwake
    runcon
    sed
    sendevent
    seq
    setenforce
    setsid
    sha1sum
    sha224sum
    sha256sum
    sha384sum
    sha512sum
    sleep
    sort
    split
    stat
    strings
    stty
    swapoff
    swapon
    sync
    sysctl
    tac
    tail
    tar
    taskset
    tee
    test
    time
    timeout
    top
    touch
    tr
    true
    truncate
    tty
    ulimit
    umount
    uname
    uniq
    unix2dos
    unlink
    unshare
    uptime
    usleep
    uudecode
    uuencode
    uuidgen
    vmstat
    watch
    wc
    which
    whoami
    xargs
    xxd
    yes
    zcat

    ---

    Finally, I would be interested to see from your ROMs - thanks in advance:

    - do you have toybox pre-installed
    - is it pre-installed to /system/bin or some other directory
    - which version (couple of years ago old v0.8.4 or maybe newer)
    - how many toybox executables are preinstalled in your ROM (174 or more or less)

    Hi

    fyi

    Bash:
    cd $(which $TB | rev | cut -c 7- | rev)

    rev is not installed per default (at least in the OmniROM) and that is ugly code ... better use something like this:

    Bash:
    TBP=$( which $TB )
    echo ${TBP%/*}       
    cd ${TBP%/*}

    and to list the symbolic links something like this:

    Bash:
    ls -l | cut -c50- | cut -f1 -d " "


    regards

    Bernd
    2
    I have rooted note 10+ SM-N976B with Magisk in order to recover old pictures. I have root and Magisk is able to grand SU permissions.
    Problem I have is that when using file recovery apps like Diskdigger it can't find a single file.
    All memory partitions seem to have been renamed. Example /dev/apnfitdolj.magisk/mirror/data instead of just data which is what it should be.
    Is there something I can do here as I lost a lot of memorable photos that I really want to recover.
    I haven't installed a custom recovery as recovery was already in the magisk file that was flashed.
    Would custom recovery resolve this?
    Where are you hoping to find these "lost" pictures?

    If you deleted them by accident, their space could have been overwritten by now.

    If they used to be accessible from a PC, they are probably in the area called /sdcard, unless they were on an external SD-card. If an external SD-card, remove it from your device and read it directly on a PC.

    If you want to know which partition is "/data", check the output of "mount". (My tablet has /dev/block/mmcblk0p69 mounted on /data) Or run a partition program like "fdisk -l". ("fdisk" is not in my toybox, but it is in @osm0sis' busybox.)

    If there is a good custom recovery for your device I don't think it offers you anything you don't have right now. It would just be a different way to run Android with root privilege. Unless something like TWRP can be counted on to not touch /data without being told to, which might be of some value to avoid overwriting any more of these pictures, assuming they were deleted.
    2
    It's a galaxy note 10+ with stock rom rooted with Magisk.
    You mention encryption. I haven't set up a screen unlock since rooting.
    Is it possible that if I set up a password to unlock the device that it'll decrypt these partitions enabling me to recover the photos?
    If you don't set unlock pin then Android uses some default but random/unique key it creates and secretly stores on the first reboot after factory resetting (formatting Internal storage).
    Since the Google constantly changes and improves protections/privacy with the new Android versions, it causes delays and takes additional efforts for TWRP developers to breake and to make TWRP to be also able to decrypt and read/write to Data and Internal storage

    It's all about protecting the user's data (that can be also now the photos of your children) in case of lost or stolen phone

    Therefore, whatever you do now will not help.(and Magisk and root cannot help you) to recover (random key used as default for encryption during your previous life, ie, before you factory reset the phone).
    And btw, unlocking BL usually includes the mandatory factory reset

    You had to regularly backup your data (photos are the most easiest part - connect the phone by USB cable to PC, use MTP and copy the /DCIM/Camera folder to PC) and specially before unlocking BL and/or factory resetting
    2
    Oh, maybe? The only one I re-installed was the Magisk built-in BusyBox since it said an update was available. The others were a simple enable.

    This had to be it, 1.0.5 made my device bootloop but once 1.0.6 was released all went back to normal.

    In fact, the changelog for 1.0.6 states that the release was to fix bootlooping devices

    My detective work is done, case solved
    1
    I have rooted note 10+ SM-N976B with Magisk in order to recover old pictures. I have root and Magisk is able to grand SU permissions.
    Problem I have is that when using file recovery apps like Diskdigger it can't find a single file.
    All memory partitions seem to have been renamed. Example /dev/apnfitdolj.magisk/mirror/data instead of just data which is what it should be.
    Is there something I can do here as I lost a lot of memorable photos that I really want to recover.
    I haven't installed a custom recovery as recovery was already in the magisk file that was flashed.
    Would custom recovery resolve this?
    Don't know your phone and ROM and a particular app you mention but I use MiXPlorer on my rooted phones and I can go with root to /data and read/write to all folders with no problem, and with no need to use any /dev mounts, mirrors or so

    Also, Internal memory is always /sdcard

    Like on PC, if folders were deleted, their space might have been overwritten

    Regarding to custom Recoveries, be aware that new Android versions (it has nothing with Magisk) encrypt Data and Internal storage, hence they can not recognize folders and files if they don't support decryption (you must enter your same Android unlock pin/pass), bcs it is an input parameter required for decryption
  • 8
    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.
    8
    Hello!
    How do you know?
    You must be an expert or something

    Nigerian-Meme.jpg 😜 PW
    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
    Hello together
    If I tick some apps in the denylist and leave magisk app, some apps untick it themself: Android Auto, Cell Broadcast Service, Google Services Framework, Networkmanager and Tethering. If you wondering why I hide this apps, I just hide all Apps from google. Are there any limitation of hide apps in the list?
    You are not supposed to "hide all apps", you are generally advised to hide as few apps as possible; hide an app only when necessary.

    I don't know whether "hide all apps from google" means "hide from Google all apps" or "hide any app you think was produced by Google", but both are bad ideas.

    In particular, hiding some Google processes can cripple Android.

    There have been posts about USNF or Shamiko (not necessarily both, I just don't remember the details) removing some Google process from the deny list because it (the module, USNF or Shamiko) handled that process specially. I do not remember reading about those other processes you say are getting unticked.
    6
    You guys still aren't using ASH_STANDALONE=1 which forces busybox to use its own applets above what's in the path. Either export it or specify it as a command prefix. It has to be Magisk's busybox or my SELinux busybox to have the patch required for standalone mode.

    export ASH_STANDALONE=1
    /data/adb/magisk/busybox ash /data/local/tmp/test2.sh

    or

    ASH_STANDALONE=1 /data/adb/magisk/busybox ash /data/local/tmp/test2.sh

    P.S. `` (backticks) are just a lazy way to suggest a code/command block since that's what they are when used in markdown, plus if copied whole directly to a shell it just dumps it into a subshell, like $() does, and unlike "".
  • 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