Magisk General Support / Discussion

Search This thread

zgfg

Senior Member
Oct 10, 2016
9,639
7,501
Redmi K20 / Xiaomi Mi 9T
Xiaomi Mi 11
Continuing on the previous talk about /system/bin

That folder provides 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 to be executed by the toybox binary and 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 into the AOSP are self-sufficient to rebuild 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 | sed "s,/$TB$,,")
pwd

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, sed, 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 sed
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 sed -> 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 ^lr.x | 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 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, say: 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 ^lr.x | 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, 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)
 
Last edited:

bnsmb

Senior Member
Aug 22, 2017
309
179
Frankfurt
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
 

zgfg

Senior Member
Oct 10, 2016
9,639
7,501
Redmi K20 / Xiaomi Mi 9T
Xiaomi Mi 11
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
Given code was tried to be 'minimalistic' hence 'ugly' or not is subjective

Btw, some bashisms are not supported by other shells and eg, cannot be used in the scripts (customize.sh, post-fs-data.sh, service.sh, uninstall.sh in the modules since Magisk does not run them from the bash shell. And this was ad-hoc glued and based on the code Im using in the modules

Interesting if you don't have rev utility

Nevertheless, do you have toybox, in /system/bin, which version and how many applets if not a secret please
 
  • Like
Reactions: ipdev

bnsmb

Senior Member
Aug 22, 2017
309
179
Frankfurt
Given code was tried to be 'minimalistic' hence 'ugly' or not is subjective

Btw, some bashisms are not supported by other shells and eg, cannot be used in the scripts (customize.sh, post-fs-data.sh, service.sh, uninstall.sh in the modules since Magisk does not run them from the bash shell. And this was ad-hoc glued and based on the code Im using in the modules

Interesting if you don't have rev utility

Nevertheless, do you have toybox, in /system/bin, which version and how many applets if not a secret please
Code:
ASUS_I006D:/system/bin # getprop ro.system.build.fingerprint
asus/omni_zenfone8/zenfone8:13/TQ2A.230505.002.A1/26:user/release-keys
ASUS_I006D:/system/bin #


ASUS_I006D:/system/bin # ./toybox --version                                                                                                                                                  
toybox 0.8.6-android
ASUS_I006D:/system/bin #

ASUS_I006D:/system/bin # ls -l | grep toybox | awk '{ print $8 }' | wc -l                                                                                                                    
176
ASUS_I006D:/system/bin #

Code:
ASUS_I006D:/system/bin # ls -l | grep toybox | awk '{ print $8 }'                                                                                                                            
[
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
toybox
tr
true
truncate
tty
uclampset
ulimit
umount
uname
uniq
unix2dos
unlink
unshare
uptime
usleep
uudecode
uuencode
uuidgen
vmstat
watch
wc
which
whoami
xargs
xxd
yes
zcat
ASUS_I006D:/system/bin #
 
Last edited:
  • Like
Reactions: ipdev

Karl Brunton

Senior Member
May 6, 2014
177
34
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?
 

J.Michael

Recognized Contributor
Jan 20, 2018
2,058
2,457
Samsung Galaxy Tab A series
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.
 
  • Like
Reactions: ipdev and osm0sis

zgfg

Senior Member
Oct 10, 2016
9,639
7,501
Redmi K20 / Xiaomi Mi 9T
Xiaomi Mi 11
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
 
  • Like
Reactions: J.Michael

Karl Brunton

Senior Member
May 6, 2014
177
34
I upgraded to the Z fold 4 from the note 10+ and I didn't copy all pictures over before doing a factory reset on the device.
Thought I'd try rooting and recovery that way to get them back. You need root for apps like diskdigger to scan the root of the device.
Since unlocking bootloader and rooting not a single file is found.
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.
I upgraded to the Z fold 4 from the note 10+ and I didn't copy all pictures over before doing a factory reset on the device.
Thought I'd try rooting and recovery that way to get them back. You need root for apps like diskdigger to scan the root of the device.
Since unlocking bootloader and rooting not a single file is found.
It's the /data partition on the internal storage that is what im trying to recover from but seems to be without success. I'll be gutted if I've lost these photos forever as I had lots from the birth of my children along with many other memorable photos which unfortunately weren't backed up anywhere
 

Karl Brunton

Senior Member
May 6, 2014
177
34
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
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?
 

zgfg

Senior Member
Oct 10, 2016
9,639
7,501
Redmi K20 / Xiaomi Mi 9T
Xiaomi Mi 11
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
 
Last edited:

J.Michael

Recognized Contributor
Jan 20, 2018
2,058
2,457
Samsung Galaxy Tab A series
I upgraded to the Z fold 4 from the note 10+ and I didn't copy all pictures over before doing a factory reset on the device.
Thought I'd try rooting and recovery that way to get them back. You need root for apps like diskdigger to scan the root of the device.
Since unlocking bootloader and rooting not a single file is found.

I upgraded to the Z fold 4 from the note 10+ and I didn't copy all pictures over before doing a factory reset on the device.
Thought I'd try rooting and recovery that way to get them back. You need root for apps like diskdigger to scan the root of the device.
Since unlocking bootloader and rooting not a single file is found.
It's the /data partition on the internal storage that is what im trying to recover from but seems to be without success. I'll be gutted if I've lost these photos forever as I had lots from the birth of my children along with many other memorable photos which unfortunately weren't backed up anywhere
Have you checked your Google account? (Not on the phone, on a PC, in a browser.) If you let Google "sync" your phone, they might have backed up your pictures.

Otherwise, I would guess there is nothing for you to recover. Like @zgfg said, the "wipe data / factory reset" is intended to destroy the previous data. It's not likely Google left that data where an enterprising thief (or desperate father) could find it.
 

Karl Brunton

Senior Member
May 6, 2014
177
34
If you don't set unlock pin then Android uses some default but random/unique key creates and secretly stores on the first reboot after factory resetting (formatting Internal storage).
Since the constantly change and improve with the new Android versions, it causes delays and takes additional efforts for TWRP developers to breaker and to make TWRP to be also able to decrypt the 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 loosing or stoling a phone

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


You had to 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)
So due to random encryption keys there is no hope of recovering anything?
Wish I knew before.
What I need to know is can root be done without this problem?
A lot of what I've lost could be on my previous note 9 too (deleted obviously after factory reset) but I don't want to be stuck in the same situation.
Have you checked your Google account? (Not on the phone, on a PC, in a browser.) If you let Google "sync" your phone, they might have backed up your pictures.

Otherwise, I would guess there is nothing for you to recover. Like @zgfg said, the "wipe data / factory reset" is intended to destroy the previous data. It's not likely Google left that data where an enterprising thief (or desperate father) could find it.
This is true. Never used to be the case. I've had this issue in the past before the whole bootloader unlocking thing and a factory data reset when flashing new software still enabled you to recover deleted files.
Still never learnt my lesson. I never backup because I usually have way more than the standard 15gb to backup. I should really start regularly backing up files and photos, videos etc to my laptop really to prevent this issue in future.
 

zgfg

Senior Member
Oct 10, 2016
9,639
7,501
Redmi K20 / Xiaomi Mi 9T
Xiaomi Mi 11
So due to random encryption keys there is no hope of recovering anything?
Wish I knew before.
What I need to know is can root be done without this problem?
A lot of what I've lost could be on my previous note 9 too (deleted obviously after factory reset) but I don't want to be stuck in the same situation.

This is true. Never used to be the case. I've had this issue in the past before the whole bootloader unlocking thing and a factory data reset when flashing new software still enabled you to recover deleted files.
Still never learnt my lesson. I never backup because I usually have way more than the standard 15gb to backup. I should really start regularly backing up files and photos, videos etc to my laptop really to prevent this issue in future.
It has nothing to do with root - if by root you mean installing Magisk

It has with unlocking Bootloader - that triggers factory reset

And if you decide to switch to a custom ROM, and later to another custom ROM, every time you will also have to factory reset (when switching from one custom ROM to another, not when upgrading the same custom ROM - but again, that is not rooting, it has nothing to do with Magisk)

For all that you must have your Bootloader unlocked, but you unlock Bootloader only once, and later you may thousand times install and uninstall Magisk (that's really the rooting and un-rooting), but installing/uninstalling Magisk will not affect your data

IDK how is all that for Samsung but eg for Xiaomi, user is clearly warned that unlocking BL will immediately factory reset his Internal memory before he initiates the process. And he is warned once again the last moment right before pushing the 'red button'

And on all forums, guides, everywhere there are warnings bout

Hence if somebody still ignores all that, he clearly did not do his homework. And unfortunately, that's not really a topic for this Magisk thread (afaik, even the official Magisk Installation guide on GitHub describes that a precondition for installing a Magisk is the unlocked Bootloader. And that before unlocking BL, one has to backup the data he wants to save)
 
Last edited:
  • Like
Reactions: ipdev and J.Michael

Karl Brunton

Senior Member
May 6, 2014
177
34
It has nothing to do with root - if by root you mean installing Magisk

It has with unlocking Bootloader - that does factory reset

And if you decide to switch to a custom ROM, and later to another custom ROM, , every time you will also have to factory reset (when switching from one custom ROM to another, not when upgrading the same custom ROM - but again, that is not rooting, it has nothing to do with Magisk)

For all that you must have your Bootloader unlocked, but you unlock Bootloader only once, and after that you may thousand times install and uninstall Magisk (that's the rooting and unrooting), and installing/uninstalling Magisk will not affect your data

IDK how is all that for Samsung but eg for Xiaomi, user is clearly warned that unlocking BL will immediately factory reset his Internal memory. And he is warned once again the last moment right before pushing the 'red button'

And on all forums, guides, everywhere there are warnings bout

Hence if somebody still ignores all that, he clearly did not do his homework. And unfortunately, that's not really a topic for Magisk (afaik, even the official Magisk Installation guide on GitHub describes that a precondition for installing a Magisk is to have the unlocked Bootloader. And that before unlocking BL, one has to backup his data)
Sorry don't think I'm complaining at magisk for this because I'm not. What I am saying is that in the past when rooting etc, before bootloader unlocking was a thing factory reset never wiped all the data completely. Files were still recoverable. That's where I guess i was a bit naive, because I haven't rooted phones for a long long time I didn't realise that a factory reset now actually does completely destroy all data making nothing recoverable.
Apologies if my last reply came across the wrong way.
This is just something I was not expecting as when i last played with this sort of stuff a factory reset wasn't as in depth as it clearly is now
 
  • Like
Reactions: ipdev and J.Michael

zgfg

Senior Member
Oct 10, 2016
9,639
7,501
Redmi K20 / Xiaomi Mi 9T
Xiaomi Mi 11
Sorry don't think I'm complaining at magisk for this because I'm not. What I am saying is that in the past when rooting etc, before bootloader unlocking was a thing factory reset never wiped all the data completely. Files were still recoverable. That's where I guess i was a bit naive, because I haven't rooted phones for a long long time I didn't realise that a factory reset now actually does completely destroy all data making nothing recoverable.
Apologies if my last reply came across the wrong way.
This is just something I was not expecting as when i last played with this sort of stuff a factory reset wasn't as in depth as it clearly is now
Yeah but technologies constantly change. You probably jumped from some phone that was originally released with A9 or maybe even older Android version (hence actually a phone model several years old) to a phone based on A10 or A11 - everytime there is a technology shift and what was valid earlier, may be different for that newer generation 😒
 
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
 
Last edited:

duckdown

Senior Member
Feb 27, 2009
90
10
peel region
Google Pixel 2
This thing is so confusing, it's my first time using it and I'm finding it super complicated

I already have Lineage OS 20 installed on my Pixel 2 Walleye with unlocked bootloader

These installation instructions are atrocious. Why is this all so complicated and confusing?

I don't understand what I'm supposed to do. The Magisk APK is installed but what's with this patching stuff ?
 

pndwal

Senior Member
This thing is so confusing, it's my first time using it and I'm finding it super complicated

I already have Lineage OS 20 installed on my Pixel 2 Walleye with unlocked bootloader

These installation instructions are atrocious. Why is this all so complicated and confusing?
Are you referring to official GitHub Instruction page?

Generally that's sufficient and frankly covers the essentials in a logical and concise fashion.
I don't understand what I'm supposed to do. The Magisk APK is installed but what's with this patching stuff ?
Start at the top of that page...

Please ask here with specific points you want clarification on; We don't want to rehash general instructions here, but you should understand that the App is simply the Magisk package until you a) install it which gives you only the UI used to configure Magisk, patch boot images etc, and b) install Magisk itself by flashing the boot image patched to install magiskinit and binaries in ramdisk... 👍 PW
 
  • Like
Reactions: ipdev and J.Michael

Top Liked Posts

  • 3
    Question about shortcut for LSPosed (Parasitic manager)

    I remember in the good old days, LSPosed gave you the option to set shortcut to the home screen (or it did automatically), hence you were free to uninstall LSPosed app (for Parasitic manager functionality)

    I uninstalled and reinstalled LSPosed, and now I cannot set that shortcut anymore - I looked into the LSPosed manager settings, there is no option to set the shortcut

    And LSPosed app complains/suggests to use the shortcut (screenshot) but it doesn't set it?!

    ---

    Btw, I know that I can open LSPosed from the permanent notification (hence also no need to leave LSPosed app installed), but I do want to also have a shortcut on the home screen

    Btw, I have attached below screenshots for all settings (LSPosed and Android System), what must be allowed to have that permanent LSPosed notification active (once I disabled that notification in Android Systems and when I lost the shortcut, I had to spend time to find how to allow the notification back)
    I learned that I can get into the LSPosed manager by running this ...

    /system/bin/am start -c org.lsposed.manager.LAUNCH_MANAGER com.android.shell/.BugreportWarningActivity

    If you're using Tasker, you can create a task to invoke this via the "Run Shell" action, and then you can export that action as an apk file which will install a shortcut on your Home screen which runs that Tasker action.

    I did that, and I can now run that shortcut to get into the LSPosed manager, just like the parasitic manager lets us do.

    I'm guessing that there might be other utilities in addition to Tasker which also let us create shortcuts to run scripts like this.
    2
    Question about shortcut for LSPosed (Parasitic manager)

    I remember in the good old days, LSPosed gave you the option to set shortcut to the home screen (or it did automatically), hence you were free to uninstall LSPosed app (for Parasitic manager functionality)

    I uninstalled and reinstalled LSPosed, and now I cannot set that shortcut anymore - I looked into the LSPosed manager settings, there is no option to set the shortcut

    And LSPosed app complains/suggests to use the shortcut (screenshot) but it doesn't set it?!

    ---

    Btw, I know that I can open LSPosed from the permanent notification (hence also no need to leave LSPosed app installed), but I do want to also have a shortcut on the home screen

    Btw, I have attached below screenshots for all settings (LSPosed and Android System), what must be allowed to have that permanent LSPosed notification active (once I disabled that notification in Android Systems and when I lost the shortcut, I had to spend time to find how to allow the notification back)
    2
    Lsposed settings - force apps to show launcher icons
    2
    That will install the shortcut on the Home screen, which is probably fine for almost everyone.

    But I use Nova7 and I don't want that shortcut on the Home screen. I want to put it into one of the "app drawers" that Nova7 manages. But since it's only a shortcut and not a full-blown app, Nova7 won't let me me relocate it in that way.

    I know that's a just a limitation of the Nova7 launcher, but I'm not going to change launchers just because of this one issue.

    Anyone who shares some of my weird, idiocsyncratic preferenes for how to use Android and wants an actual app and not just a shortcut for invoking the LSPosed manager can try what I described above.
    Excellent to know - it works

    Create a file, eg:
    openLSPosed sh

    with the content:
    Code:
    #!/system/bin/sh
    su -c am start -c org.lsposed.manager.LAUNCH_MANAGER com.android.shell/.BugreportWarningActivity

    Save and execute from MiXplorer - see the screenshots
    2
    I learned that I can get into the LSPosed manager by running this ...

    /system/bin/am start -c org.lsposed.manager.LAUNCH_MANAGER com.android.shell/.BugreportWarningActivity

    If you're using Tasker, you can create a task to invoke this via the "Run Shell" action, and then you can export that action as an apk file which will install a shortcut on your Home screen which runs that Tasker action.

    I did that, and I can now run that shortcut to get into the LSPosed manager, just like the parasitic manager lets us do.

    I'm guessing that there might be other utilities in addition to Tasker which also let us create shortcuts to run scripts like this.
    Solved and answer myself right in the post above yours - I update LSPosed and the latest from TG has a button to install shortcut
  • 9
    Latest Magisk Stable:
    Release Notes

    2023.9.4 Magisk v26.3​

    v26.3​

    • [General] Fix device information detection script
    • [General] Update BusyBox to 1.36.1
    • [General] Update toolchain that produces broken arm32 executables
    • [App] Fix root service unable to bind on OnePlus devices
    https://topjohnwu.github.io/Magisk/releases/26300.html

    👍 PW
    8
    This illustrates why I always want to be able to use a device upon which TWRP (or perhaps OrangeFox) is functional. As long as I've taken a proper full nandroid backup of a previous working system, I can easily nandroid-restore that working system after an upgrade, if I wish.

    I am not happy with Google for continuing to "enhance" (ha ha!) Android as time goes on,
    Yeah... And Microsoft should have stayed with DOS, and maybe Windows as a DOS add-on!...
    thereby making it more and more difficult to get TWRP and OrangeFox working with newer Android versions.
    That's certainly NOT their intention...

    There's a lot to be said for new innovations and OEM requirements both in the mart of competitive commerce and for the value -added benefits to general Android users...

    Just as a few examples,
    • SAR/2SI enhancements allow for A/B partitioning and 'seamless' (streamed) delta OTA updates,
    • Shared blocks architecture allows for dynamic sup-super partitions which may be RO but are resizable with no unused space, upgradable to larger /system etc in future and space optimised/saving etc,
    • Project Treble (Android 8+)
    https://www.xda-developers.com/goog...ze-android-so-oems-can-update-devices-faster/
    modularised Android so that OEMs can serve Android updates more quickly by reducing OEM dependence on SoC vendors for every single OS update and introduced a new 'vendor interface' and Vendor Test Suite (VTS)... It also facilitated
    • The GSI Project (Android 9+)
    https://developer.android.com/topic/generic-system-image
    which allows app developers to install and run the latest Android Generic System Images to perform app testing on a variety of existing Android devices, and use GSIs from different Android OS release stages... Extra benefits include:
    - Broader test coverage on a greater set of real devices
    - More time to fix app compatibility issues
    - More opportunities to fix compatibility issues in Android that are reported by app developers
    • Project Mainline (Android 10+)
    https://www.xda-developers.com/android-q-project-mainline-security/
    (modules:)
    https://www.xda-developers.com/android-project-mainline-modules-explanation/
    expands on Treble's modularisation to further address fragmentation, adding Android Pony EXpress update packages to allow updating system modules (APEX includes all needed libraries, ART, HALs and precompiled code on addition to apps) through Google Play in Android 10 and 25 new modules with A11, as well as reducing how dependent Google is on OEMs for delivering security updates to key OS components. It also facilitated
    • The GKI Project (Android 11+)
    https://source.android.com/docs/core/architecture/kernel/generic-kernel-image
    with its Generic Kernel Image is an essential change aimed addressing the issue/costs of fragmentation which "has several negative effects on the Android community". GKI/Mainline reductions in fragmentation thus:
    - Make security updates less labor intensive
    - Allow merging Long-Term Supported updates
    - Removes factors that Inhibit Android platform release upgrades
    - Allows easier contribution of kernel changes back to upstream Linux

    So Treble and Mainline, with their GSI and GKI changes/requirements, are initiatives to facilitate easier updates for vendors, give incentive to support devices much longer, etc.

    Google is in the business of promoting it's mobile OS and producing development milestones that reduce costs, improve efficiency, lifecycle, specs etc for OEMs and end users in order to stay competitive, relevant, innovative and appealing... And they make major architectural changes for these reasons...

    They aren't in the game of "making it more and more difficult to get TWRP and OrangeFox working"; they appreciate these efforts but (quite reasonably) have the (different) priorities mentioned above...

    Just as with Magisk injection, there is much pressure on Dee's Troy and team (and other custom recovery teams) to get TWRP functioning properly, let alone to mount and decrypt user data with an ever changing Android architecture, but there are clearly more complex considerations than for simple Magisk injection... Even so, Google allows and even supports such custom mod efforts...

    Moreover it's not Google's fault that community projects like TeamWin find it difficult to devote the time, conscript the Devs or otherwise overcome obstacles needed to properly support new Android iterations... They actually supply clear documentation as part of AOSP for these changes to benefit all Android devs, whether OEMs, app makers or custom modders...

    I don't really know why TWRP has not progressed past Oct 2022 3.7.0 A12 base builds at this time despite the fact that 'Android 13 development had started' already, but the difficulty they have keeping up is not new... I note that everything there is still © 2014 to 2022, also that:
    TWRP development is done by roughly 4 people at this point. We also have a large support community with many people who are willing to answer questions and help people with their devices either through our Zulip channel or on forums like xda-developers.
    https://twrp.me/about/
    and that, just as when Dees Troy lamented that 'real life' was preventing TWRP keeping pace, the four base team members are still appealing for volunteers:
    We need your help! The bulk of TWRP work is done by a handful of people on a volunteer basis. We have pushed most of our device files to our github and we have a gerrit instance. If you have the ability, please help us maintain our official devices and/or add your device to our official device list. Thanks in advance!
    -----​

    Despite the difficulty the TWRP four have keeping up with the Google juggernaut, apparently many devices running A13+ have at least unofficial TWRP support with working decryption. Some won't allow permanent flashing but temp booting TWRP works nonetheless, and some have other issues...

    Re devices launched with Android 13:

    Just on Thursday, Dev @Nebrassy posted a TWRP build for OnePlus 11 which is apparently working despite some niggles:
    https://forum.xda-developers.com/t/recovery-12-unofficial-teamwin-recovery-project.4625181/

    This device has dedicated /recovery_a and /recovery_b partitions and Qualcomm SoC, and the Dev doesn't even own the device...

    For Pixel 7 series, the delay getting TWRP w/ decryption working seems to be Tensor SoC / device tree syncing and possibly StrongBox / KeyMint / Titan chip implementation(?) rather than general Android Architectural changes and initiatives.

    However, just yesterday @Wishmasterflo posted a test build of OrangeFox recovery (this is "synced with the latest Teamwin changes", and originally from a Dev who later joined LineageOS) for the Pixel 7a:
    https://forum.xda-developers.com/t/...g-thats-being-worked-on.4532237/post-88986509
    Nb. The Dev cannot test ATM as his device is still locked...

    Pixel 7a users: If someone tests and this works, I'm sure custom recovery support for Pixel 7 series devices will gain momentum...

    Takers?
    -----​

    ... FWIW, some modders will experiment/toy with the latest devices / Android versions as soon as they arrive... Others will stay with old tech because of affordability but migrate ASAP... Still others will refrain as long as possible, whether out of nostalgia or for other reasons...

    Similarly, some car drivers will migrate to EVs quickly... Others will when the price point is more agreeable... Still others will refrain as long as possible, and some will hanker for the ICE age with the smell of petrol and the roar of engines long after it's gone!

    Personally, despite not being able to afford a Tesla yet, I think auto makers in general have not moved to new tech nearly fast enough!...I expect them to continue to "enhance" transportation options as time goes on however... And I cannot be unhappy when phone market leaders adapt, innovate and move with the times either...

    Just might be able to get me a 2nd hand P7Pro now that the P8's in the wind, and wire a fast-charge outlet into the dash of the ol Ford Perfect... 😜 PW
    8
    I consider it to be unfair to define "modder" or "developer" as "anyone who dumps partitions/nandroid".
    <SNIP>

    <SNIP>
    Since it's not available without unlocking, 'anyone who dumps partitions / performs nandroid' has to agree to modify the device by unlocking which changes original product features including disabling security functions and other features... Then they generally install a custom (modified) recovery...😆
    <SNIP>
    I miss the days when I could just use adb to dump the data partition into an image file and flash it back. 😿️

    Better yet, when I could wipe system, install a different OS version and leave userdata alone.
    [The original Clean/Dirty flash install.] 🙃️

    As for the Cat and Mouse game...

    My money is on the Mice. 😜️
    "Look, sorry - are we talking about the little white furry things with the cheese fixation and women standing on tables screaming in early sixties sit coms?"

    Slartibartfast coughed politely.

    "These creatures you call mice, you see, they are not quite as they appear. They are merely the protrusion into our dimension of vast hyperintelligent pandimensional beings. The whole business with the cheese and the squeaking is just a front."
    ― Douglas Adams, The Hitchhiker's Guide to the Galaxy

    Cheers all. :cowboy:

    PS.
    I miss FlashFire.
    😥️
  • 1100
    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