As most Android enthusiasts will already be familiar with this exceptional app, Magisk is a tool that helps you root your Android smartphone by modifying your system partition without actually modifying it. It achieves this by saving the modifications in a file, somewhere other than your system partition, mounts it as a drive and tells the Linux kernel to virtually overlay your changes over the original files in your system partition. It quite a clever way for rooting Android all thanks to the brilliant devs behind the project. Today, Magisk 18.0 has been released and the app will keep on spreading its magic to Android devices.
Magisk 18.0 for Android: Most Prominent Changes?
- MagiskHide Improvements
Starting from v18, the process monitor matches component names instead of process names. Android allows app services to name their process arbitrarily, and many apps starting to use dedicated services to detect root; it used to require adding all of these service process names to the list to hide Magisk effectively. Component names have the format:
<package name>/<java class name>, which means we can always know which application spawned a given process.
- Path Changes
The name of the folder
/sbin/.coreis confusing and will no longer be used; it is replaced with
/sbin/.magisk. Another major change is the location to store general boot scripts. As these boot scripts should still run even if
magisk.imgis not mounted, they are moved out of
/data/adb/<stage>.d(stage is either
service). Say goodbye to stupid paths like
- Dropping Legacy Support
The next Magisk Manager upgrade (not this one) will only support v18+, please upgrade ASAP. Magisk Manager is always designed to be fully functional across a wide range of Magisk versions. However, to enforce full obfuscation, I will have to drop legacy support eventually.
- Modern C++ Code Base
Although this has nothing to do with the end user, tons of effort was done to migrate Magisk to a more modern C++ code base instead of the previous good plain old C. This makes the code easier to maintain and allows me to utilized many C++ language features.
Magisk 18.0 for Android Complete Changelog
- [General] Migrate all code base to C++
- [General] Modify database natively instead of going through Magisk Manager
- [General] Deprecate path /sbin/.core, please start using /sbin/.magisk
- [General] Boot scripts are moved from <magisk_img>/.core/<stage>.d to /data/adb/<stage>.d
- [General] Remove native systemless hosts (Magisk Manager is updated with a built-in systemless hosts module)
- [General] Allow module post-fs-data.sh scripts to disable/remove modules
- [MagiskHide] Use component names instead of process names as targets
- [MagiskHide] Add procfs protection on SDK 24+ (Nougat)
- [MagiskHide] Remove the folder /.backup to prevent detection
- [MagiskHide] Hide list is now stored in database instead of raw textfile in images
- [MagiskHide] Add “–status” option to CLI
- [MagiskHide] Stop unmounting non-custom related mount points
- [MagiskSU] Add FLAG_INCLUDE_STOPPED_PACKAGES in broadcasts to force wake Magisk Manager
- [MagiskSU] Fix a bug causing SIGWINCH not properly detected
- [MagiskPolicy] Support new av rules: type_change, type_member
- [MagiskPolicy] Remove all AUDITDENY rules after patching sepolicy to log all denies for debugging
- [MagiskBoot] Properly support extra_cmdline in boot headers
- [MagiskBoot] Try to repair broken v1 boot image headers
- [MagiskBoot] Add new CPIO command: “exists”
Download Magisk 18.0 for Android
Let me know in the comments if you have any questions.