Magisk General Support / Discussion

Search This thread

ipdev

Recognized Contributor
Feb 14, 2016
1,745
1
2,946
Google Nexus 10
Nexus 7 (2013)

ipdev

Recognized Contributor
Feb 14, 2016
1,745
1
2,946
Google Nexus 10
Nexus 7 (2013)
Removed all the Samsung related props below ( Fixed the unexpected/sudden reboot for my device ).
ro.boot.warranty_bit
ro.warranty_bit
ro.vendor.boot.warranty_bit
ro.vendor.warranty_bit

Although I have no Samsung, I'm confused a bit

Doesn't USNF similarly play with the warranty bit props.
Don't you use USNF or do you have to similarly adapt it (or is there a special version for Samsung)?

Hence, what is your final/working configuration:
ro.boot.warranty_bit=
ro.warranty_bit=
ro.vendor.boot.warranty_bit=
ro.vendor.warranty_bit=

(given props not defined)

or:
ro.boot.warranty_bit=0
ro.warranty_bit=0
ro.vendor.boot.warranty_bit=0
ro.vendor.warranty_bit=0


or:
ro.boot.warranty_bit=1
ro.warranty_bit=1
ro.vendor.boot.warranty_bit=1
ro.vendor.warranty_bit=1
The USNF module includes the Basic sensitive props that need to be adjusted.
system.prop

It sets the props to the "safe" value on all devices.
No check if the prop exists or what value it is set to.
If the prop is not native to the device, it is added.
The next USNF release will also add ro.is_ever_orange=0 to every device.
I have been meaning to ask about it in the USNF thread. ;)

Example.
Pixel 5a (Stock Google).
[List of sensitive props]
ro.adb.secure=1
ro.boot.flash.locked=0
ro.boot.vbmeta.device_state=unlocked
ro.boot.verifiedbootstate=orange
ro.boot.veritymode=enforcing
ro.build.tags=release-keys
ro.build.type=user
ro.debuggable=0
ro.odm.build.tags=release-keys
ro.odm.build.type=user
ro.oem_unlock_supported=1
ro.product.build.tags=release-keys
ro.product.build.type=user
ro.secure=1
ro.system.build.tags=release-keys
ro.system.build.type=user
ro.vendor.build.tags=release-keys
ro.vendor.build.type=user

ro.adb.secure=1
ro.boot.flash.locked=1
ro.boot.vbmeta.device_state=locked
ro.boot.verifiedbootstate=green
ro.boot.veritymode=enforcing
ro.boot.warranty_bit=0
ro.build.tags=release-keys
ro.build.type=user
ro.debuggable=0
ro.odm.build.tags=release-keys
ro.odm.build.type=user
ro.oem_unlock_supported=1
ro.product.build.tags=release-keys
ro.product.build.type=user
ro.secure=1
ro.system.build.tags=release-keys
ro.system.build.type=user
ro.vendor.boot.warranty_bit=0
ro.vendor.build.tags=release-keys
ro.vendor.build.type=user
ro.vendor.warranty_bit=0
ro.warranty_bit=0
vendor.boot.vbmeta.device_state=locked
Additional props are in bold.

ro.adb.secure=1
ro.boot.flash.locked=1
ro.boot.vbmeta.device_state=locked
ro.boot.verifiedbootstate=green
ro.boot.veritymode=enforcing
ro.build.tags=release-keys
ro.build.type=user
ro.debuggable=0
ro.odm.build.tags=release-keys
ro.odm.build.type=user
ro.oem_unlock_supported=1
ro.product.build.tags=release-keys
ro.product.build.type=user
ro.secure=1
ro.system.build.tags=release-keys
ro.system.build.type=user
ro.vendor.build.tags=release-keys
ro.vendor.build.type=user
Prop values are adjusted. No additional props added.

Shamiko's service script should only adjust the value(s) if the prop exists and the value is different than the safe (expected) value.

Function
Code:
check_reset_prop() {
  local NAME=$1
  local EXPECTED=$2
  local VALUE=$(resetprop $NAME)
  [ -z $VALUE ] || [ $VALUE = $EXPECTED ] || resetprop $NAME $EXPECTED
}
Example
Code:
check_reset_prop "ro.boot.warranty_bit" "0"
NAME=ro.boot.warranty_bit
EXPECTED=0
VALUE=The current ro.boot.warranty_bit value of the device
Code:
[ -z $VALUE ] || [ $VALUE = $EXPECTED ] || resetprop $NAME $EXPECTED
If the current value is empty. (The prop does not exist.)
Do nothing.
or
If the current value is not empty.
If the current value is the same as the expected value.
Do nothing.
or
If the current value is not empty.
If the current value is not the same as the expected value.
Reset the prop to the expected value.

Not sure what @Eng.Raman setup is or why that part of the script is causing error and only with the Samsung prop values. :unsure:
Unless the values are being changed at the wrong time??

Might be Shamiko is checking and adjusting the props before USNF sets all the prop values. ??

If USNF sets the props before Shamiko checks the prop values, all the values should come back as expected and no changes will be made.

Cheers. :cowboy:
 
  • Like
Reactions: pndwal

pndwal

Senior Member
You still need to have Zygisk active to modify the denylist in the app.
You do not need Zygisk active to modify the list by command line.
You can populate the denylist once Magisk is active via CLI. 🙃

Cheers. :cowboy:
Ta; still looks like a concession in deference to Shamiko (requires / hides Zygisk, hijacks denylist)...

Wonder who he's referring to here!?:
John Wu, Jan 12

After taking a long break from Magisk for almost a month due to vacation + burnout, man it feels so good to work on Magisk again.

It reminded me why I created it in the first place and continue working on it after so many years.

And remember I mentioned that people are starting to contribute to Magisk's core components?

I'm extremely delighted to announce that finally after all these years, someone had grasped the intricacies of MagiskInit and *innovated* beyond myself.

Open source truly is wonderful!
www.twitter.com/topjohnwu/status/1481207454650146816

🙂 PW
 
  • Like
Reactions: BillGoss and ipdev

zgfg

Senior Member
Oct 10, 2016
7,164
4,616
You still need to have Zygisk active to modify the denylist in the app.
You do not need Zygisk active to modify the list by command line.
You can populate the denylist once Magisk is active via CLI. 🙃

Cheers. :cowboy:
It's not about Zygisk - Zygisk IS (assumed to be) ENABLED all the time

The fix is about Shamiko (Magisk module that hides Zygisk from being detected)

For Shamiko, Configure DenyList MUST BE DISABLED - and becuse of that you can not manipulate Configure DenyList (list, add, subtract) either through Magisk app nor through CLI.

However, Shamiko (taking the role of denying), REQUIRES that DenyList MUST BE properly CONFIGURED

Did you insrall Shamiko yourself?
Please install and shortly play with

Consider that you do have Shamiko installed (and everything configured).
And that you later want to add one more app to DenyList

Now, you cannot do it either through Magisk app nor through CLI , both because Enforce DenyList is already disabled

To be able to manipulate your DenyList, you need three steps:
- Enable Enforce DenyList
- Manipulate DenyList (through app or CLI)
- Disable again Enforce DenyList (because Shamiko requires that)

The fix will make it easier, making you able to manipulate DenyList (as a list of check-marked apps/processes) even when Enforce DenyList is disabled
 

Attachments

  • 1.jpg
    1.jpg
    136.3 KB · Views: 63
  • 2.jpg
    2.jpg
    108.9 KB · Views: 63
  • 3.jpg
    3.jpg
    74.1 KB · Views: 63
Last edited:
  • Like
Reactions: J.Michael and ipdev

pndwal

Senior Member
The USNF module includes the Basic sensitive props that need to be adjusted.
system.prop

It sets the props to the "safe" value on all devices.
No check if the prop exists or what value it is set to.
I think it is checked however; there may be a number of 'safe' values not altered?
https://forum.xda-developers.com/t/magisk-general-support-discussion.3432382/post-85804661
If the prop is not native to the device, it is added.
I didn't know this however! 👍
The next USNF release will also add ro.is_ever_orange=0 to every device.
I have been meaning to ask about it in the USNF thread. ;)
Thanks for heads up! 👍 PW
 
Last edited:
  • Like
Reactions: ipdev

pndwal

Senior Member
my curiosity led me to save full "getprop" log to compare:
a) S8-Hades ROM and MagiskHide enabled (alpha-3)
b) S8-Hades ROM and Zygisk+Shamiko enabled (alpha-3)

among others, I found this:

a) [init.svc.bootchecker]: [stopped]

b) [init.svc.bootchecker]: [running]

could this difference be relevant?
Nice spotting! Don't think I can add to your conclusions, but may be significant.

Comments from experienced log analyst(s)? 👍 PW
 

ipdev

Recognized Contributor
Feb 14, 2016
1,745
1
2,946
Google Nexus 10
Nexus 7 (2013)
It's not about Zygisk - Zygisk IS (assumed to be) ENABLED all the time

The fix is about Shamiko (Magisk module that hides Zygisk from being detected)

For Shamiko, Configure DenyList MUST BE DISABLED - and becuse of that you can not manipulate Configure DenyList (list, add, subtract) either through Magisk app nor through CLI.

However, Shamiko (taking the role of denying), REQUIRES that DenyList MUST BE properly CONFIGURED

Did you insrall Shamiko yourself?
Please install and shortly play with

Consider that you do have Shamiko installed (and everything configured).
And that you later want to add one more app to DenyList

Now, you cannot do it either through Magisk app nor through CLI , both because Enforce DenyList is already disabled

To be able to manipulate your DenyList, you need three steps:
- Enable Enforce DenyList
- Manipulate DenyList (through app or CLI)
- Disable again Enforce DenyList (because Shamiko requires that)

The fix will make it easier, making you able to manipulate DenyList (as a list of check-marked apps/processes) even when Enforce DenyList is disabled
As I mentioned before, I have a habbit of playing in my own world when it comes to Android devices.
I run to the left when everyone else runs to the right. 🙃

With this commit 76ddfeb9, you can modify the Denylist by CLI without Zygisk enabled or Denylist enforcing.

Using the Magisk app, you still need Zygisk active to be able to modify the Denylist (enforcing or not).
Plus what ever you want to add to the list needs to be installed before you can add it to the Denylist.
By CLI you can preload the list with what ever you want to add.
Installed or not.
Same as it was before with MagiskHide and the HideList.​

Cheers. :cowboy:

PS.
I run personal (snapshot) builds of Magisk.
I do not hide my GitHub account.
Anyone is free to peruse my account as they wish.

I do not promote my snapshot builds since it was against John's wishes.
[UNOFFICIAL] next version Magisk and MagiskManager snapshots - [xdaThread] - Link
 
Last edited:

bege10

Senior Member
May 26, 2018
217
52
Germany
Hello,
I saw that developers update their modules in the Magisk modules repo but that repo is not supported any more. Currently I stumble through Github to find updates.

The FoxMagiskModuleManager https://github.com/Fox2Code/FoxMagiskModuleManager supports also a second repo https://github.com/Magisk-Modules-Alt-Repo but that does not contain most of the modules of the official repo.

What do you do to keep the modules you have installed updated?
Could the module developers add their modules to the alternative repo? Or is there a convenient way for users to find updates?
 

zgfg

Senior Member
Oct 10, 2016
7,164
4,616
Hello,
I saw that developers update their modules in the Magisk modules repo but that repo is not supported any more. Currently I stumble through Github to find updates.

The FoxMagiskModuleManager https://github.com/Fox2Code/FoxMagiskModuleManager supports also a second repo https://github.com/Magisk-Modules-Alt-Repo but that does not contain most of the modules of the official repo.

What do you do to keep the modules you have installed updated?
Could the module developers add their modules to the alternative repo? Or is there a convenient way for users to find updates?
That's it as you described

Yeah, developers should submit their modules to the new repository - if it would/to become the 'de-facto official' new repo

Otherwise you need to search for/monitor the Github pages for particular modules (of your interest) or even subscribe to their update/distribution Telegram channels or so

That's the current situation
 
  • Like
Reactions: bege10

zgfg

Senior Member
Oct 10, 2016
7,164
4,616
Did anybody update to today's 76ddfebp Alpha from TG?

At the first glance I see no diff from 558710bb-3
 

Attachments

  • IMG_20220117_190844.jpg
    IMG_20220117_190844.jpg
    152.2 KB · Views: 38

traversone

Senior Member
Feb 18, 2019
161
53
Did anybody update to today's 76ddfebp Alpha from TG?

At the first glance I see no diff from 558710bb-3
this release fixes the installation on (some?) armeabi-v7 architecture, now the boot patching is successfull!

but on Hades ROM, Zygisk is still not properly hided.

No regression on other (already working) systems.
 

pndwal

Senior Member
Latest (Unofficial) Alpha (Chinese translated):

# alpha changelog

## Magisk (76ddfeb9-alpha)
- [App] Support SharedUserId
- [App] Delete backup file after restoring boot image
- [App] Built-in current version update log
- [App] Use local version when unable to download stub
- [App] Modern time API using Java 8
- [General] no longer automatically unlock device blocks
- [General] Use MagiskHide to hide when Zygisk is closed
- [App] Remove markdown rendering
- [General] Do not execute scripts that ignore loaded modules
- [App] Fix the second click of hide app button may not respond
- [App] Enhanced repair environment function
- [App] Support setting PATCHVBMETAFLAG flag to handle vbmeta in boot image
- [App] Compatible with Android 12L
- [MagiskInit] Refactor the processing method of two-step startup
- [General] Skip mirror overlayfs partition
- [App] Fix SnackBar popup position
- [App] Removed install to unused slot limit
- [MagiskBoot] Speed up zopfli compression
- [App] Patch image no longer affects the current environment when rooted
- [App] Avoid constantly checking the environment
- [General] Update to NDK 23
- [App] Minimum support Magisk 21.0
- [App] Support module to check for updates

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

# Upstream changelog

## Magisk (92546e8a) (23016)

- Fixed a possible AVB header misalignment
- Add new env variable `PATCHVBMETAFLAG` to configure whether vbmeta flags should be patched
- Only hijack `unshare` calls with `CLONE_NEWNS` bit set
- Improved support for devices with `oplus.fstab` (OnePlus/Oppo/Realme)
- Support loading fstab from `/system/etc` (Pixel 6 Dec. Patch)
- Various Magisk app fixes

## Diffs to v23.0

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

👍 PW
 

zgfg

Senior Member
Oct 10, 2016
7,164
4,616
## Magisk (558710bb-alpha-3)
- [App] Support SharedUserId
- [App] Delete backup file after restoring boot image
- [App] Built-in current version update log
- [App] Use local version when unable to download stub
- [App] Modern time API using Java 8
- [General] no longer automatically unlock device blocks
- [General] Use MagiskHide to hide when Zygisk is closed
- [App] Remove markdown rendering
- [General] Do not execute scripts that ignore loaded modules
- [App] Fix the second click of hide app button may not respond
- [App] Enhanced repair environment function
- [App] Support setting PATCHVBMETAFLAG flag to handle vbmeta in boot image
- [App] Compatible with Android 12L
- [MagiskInit] Refactor the processing method of two-step startup
- [General] Skip mirror overlayfs partition
- [MagiskInit] support handling force_debuggable flag
- [App] Fix SnackBar popup position
- [App] Removed install to unused slot limit
- [MagiskBoot] Speed up zopfli compression
- [App] Fixed not opening in some cases
- [App] Patch image no longer affects the current environment when rooted
- [App] Avoid constantly checking the environment
- [App] The output is displayed with the default font size when flashing
- [General] Forced not to install to recovery when ramdisk exists
- [General] Update to NDK 23

# Upstream changelog
## Magisk (92546e8a) (23016)
- Fixed a possible AVB header misalignment
- Add new env variable `PATCHVBMETAFLAG` to configure whether vbmeta flags should be patched
- Only hijack `unshare` calls with `CLONE_NEWNS` bit set
- Improved support for devices with `oplus.fstab` (OnePlus/Oppo/Realme)
- Support loading fstab from `/system/etc` (Pixel 6 Dec. Patch)
- Various Magisk app fixes

## Diffs to v23.0
- [General] MagiskHide is removed from Magisk
- [General] Support 64-bit only systems
- [General] Support Android 12
- [General] Update BusyBox to 1.34.1
- [Zygisk] Introduce new feature: Zygisk
- [Zygisk] Introduce DenyList feature to revert Magisk features in user selected processes
- [MagiskBoot] Support patching 32-bit kernel zImages
- [MagiskBoot] Support boot image header v4
- [MagiskBoot] Support patching out `skip_initramfs` from dtb bootargs
- [MagiskBoot] Add new env variable `PATCHVBMETAFLAG` to configure whether vbmeta flags should be patched
- [MagiskInit] Support loading fstab from `/system/etc` (required for Pixel 6)
- [MagiskInit] Support `/proc/bootconfig` for loading boot configurations
- [MagiskInit] Better support for some Meizu devices
- [MagiskInit] Better support for some OnePlus/Oppo/Realme devices
- [MagiskInit] Support `init.real` on some Sony devices
- [MagiskPolicy] Load `*_compat_cil_file` from system_ext
- [MagiskSU] Use isolated devpts if the kernel supports it
- [MagiskSU] Fix root shell if isolated mount namespace is set
- [resetprop] Deleted properties are now wiped from memory instead of just unlinking
- [App] Build a single APK for all ABIs
- [App] Switch to use standard bottom navigation bar
- [App] Downloading modules within the Magisk app is removed
## Magisk (76ddfeb9-alpha)
- [App] Support SharedUserId
- [App] Delete backup file after restoring boot image
- [App] Built-in current version update log
- [App] Use local version when unable to download stub
- [App] Modern time API using Java 8
- [General] no longer automatically unlock device blocks
- [General] Use MagiskHide to hide when Zygisk is closed
- [App] Remove markdown rendering
- [General] Do not execute scripts that ignore loaded modules
- [App] Fix the second click of hide app button may not respond
- [App] Enhanced repair environment function
- [App] Support setting PATCHVBMETAFLAG flag to handle vbmeta in boot image
- [App] Compatible with Android 12L
- [MagiskInit] Refactor the processing method of two-step startup
- [General] Skip mirror overlayfs partition
- [App] Fix SnackBar popup position
- [App] Removed install to unused slot limit
- [MagiskBoot] Speed up zopfli compression
- [App] Patch image no longer affects the current environment when rooted
- [App] Avoid constantly checking the environment
- [General] Update to NDK 23
- [App] Minimum support Magisk 21.0
- [App] Support module to check for updates

# Upstream changelog
## Magisk (92546e8a) (23016)
- Fixed a possible AVB header misalignment
- Add new env variable `PATCHVBMETAFLAG` to configure whether vbmeta flags should be patched
- Only hijack `unshare` calls with `CLONE_NEWNS` bit set
- Improved support for devices with `oplus.fstab` (OnePlus/Oppo/Realme)
- Support loading fstab from `/system/etc` (Pixel 6 Dec. Patch)
- Various Magisk app fixes

## Diffs to v23.0
- [General] MagiskHide is removed from Magisk
- [General] Support 64-bit only systems
- [General] Support Android 12
- [General] Update BusyBox to 1.34.1
- [Zygisk] Introduce new feature: Zygisk
- [Zygisk] Introduce DenyList feature to revert Magisk features in user selected processes
- [MagiskBoot] Support patching 32-bit kernel zImages
- [MagiskBoot] Support boot image header v4
- [MagiskBoot] Support patching out `skip_initramfs` from dtb bootargs
- [MagiskBoot] Add new env variable `PATCHVBMETAFLAG` to configure whether vbmeta flags should be patched
- [MagiskInit] Support loading fstab from `/system/etc` (required for Pixel 6)
- [MagiskInit] Support `/proc/bootconfig` for loading boot configurations
- [MagiskInit] Better support for some Meizu devices
- [MagiskInit] Better support for some OnePlus/Oppo/Realme devices
- [MagiskInit] Support `init.real` on some Sony devices
- [MagiskPolicy] Load `*_compat_cil_file` from system_ext
- [MagiskSU] Use isolated devpts if the kernel supports it
- [MagiskSU] Fix root shell if isolated mount namespace is set
- [resetprop] Deleted properties are now wiped from memory instead of just unlinking
- [App] Build a single APK for all ABIs
- [App] Switch to use standard bottom navigation bar
- [App] Downloading modules within the Magisk app is removed
Sorry, it's not your fault but frankly, those changelogs (for Alpha) are really of very limited use (problem is in the original ZH changelogs)

Compare the changlogs for previous 558710bb-alpha-3 and this new 76ddfeb9 - both posts quouted above

It's hard to see what exactly is new/changed in this latest release - 99% of items are repeated over and over for each new Alpha release

Several sections but no clear section /list what exactly is new/different in this 76ddfeb9 against the previous 558710bb-alpha-3

Or, am I missing something?
 
Last edited:

pndwal

Senior Member

pndwal

Senior Member
Sorry, it's not your fault but frankly, those changelogs (for Alpha) are really of very limited use (problem is in the original ZH changelogs)

Compare the changlogs for previous 558710bb-alpha-3 and this new 76ddfeb9 - both posts quouted above

It's hard to see what exactly is new/changed in this latest release - 99% of items are repeated over and over for each new Alpha release
Items are repeated until they are built in Canary or reverted (see below)... It's a cumulative changelog of current items exclusive to debug Alpha (for easy comparison to Canary). Many are for experimental Alpha features so will remain here / never make it to Canary...

New changes are the last, logically...
Several sections but no clear section /list what exactly is new/different in this 76ddfeb9 against the previous 558710bb-alpha-3
Alpha releases are usually synced with Canary and Release notes are designed to show 'Diffs to last Canary', not between infrequent additional Alpha builds...
Or, am I missing something?
Only that when multiple Alpha builds do occur between Canary builds the last changes usually represent total 'Diffs to last Alpha' as downstream changes are consistently listed in order. These include both vvb2060 additional commits and TJW commits not included in last Canary.

In this case it's been a good while since last Canary and vvb2060 has now made several Alpha builds in the interim, so the downstream list is longer than usual. The last 2 are the changes since the previous Alpha:

## Magisk (76ddfeb9-alpha)
- [App] Minimum support Magisk 21.0
- [App] Support module to check for updates

Nb. New changelog no longer mentions: '[App] Fixed not opening in some cases' even though the fix remains... Clearly that's because this was a minor patch in 558710bb-alpha-3 to fix 558710bb-alpha-2, and like many TJW commits it shouldn't be in changelogs going forward; only important changes are noted; many others (of minor importance) can be found by perusing commits.

Nb.2. 'Upstream Changelog' including 'Diffs to Stable/Beta' is simply last TJW Canary changelog reproduced.

😶 PW
 
Last edited:
  • Like
Reactions: Eng.Raman

pndwal

Senior Member
why is there no allowlist, i want to block all apps from knowing the device is rooted once.
Traditionally, hiding more than a few apps / processes made the system unstable due to restrictions on the hide daemon's passive reaction speed (to app processes). Also Webview and more are broken by indiscriminate hiding of Chrome etc:
- www.twitter.com/topjohnwu/status/1039528958289760256
- https://forum.xda-developers.com/t/magisk-general-support-discussion.3432382/post-84868359

Nb. The hiding elements retained by denyist may well have changed, ie hijacking app_process (Zygote) rather than simply monitoring these passively may now be used / possible with Zygisk and be faster / not face this restriction any longer. However I haven't checked code for this nor am I aware of comments by John about changes to the mechanism used here. Someone may care to comment further...

It's worth noting that vvb2060 did produce Magisk Lite builds using whitelist mode for some time. Lite however works entirety differently and sacrifices some functionality; it's experimental MagiskHide functions to hide isolated processes. - Magisk Lite has only SU function and does not provide full/normal support for modules. In Magisk in whitelist mode all applications are hidden by default, and only checked applications can obtain super user permissions.

Testing this solution seems to have stalled / Lite is deprecated... I think I posted re. latest here:
https://forum.xda-developers.com/t/magisk-general-support-discussion.3432382/post-85226953
- https://github.com/vvb2060/magisk_files/commits/master
- https://t.me/MagiskLite

🤠 PW
 
Last edited:
  • Like
Reactions: Lord Sithek

Top Liked Posts

  • There are no posts matching your filters.
  • 7
    Latest Shamiko:

    Shamiko v0.5.0

    0.5.0​

    • Better hiding Zygisk
    "... Momo enjoys helping Shamiko become stronger in all aspects despite Shamiko's goal of defeating her..."

    👍 PW
    6
    Latest Official TJW debug Canary Magisk:

    Magisk (985249c3) (24309)​

    Pixel 6 Android 13 Beta 2 support is here!

    • [App] Support requesting root from non app process
    • [App] Fix deadlocking a background thread on non-root devices
    • [MagiskInit] Support GKIs with no ramdisk (Pixel 6 Android 13)

    Diffs to v24.3​

    • [MagiskInit] Update 2SI implementation, significantly increase device compatibility (e.g. Sony Xperia devices)
    • [MagiskInit] Introduce new sepolicy injection mechanism
    • [MagiskInit] Support Oculus Go
    • [MagiskInit] Support GKIs with no ramdisk (Pixel 6 Android 13)
    • [App] [MagiskSU] Properly support apps using shared UID
    • [MagiskSU] Fix a possible crash in magiskd
    • [Zygisk] Fix function hooking on devices running Android 12 with old kernels
    • [BusyBox] Add workaround for devices running old kernels
    https://github.com/topjohnwu/magisk-files/blob/56da1fe5430b2c04701ce73d1658ba698ee92283/notes.md

    👍 PW
    6

    Latest Official TJW debug Canary Magisk:​

    Magisk (cc79a96f) (24307)​

    • [App] Update libsu with 100% new I/O layer
    • [MagiskInit] Mock enforce file with regular file to prevent possible race condition
    • Switch normal NDK with ONDK, preparing the toolchain to introduce Rust

    Diffs to v24.3​

    • [MagiskInit] Update 2SI implementation, significantly increase device compatibility (e.g. Sony Xperia devices)
    • [MagiskInit] Introduce new sepolicy injection mechanism
    • [MagiskInit] Support Oculus Go
    • [App] [MagiskSU] Properly support apps using shared UID
    • [MagiskSU] Fix a possible crash in magiskd
    • [Zygisk] Fix function hooking on devices running Android 12 with old kernels
    • [BusyBox] Add workaround for devices running old kernels
    https://github.com/topjohnwu/magisk-files/blob/a66dfce1bf88a70e86bf86c5427b1c58e71a4fc2/notes.md

    👍 PW
    6
    Looks like major libsu release is now imminent; most fixes are now merged.

    Should see major stability improvements in Magisk and root app implementation... Should see new commits for Magisk proper again soon too!

    John has made some major libsu changes (see libsu GitHub).

    Here are extra comments on vvb2060 fixes from her TG (Chinese translated....


    👀 PW
    libsu 5.0.0 is out!

    libsu/CHANGELOG.md

    5.0.0​

    Check the updated Javadoc and the example app for details on how to use the remote file system in the new nio module.

    New Features​

    • Introduce a new module: nio
      • Includes file system implementations for local and remote processes
      • New FileSystemManager class to access either local or remote file system implementations
      • New ExtendedFile class to extend functionality of the old Java File API
    • [core] New API Shell.isAppGrantedRoot() returns a nullable Boolean:
      • true if a root shell has been created
      • false if it has been determined that root access is impossible to get
      • null if the library has not, or could not determine the current root grant state. Future invocations of this method may return a non-null value if the library gained more information during shell creation.
    • [core] New API Shell.Builder.setContext(context): allow the developer to explicitly provide a Context object
    • [io] SuFile is updated to also extend ExtendedFile, which adds some new features and APIs

    Deprecation​

    • Version 5.0.0 will be the final release of the busybox module. If you cannot remove the usage of the module, you can pin the busybox module to version 5.0.0, as it is updated to be fully self contained, making it guaranteed to work with future libsu versions.
    • Usage of SuFile/SuFileOutputStream/SuFileInputStream/SuRandomAccessFile is discouraged. Although these APIs will remain for the foreseeable future, please migrate to use RootService + the nio module for all root I/O operations.
    • Shell.rootAccess() is deprecated. Please switch to use the more accurate Shell.isAppGrantedRoot() API

    John Wu, 2h

    Major libsu update 5.0.0!

    Introduces a new module "nio" to perform I/O operations through root services, moving away from the error prone, inefficient shell command backed I/O the library used to provide.

    It's already using splice under-the-hood. There is already some Linux magic!

    New readme etc. Read how you can Attach Debugger to Android Process in Root Services and more!
    https://github.com/topjohnwu/libsu

    👏👍🥳

    ... Back to regular Magisk programming... PW
    5

    Latest Official TJW debug Canary Magisk:​

    Magisk (42e5f515) (24308)​

    • Several minor bug fixes

    Diffs to v24.3​

    • [MagiskInit] Update 2SI implementation, significantly increase device compatibility (e.g. Sony Xperia devices)
    • [MagiskInit] Introduce new sepolicy injection mechanism
    • [MagiskInit] Support Oculus Go
    • [App] [MagiskSU] Properly support apps using shared UID
    • [MagiskSU] Fix a possible crash in magiskd
    • [Zygisk] Fix function hooking on devices running Android 12 with old kernels
    • [BusyBox] Add workaround for devices running old kernels
    https://github.com/topjohnwu/magisk-files/blob/ba1cf1081e1fe6fce7fda626dfdb0a0faab27d4e/notes.md

    👍 PW
  • 1077
    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