Magisk-The Magic Mask for Android

Welcome to the Magisk Release / Announcement thread!
For all up-to-date info and links, please directly check Magisk’s GitHub Page



  • v20.3
    – [MagiskBoot] Fix lz4_legacy decompression
  • v20.2
    – [MagiskSU] Properly handle communication between daemon and application (root request prompt)
    – [MagiskInit] Fix logging in kmsg
    – [MagiskBoot] Support patching dtb/dtbo partition formats
    – [General] Support pre-init sepolicy patch in modules
    – [Scripts] Update magisk stock image backup format


  • [MagiskSU] Support component name agnostic communication (for stub APK)
  • [MagiskBoot] Set proper header_size in boot image headers (fix vbmeta error on Samsung devices)
  • [MagiskHide] Scan zygote multiple times
  • [MagiskInit] Support recovery images without /sbin/recovery binary. This will fix some A/B devices unable to boot to recovery after flashing Magisk
  • [General] Move acct to prevent daemon being killed
  • [General] Make sure “–remove-modules” will execute after removal
  • [MagiskBoot] Support inject/modify mnt_point value in DTB fstab
  • [MagiskBoot] Support patching QCDT
  • [MagiskBoot] Support patching DTBH
  • [MagiskBoot] Support patching PXA-DT
  • [MagiskInit] [2SI] Support non A/B setup (Android 10)
  • [MagiskHide] Fix bug that reject process names with “:”
  • [MagicMount] Fix a bug that cause /product mirror not created
  • [MagiskInit] [SAR] Boot system-as-root devices with system mounted as /
  • [MagiskInit] [2SI] Support 2-stage-init for A/B devices (Pixel 3 Android 10)
  • [MagiskInit] [initramfs] Delay sbin overlay creation to post-fs-data
  • [MagiskInit] [SARCompat] Old system-as-root implementation is deprecated, no more future changes
  • [MagiskInit] Add overlay.d support for root directory overlay for new system-as-root implementation
  • [MagiskSU] Unblock all signals in root shells (fix bash on Android)
  • [MagicMount] Support replacing files in /product
  • [MagiskHide] Support Android 10’s Zygote blastula pool
  • [MagiskHide] All random strings now also have random length
  • [MagiskBoot] Allow no recompression for ramdisk.cpio
  • [MagiskBoot] Support some weird Huawei boot images
  • [General] Add new “–remove-modules” command to remove modules without root in ADB shell
  • [General] Support Android 10 new APEX libraries (Project Mainline)
  • [MagiskHide] Hugely improve process monitor implementation, hopefully should no longer cause 100% CPU and daemon crashes
  • [MagiskInit] Wait for partitions to be ready for early mount, should fix bootloops on a handful of devices
  • [MagiskInit] Support EROFS used in EMUI 9.1
  • [MagiskSU] Properly implement mount namespace isolation
  • [MagiskBoot] Proper checksum calculation for header v2
  • [General] Fix uninstaller
  • [General] Fix bootloops on some devices with tmpfs mounting to /data
  • [MagiskInit] Add Kirin hi6250 support
  • [MagiskSU] Stop claiming device focus for su logging/notify if feasible
    This fix issues with users locking Magisk Manager with app lock, and prevent
    video apps get messed up when an app is requesting root in the background.
  • [General] Support recovery based Magisk
  • [General] Support Android Q Beta 2
  • [MagiskInit] New sbin overlay setup process for better compatibility
  • [MagiskInit] Allow long pressing volume up to boot to recovery in recovery mode
  • [MagicMount] Use proper system_root mirror
  • [MagicMount] Use self created device nodes for mirrors
  • [MagicMount] Do not allow adding new files/folders in partition root folder (e.g. /system or /vendor)
  • [General] Remove usage of magisk.img
  • [General] Add 64 bit magisk binary for native 64 bit support
  • [General] Support A only system-as-root devices that released with Android 9.0
  • [General] Support non EXT4 system and vendor partitions
  • [MagiskHide] Use Zygote ptracing for monitoring new processes
  • [MagiskHide] Targets are now per-application component
  • [MagiskInit] Support Android Q (no logical partition support yet!)
  • [MagiskPolicy] Support Android Q new split sepolicy setup
  • [MagiskInit] Move sbin overlay creation from main daemon post-fs-data to early-init
  • [General] Service scripts now run in parallel
  • [MagiskInit] Directly inject magisk services to init.rc
  • [General] Use lzma2 compressed ramdisk in extreme conditions
  • [MagicMount] Clone attributes from original file if exists
  • [MagiskSU] Use ACTION_REBOOT intent to workaround some OEM broadcast restrictions
  • [General] Use skip_mount instead of auto_mount: from opt-in to opt-out
  • [General] Support EMUI 9.0
  • [General] Support Kirin 960 devices
  • [General] Support down to Android 4.2
  • [General] Major code base modernization under-the-hood
  • [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 /.core/.d to /data/adb/.d
  • [General] Remove native systemless hosts (Magisk Manager is updated with a built-in systemless hosts module)
  • [General] Allow module 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”
  • [MagiskBoot] Support boot image header v1 (Pixel 3)
  • [MagiskSU] No more linked lists for caching su_info
  • [MagiskSU] Parse command-lines in client side and send only options to daemon
  • [MagiskSU] Early ACK to prevent client freezes and early denies
  • [Daemon] Prevent bootloops in situations where /data is mounted twice
  • [Daemon] Prevent logcat failures when /system/bin is magic mounting, could cause MagiskHide to fail
  • [Scripts] Switch hexpatch to remove Samsung Defex to a more general pattern
  • [Scripts] Update data encryption detection for better custom recovery support
  • [ResetProp] Update to AOSP upstream to support serialized system properties
  • [MagiskInit] Randomize Magisk service names to prevent detection (e.g. FGO)
  • [MagiskSU] New communication scheme to communicate with Magisk Manager
  • [General] Bring back install to inactive slot for OTAs on A/B devices
  • [Script] Remove system based root in addon.d
  • [Script] Add proper addon.d-v2 for preserving Magisk on custom ROMs on A/B devices
  • [Script] Enable KEEPVERITY when the device is using system_root_image
  • [Script] Add hexpatch to remove Samsung defex in new Oreo kernels
  • [Daemon] Support non ext4 filesystems for mirrors (system/vendor)
  • [MagiskSU] Make pts sockets always run in dev_pts secontext, providing all terminal emulator root shell the same power as adb shells
  • [MagiskHide] Kill all processes with same UID of the target to workaround OOS embryo optimization
  • [MagiskInit] Move all sepolicy patches pre-init to prevent Pixel 2 (XL) boot service breakdown
  • [Scripts] Fix boot image patching errors on Android P (workaround the strengthened seccomp)
  • [MagiskHide] Support hardlink based ns proc mnt (old kernel support)
  • [Daemon] Fix permission of /dev/null after logcat commands, fix ADB on EMUI
  • [Daemon] Log fatal errors only on debug builds
  • [MagiskInit] Detect early mount partname from fstab in device tree
  • [General] Add wrapper script to overcome weird LD_XXX flags set in apps
  • [General] Prevent bootloop when flashing Magisk after full wipe on FBE devices
  • [Scripts] Support patching DTB placed in extra sections in boot images (Samsung S9/S9+)
  • [Scripts] Add support for addon.d-v2 (untested)
  • [Scripts] Fix custom recovery console output in addon.d
  • [Scripts] Fallback to parsing sysfs for detecting block devices
  • [Daemon] Check whether a valid Magisk Manager is installed on boot, if not, install stub APK embedded in magiskinit
  • [Daemon] Check whether Magisk Manager is repackaged (hidden), and prevent malware from hijacking com.topjohnwu.magisk
  • [Daemon] Introduce new daemon: magisklogd, a dedicated daemon to handle all logcat related monitoring
  • [Daemon] Replace old invincible mode with handshake between magiskd and magisklogd, one will respwan the other if disconnected
  • [Daemon] Support GSI adbd bind mounting
  • [MagiskInit] Support detecting block names in upper case (Samsung)
  • [MagiskBoot] Check DTB headers to prevent false detections within kernel binary
  • [MagiskHide] Compare mount namespace with PPID to make sure the namespace is actually separated, fix root loss
  • [MagiskSU] Simplify su_info caching system, should use less resources and computing power
  • [MagiskSU] Reduce the amount of broadcasting to Magisk Manager
  • [ImgTool] Separate all ext4 image related operations to a new applet called “imgtool”
  • [ImgTool] Use precise free space calculation methods
  • [ImgTool] Use our own set of loop devices hidden along side with sbin tmpfs overlay. This not only eliminates another possible detection method, but also fixes apps that mount OBB files as loop devices (huge thanks to dev of Pzizz for reporting this issue)
  • [Daemon] Directly check logcat command instead of detecting logd, should fix logging and MagiskHide on several Samsung devices
  • [Daemon] Fix startup Magisk Manager APK installation on Android P
  • [MagiskPolicy] Switch from AOSP u:r:su:s0 to u:r:magisk:s0 to prevent conflicts
  • [MagiskPolicy] Remove unnecessary sepolicy rules to reduce security penalty
  • [Daemon] Massive re-design /sbin tmpfs overlay and daemon start up
  • [MagiskInit] Remove magiskinit_daemon, the actual magisk daemon (magiskd) shall handle everything itself
  • [Daemon] Remove post-fs stage as it is very limited and also will not work on A/B devices; replaced with simple mount in post-fs-data, which will run ASAP even before the daemon is started
  • [General] Remove all 64-bit binaries as there is no point in using them; all binaries are now 32-bit only.
    Some weirdly implemented root apps might break (e.g. Tasker, already reported to the developer), but it is not my fault
  • [resetprop] Add Protobuf encode/decode to support manipulating persist properties on Android P
  • [MagiskHide] Include app sub-services as hiding targets. This might significantly increase the amount of apps that could be properly hidden
  • [General] Remove symlinks used for backwards compatibility
  • [MagiskBoot] Fix a small size calculation bug
  • [General] Force use system binaries in handling ext4 images (fix module installation on Android P)
  • [MagiskHide] Change property state to disable if logd is disabled
  • [MagiskBoot] Fix MTK boot image packaging
  • [MagiskBoot] Add more Nook/Acclaim headers support
  • [MagiskBoot] Support unpacking DTB with empty kernel image
  • [MagiskBoot] Update high compression mode detection logic
  • [Daemon] Support new mke2fs tool on Android P
  • [resetprop] Support Android P new property context files
  • [MagiskPolicy] Add new rules for Android P
  • [MagiskInit] Support non skip_initramfs devices with slot suffix (Huawei Treble)
  • [MagiskPolicy] Add rules for Magisk Manager
  • [Compiler] Workaround an NDK compiler bug that causes bootloops
  • [MagiskBoot] Support Samsung PXA, DHTB header images
  • [MagiskBoot] Support ASUS blob images
  • [MagiskBoot] Support Nook Green Loader images
  • [MagiskBoot] Support pure ramdisk images
  • [MagiskInit] Prevent OnePlus angela sepolicy_debug from loading
  • [MagiskInit] Obfuscate Magisk socket entry to prevent detection and security
  • [Daemon] Fix subfolders in /sbin shadowed by overlay
  • [Daemon] Obfuscate binary names to prevent naive detections
  • [Daemon] Check logd before force trying to start logcat in a loop
  • [Daemon] Fix the bug that only one script would be executed in post-fs-data.d/service.d
  • [Daemon] Add MS_SILENT flag when mounting, should fix some devices that cannot mount magisk.img
  • [MagiskBoot] Fix potential segmentation fault when patching ramdisk, should fix some installation failures
  • [MagiskBoot] Fix dtb verity patches, should fix dm-verity bootloops on newer devices placing fstabs in dtb
  • [MagiskPolicy] Add new rules for proper Samsung support, should fix MagiskHide
  • [MagiskInit] Support non skip_initramfs devices using split sepolicies (e.g. Zenfone 4 Oreo)
  • [Daemon] Use specific logcat buffers, some devices does not support all log buffers
  • [scripts] Update scripts to double check whether boot slot is available, some devices set a boot slot without A/B partitions
  • [MagiskBoot] Fix faulty code in ramdisk patches which causes bootloops in some config and fstab format combos
  • [Daemon] Fix the bug that Magisk cannot properly detect /data encryption state
  • [Daemon] Add merging /cache/magisk.img and /data/adb/magisk_merge.img support
  • [Daemon] Update to upstream libsepol to support cutting edge split policy custom ROM cil compilations





© 版权声明
评论 抢沙发