Github Releases下载加速

使用提示
在项目页面复制网址即可 例如: https://github.com/topjohnwu/Magisk/
项目自述
keyboard_arrow_down

Downloads

This is not an officially supported Google product

Introduction

Magisk is a suite of open source software for customizing Android, supporting devices higher than Android 6.0.

Some highlight features:

  • MagiskSU: Provide root access for applications
  • Magisk Modules: Modify read-only partitions by installing modules
  • MagiskBoot: The most complete tool for unpacking and repacking Android boot images
  • Zygisk: Run code in every Android applications’ processes

Downloads

Github is the only source where you can get official Magisk information and downloads.

Bug Reports

Only bug reports from Debug builds will be accepted.

For installation issues, upload both boot image and install logs.

For Magisk issues, upload boot logcat or dmesg.

For Magisk app crashes, record and upload the logcat when the crash occurs.

Translation Contributions

Default string resources for the Magisk app and its stub APK are located here:

  • app/core/src/main/res/values/strings.xml
  • app/stub/src/main/res/values/strings.xml

Translate each and place them in the respective locations ([module]/src/main/res/values-[lang]/strings.xml).

License

Magisk, including all git submodules are free software:
you can redistribute it and/or modify it under the terms of the
GNU General Public License as published by the Free Software Foundation,
either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
Magisk v30.1
预发布版本
  • [Core] Fix bug in module mounting implementation
  • [MagiskSU] Add ability to restrict Linux capabilities even if running as root (uid=0)

Diffs to v29.0

  • [General] Various minor bug fixes
  • [Core] Migrate module implementation to Rust
  • [Core] Improve Magisk specific files injection logic
  • [MagiskBoot] Migrate compression code to Rust
  • [MagiskSU] Add ability to restrict Linux capabilities even if running as root (uid=0)

Full Changelog: here

Magisk v30.0
预发布版本
  • [General] Various minor bug fixes
  • [Core] Migrate module implementation to Rust
  • [Core] Improve Magisk specific files injection logic
  • [MagiskBoot] Migrate compression code to Rust

Full Changelog: here

Magisk v29.0
正式版

This release looks minor at the surface, however, the entire codebase has gone through significant refactoring and migration. The native code in Magisk used to be mainly C++, but several contributors and I have been steadily rewriting parts of the code in Rust since April 2022. After years of effort, the Rust-ification of the project slowly began picking up steam, and at the moment of this release, over 40% of the native code has been rewritten in Rust, with several major subsystem rewrites in the PR queue, planned to be merged for the next release.

Many might wonder, why introduce a new language to the project? My reason is actually not to reduce memory safety issues (although it is a nice side benefit), but to be able to develop Magisk using a more modern programming language. After using Rust for a while, it's clear to me that using Rust allows me to write more correct code and makes me happier compared to dealing with C++. People share the same sentiment as I do.

Changelog

  • [General] Massive internal refactoring and code migration
  • [App] Support downloading module zip files with XZ compression
  • [App] Disable app animations when system animations are disabled
  • [MagiskMount] Support systemlessly deleting files with modules using blank file nodes
  • [MagiskInit] Redesign sepolicy patching and injection logic
  • [MagiskSU] Better TTY/PTY support

Full Changelog: here

Magisk (b1dc47a0) (29001)
预发布版本
  • Sync with public release

Diffs to v29.0

N/A

Magisk (427a1ca4) (28104)
预发布版本
  • [MagiskInit] Fix 2SI on legacy SAR devices
  • [App] Disable app animations when system animations are disabled
  • [MagiskSU] Better TTY/PTY support

Diffs to v28.1

  • [General] Massive internal refactoring and code migration
  • [App] Support downloading module zip files with XZ compression
  • [App] Disable app animations when system animations are disabled
  • [MagiskMount] Support systemlessly deleting files with modules using blank file nodes
  • [MagiskInit] Redesign sepolicy patching and injection logic
  • [MagiskSU] Better TTY/PTY support
Magisk (1e3edb88) (28103)
预发布版本
  • [General] Massive internal refactoring and code migration
  • [App] Fix patching Samsung's AP tar firmware files
  • [MagiskInit] Redesign sepolicy patching and injection logic

Diffs to v28.1

  • [General] Massive internal refactoring and code migration
  • [App] Support downloading module zip files with XZ compression
  • [MagiskMount] Support systemlessly deleting files with modules using blank file nodes
  • [MagiskInit] Redesign sepolicy patching and injection logic
Magisk (b62835cb) (28102)
预发布版本

There are a LOT of internal refactoring and significantly more testing infrastructure in the Magisk project!

  • [App] Support downloading module zip files with XZ compression
  • [MagiskMount] Support systemlessly deleting files with modules using blank file nodes

Diffs to v28.1

  • [App] Support downloading module zip files with XZ compression
  • [MagiskMount] Support systemlessly deleting files with modules using blank file nodes
Magisk v28.1
正式版
  • [App] Fix stub APK download link
  • [App] Fix support for Android lower than 8.0
  • [General] Fix support for MTK Samsung devices
  • [MagiskInit] Fix a regression for 2SI devices
  • [MagiskPolicy] Fix a regression causing overlay.d replaced files to be not accessible

Full Changelog: here

发布文件
keyboard_arrow_down
Magisk (47cc532d) (28101)
预发布版本
  • Sync to public release

Diffs to v28.1

  • N/A
Magisk (895b5f6c) (28003)
预发布版本
  • Fix Samsung firmware AP tar patching

Diffs to v28.0

  • [App] Fix stub APK download link
  • [App] Fix support for Android lower than 8.0
  • [General] Fix support for MTK Samsung devices
  • [MagiskInit] Fix a regression for 2SI devices
  • [MagiskPolicy] Fix a regression causing overlay.d replaced files to be not accessible
Magisk (a34c04f9) (28002)
预发布版本
  • [App] Fix stub APK download link
  • [App] Fix support for Android lower than 8.0
  • [General] Fix support for MTK Samsung devices
  • [MagiskInit] Fix a regression for 2SI devices
  • [MagiskPolicy] Fix a regression causing overlay.d replaced files to be not accessible

Diffs to v28.0

  • [App] Fix stub APK download link
  • [App] Fix support for Android lower than 8.0
  • [General] Fix support for MTK Samsung devices
  • [MagiskInit] Fix a regression for 2SI devices
  • [MagiskPolicy] Fix a regression causing overlay.d replaced files to be not accessible
Magisk v28.0
正式版
  • [General] Support 16k page size
  • [General] Add basic support for RISC-V (not built in releases)
  • [General] Use a minimal libc to build static executables (magiskinit and magiskboot) for smaller sizes
  • [Core] Remove unnecessary mirror for magic mount
  • [Core] Update boot image detection logic to support more devices
  • [MagiskInit] Rewrite 2SI logic for injecting magiskinit as init
  • [MagiskInit] Update preinit partition detection
  • [Zygisk] Update internal JNI hooking implementation
  • [MagiskPolicy] Preserve sepolicy config flag after patching
  • [MagiskPolicy] Optimize patching rules to reduce the amount of new rules being injected
  • [DenyList] Support enforcing denylist when Zygisk is disabled
  • [Resetprop] Improve implementation to workaround several property modification detections
  • [Resetprop] Update to properly work with property overlays
  • [App] Major internal code refactoring
  • [App] Support patching Samsung firmware with images larger than 8GiB
  • [App] Use user-initiated job instead of foreground services on Android 14
  • [App] Support Android 13+ built-in per-app language preferences
  • [App] Add action.sh support to allow modules to define an action triggered from UI
  • [MagiskBoot] Support spliting kernel images without decompression
  • [MagiskBoot] Properly support vendor boot images
  • [MagiskBoot] Disable Samsung PROCA from kernel image

Full Changelog: here

发布文件
keyboard_arrow_down
Magisk (070719db) (28001)
预发布版本
  • Sync to public release

Diffs to v28.0

  • N/A
Magisk (4f18a66d) (27008)
预发布版本
  • [MagiskBoot] Disable Samsung PROCA from kernel image
  • [App] Add action.sh support to allow modules to define an action triggered from UI

Diffs to v27.0

  • [General] Support 16k page size
  • [General] Add baisc support for RISC-V (not built in releases)
  • [General] Use a minimal libc to build static executables (magiskinit and magiskboot) for smaller sizes
  • [Core] Remove unnecessary mirror for magic mount
  • [Core] Update boot image detection logic to support more devices
  • [MagiskInit] Rewrite 2SI logic for injecting magiskinit as init
  • [MagiskInit] Update preinit partition detection
  • [Zygisk] Update internal JNI hooking implementation
  • [MagiskPolicy] Preserve sepolicy config flag after patching
  • [MagiskPolicy] Optimize patching rules to reduce the amount of new rules being injected
  • [DenyList] Support enforcing denylist when Zygisk is disabled
  • [Resetprop] Improve implementation to workaround several property modification detections
  • [Resetprop] Update to properly work with property overlays
  • [App] Major internal code refactoring
  • [App] Support patching Samsung firmware with images larger than 8GiB
  • [App] Use user-initiated job instead of foreground services on Android 14
  • [App] Support Android 13+ built-in per-app language preferences
  • [App] Add action.sh support to allow modules to define an action triggered from UI
  • [MagiskBoot] Support spliting kernel images without decompression
  • [MagiskBoot] Properly support vendor boot images
  • [MagiskBoot] Disable Samsung PROCA from kernel image
Magisk (8e82113b) (27007)
预发布版本
  • [MagiskBoot] Properly support vendor boot images
  • [Core] Update boot image detection logic to support more devices

Diffs to v27.0

  • [General] Support 16k page size
  • [General] Add baisc support for RISC-V (not built in releases)
  • [General] Use a minimal libc to build static executables (magiskinit and magiskboot) for smaller sizes
  • [Core] Remove unnecessary mirror for magic mount
  • [Core] Update boot image detection logic to support more devices
  • [MagiskInit] Rewrite 2SI logic for injecting magiskinit as init
  • [MagiskInit] Update preinit partition detection
  • [Zygisk] Update internal JNI hooking implementation
  • [MagiskPolicy] Preserve sepolicy config flag after patching
  • [MagiskPolicy] Optimize patching rules to reduce the amount of new rules being injected
  • [DenyList] Support enforcing denylist when Zygisk is disabled
  • [Resetprop] Improve implementation to workaround several property modification detections
  • [Resetprop] Update to properly work with property overlays
  • [App] Major internal code refactoring
  • [App] Support patching Samsung firmware with images larger than 8GiB
  • [App] Use user-initiated job instead of foreground services on Android 14
  • [App] Support Android 13+ built-in per-app language preferences
  • [MagiskBoot] Support spliting kernel images without decompression
  • [MagiskBoot] Properly support vendor boot images
Magisk (0495468d) (27006)
预发布版本
  • [MagiskInit] Fix regression with sepolicy.rule loading

Diffs to v27.0

  • [General] Support 16k page size
  • [General] Add support for RISC-V
  • [General] Use a minimal libc to build static executables (magiskinit and magiskboot) for smaller sizes
  • [Core] Remove unnecessary mirror for magic mount
  • [MagiskInit] Rewrite 2SI logic for injecting magiskinit as init
  • [MagiskInit] Update preinit partition detection
  • [Zygisk] Update internal JNI hooking implementation
  • [MagiskPolicy] Preserve sepolicy config flag after patching
  • [MagiskPolicy] Optimize patching rules to reduce the amount of new rules being injected
  • [DenyList] Support enforcing denylist when Zygisk is disabled
  • [Resetprop] Improve implementation to workaround several property modification detections
  • [Resetprop] Update to properly work with property overlays
  • [App] Major internal code refactoring
  • [App] Support patching Samsung firmware with images larger than 8GiB
  • [App] Use user-initiated job instead of foreground services on Android 14
  • [App] Support Android 13+ built-in per-app language preferences
  • [MagiskBoot] Support spliting kernel images without decompression
Magisk (7b81e2d2) (27005)
预发布版本
  • [Zygisk] Update internal JNI hooking implementation
  • [MagiskInit] Update preinit partition detection

Diffs to v27.0

  • [General] Support 16k page size
  • [General] Add support for RISC-V
  • [General] Use a minimal libc to build static executables (magiskinit and magiskboot) for smaller sizes
  • [Core] Remove unnecessary mirror for magic mount
  • [MagiskInit] Rewrite 2SI logic for injecting magiskinit as init
  • [MagiskPolicy] Preserve sepolicy config flag after patching
  • [MagiskPolicy] Optimize patching rules to reduce the amount of new rules being injected
  • [DenyList] Support enforcing denylist when Zygisk is disabled
  • [Resetprop] Improve implementation to workaround several property modification detections
  • [Resetprop] Update to properly work with property overlays
  • [App] Major internal code refactoring
  • [App] Support patching Samsung firmware with images larger than 8GiB
  • [App] Use user-initiated job instead of foreground services on Android 14
  • [App] Support Android 13+ built-in per-app language preferences
  • [MagiskBoot] Support spliting kernel images without decompression
Magisk v27.0
正式版
  • [Zygisk] Introduce new code injection mechanism
  • [Zygisk] Support new signature introduced in U QPR2
  • [SEPolicy] Update libsepol to properly set some policy config bits
  • [MagiskBoot] Support compressing init so Magisk is installable on devices with small boot partitions
  • [ResetProp] Add new wait for property feature resetprop -w

Full Changelog: here

发布文件
keyboard_arrow_down
Magisk v26.4
正式版
  • [MagiskBoot] Don't pad zeros if signed boot image is larger
  • [MagiskPolicy] Fix genfscon and filename_trans
  • [MagiskPolicy] Fix bug in libsepol
  • [Zygisk] Fix and simplify file descriptor sanitization logic
  • [App] Prevent OOM when patching AP tarfiles
  • [App] Fix bug in device configuration detection
  • [Daemon] Fix certificate parsing of APKs
  • [General] Fix logging errors from C++ code being ignored

Full Changelog: here

发布文件
keyboard_arrow_down
Magisk 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

Full Changelog: here

发布文件
keyboard_arrow_down
Magisk v26.2
正式版
  • [MagiskBoot] Support extracting boot image from payload.bin
  • [MagiskBoot] Support cpio files containing character files
  • [MagiskBoot] Support listing cpio content
  • [MagiskBoot] Directly handle AVB 1.0 signing and verification without going through Java implementation
  • [Daemon] Make daemon socket a fixed path in MAGISKTMP
  • [resetprop] Support printing property context
  • [resetprop] Support only printing persistent properties from storage
  • [resetprop] Properly support setting persistent properties bypassing property_service
  • [MagiskSU] Support -g and -G options
  • [MagiskSU] Support switching mount namespace to PID with -t
  • [MagiskPolicy] Fix patching extended permissions
  • [MagiskPolicy] Support more syntax for extended permissions
  • [MagiskPolicy] Support printing out the loaded sepolicy rules
  • [App] Support patching boot image from ROM zips
  • [App] Properly preserve boot.img when patching Samsung firmware with init_boot.img

Full Changelog: here

发布文件
keyboard_arrow_down
Magisk v26.1
正式版

Changes from v26.0

  • [App] Fix crashing when revoking root permissions
  • [MagiskInit] Always prefer ext4 partitions over f2fs when selecting the pre-init partition
  • [General] Restore module files' context/owner/group from mirror. This is a regression introduced in v26.0

(The following is the same as v26.0 release notes)

Hey! Long time no see!

Bumping Minimum Android Version to 6.0

Magisk's support for Android Lollipop has been pretty broken for a while without it being noticed. Also, none of the active developers of Magisk have actual hardware to run Android Lollipop. We rely on using the official Android emulator for regression testing on older platforms, however Google never shipped a Lollipop emulator image with SELinux support, leaving us with no option but to drop Lollipop support since we don't feel comfortable supporting Android Lollipop without adequate testing.

New Magic Mount Implementation

Magic Mount, the feature that make modules modify partitions, has gone through a major rewrite. The existing implementation doesn't work well with OEMs injecting overlays into their system using overlayfs. The new implementation fundamentally changes how filesystem mirrors are created, giving us a more accurate clone of the unmodified filesystem.

New sepolicy.rule Implementation

Magisk allows modules to provide custom SELinux patches by including the file sepolicy.rule. Due to the complicated nature of SELinux patching, the compatibility of this functionality has been pretty spotty; many devices are not supported. In this release, a brand new pre-init partition detection mechanism has been designed to support even more devices. Due to complicated reasons, this detection mechanism cannot be performed in a custom recovery environment.

This means that any installation of Magisk v26+ using custom recovery will be incomplete; a subsequent re-installation through the Magisk app after booting up is required.

Zygisk Updates

The new Zygisk API v4 is now live! It comes with new features and a refined PLT function hook API. The implementaton of Zygisk has also gone through some major refactoring, including new code loading/unloading mechanisms and a new PLT function hook implementation.

Head over to the Zygisk Module Sample repository to check out the new API and documentation!

Full Changelog: here

Magisk v26.0
正式版

Hey! Long time no see!

Bumping Minimum Android Version to 6.0

Magisk's support for Android Lollipop has been pretty broken for a while without it being noticed. Also, none of the active developers of Magisk have actual hardware to run Android Lollipop. We rely on using the official Android emulator for regression testing on older platforms, however Google never shipped a Lollipop emulator image with SELinux support, leaving us with no option but to drop Lollipop support since we don't feel comfortable supporting Android Lollipop without adequate testing.

New Magic Mount Implementation

Magic Mount, the feature that make modules modify partitions, has gone through a major rewrite. The existing implementation doesn't work well with OEMs injecting overlays into their system using overlayfs. The new implementation fundamentally changes how filesystem mirrors are created, giving us a more accurate clone of the unmodified filesystem.

New sepolicy.rule Implementation

Magisk allows modules to provide custom SELinux patches by including the file sepolicy.rule. Due to the complicated nature of SELinux patching, the compatibility of this functionality has been pretty spotty; many devices are not supported. In this release, a brand new pre-init partition detection mechanism has been designed to support even more devices. Due to complicated reasons, this detection mechanism cannot be performed in a custom recovery environment.

This means that any installation of Magisk v26+ using custom recovery will be incomplete; a subsequent re-installation through the Magisk app after booting up is required.

Zygisk Updates

The new Zygisk API v4 is now live! It comes with new features and a refined PLT function hook API. The implementaton of Zygisk has also gone through some major refactoring, including new code loading/unloading mechanisms and a new PLT function hook implementation.

Head over to the Zygisk Module Sample repository to check out the new API and documentation!

Full Changelog: here

Magisk v25.2
正式版

Maintenance release fixing various issues.

  • [MagiskInit] Fix a potential issue when stub cpio is used
  • [MagiskInit] Fix reboot to recovery when stub cpio is used
  • [MagiskInit] Fix sepolicy.rules symlink for rootfs devices
  • [General] Better data encryption detection
  • [General] Move the whole logging infrastructure into Rust

Full Changelog: here

Magisk v25.1
正式版

v25.1 fixes some minor bugs over v25.0. The following are the same as v25.0 release notes.

Another major release! A lot of the changes aren't visible at the surface, but v25 is actually a really substantial upgrade!

MagiskInit Rewrite

A significant portion of magiskinit (the critical software that runs before your device boots up) is completely rewritten from scratch. Ever since Android introduced Project Treble in Android 8.0, Magisk has been constantly fighting against the increasingly complex partitioning and early mount setups of all kinds of devices, sometimes with weird OEM specific implementations. It got to a point that magiskinit had become so complicated that few people (including myself!) were aware of every detail, and maintaining this piece of software like this was clearly not sustainable. After many months of planning (yes, this whole re-architecture has been in my head for a long time) and some help from external contributors, a whole new sepolicy injection mechanism is introduced into Magisk, solving the "SELinux Problem" once and for all.

Since this is a full paradigm shift on how Magisk hot-patch the device at boot, several behaviors that many developers implicitly relied on might not exist. For example, Magisk no longer patches fstabs in most scenarios, which means AVB will remain intact; some custom kernels rely on AVB being stripped out for them by Magisk.

MagiskSU Security Enhancements

The superuser functionality of Magisk has not seen much changes ever since its introduction. v25 focuses on making root permission management more accurate and secure:

  • Add a whole new package tracking system to ensure malicious UID reuse attack cannot be performed
  • Properly support and implement the UX in the Magisk app for packages using sharedUserId
  • Enforce root manager APK signature verification to combat the rampant unofficial Magisk app "mods"

Many might not realize, but using a trusted, unmodified Magisk app is really important. Magisk's root daemon treats the Magisk app differently and gives it blanket root access without any restrictions. A modded Magisk app can potentially backdoor your device.

And in case some of you are about to put on your tin foil hats, this is not designed to "vendor lock-in"; the goal is to make sure your root management app comes from the same developer of the underlying root implementation. Magisk's build system allows custom distributors to use its own signing keys, and in addition, I am also providing official debug builds which skips any signature verification for development.

Full Changelog: here

Magisk v25.0
正式版

Another major release! A lot of the changes aren't visible at the surface, but v25 is actually a really substantial upgrade!

MagiskInit Rewrite

A significant portion of magiskinit (the critical software that runs before your device boots up) is completely rewritten from scratch. Ever since Android introduced Project Treble in Android 8.0, Magisk has been constantly fighting against the increasingly complex partitioning and early mount setups of all kinds of devices, sometimes with weird OEM specific implementations. It got to a point that magiskinit had become so complicated that few people (including myself!) were aware of every detail, and maintaining this piece of software like this was clearly not sustainable. After many months of planning (yes, this whole re-architecture has been in my head for a long time) and some help from external contributors, a whole new sepolicy injection mechanism is introduced into Magisk, solving the "SELinux Problem" once and for all.

Since this is a full paradigm shift on how Magisk hot-patch the device at boot, several behaviors that many developers implicitly relied on might not exist. For example, Magisk no longer patches fstabs in most scenarios, which means AVB will remain intact; some custom kernels rely on AVB being stripped out for them by Magisk.

MagiskSU Security Enhancements

The superuser functionality of Magisk has not seen much changes ever since its introduction. v25 focuses on making root permission management more accurate and secure:

  • Add a whole new package tracking system to ensure malicious UID reuse attack cannot be performed
  • Properly support and implement the UX in the Magisk app for packages using sharedUserId
  • Enforce root manager APK signature verification to combat the rampant unofficial Magisk app "mods"

Many might not realize, but using a trusted, unmodified Magisk app is really important. Magisk's root daemon treats the Magisk app differently and gives it blanket root access without any restrictions. A modded Magisk app can potentially backdoor your device.

And in case some of you are about to put on your tin foil hats, this is not designed to "vendor lock-in"; the goal is to make sure your root management app comes from the same developer of the underlying root implementation. Magisk's build system allows custom distributors to use its own signing keys, and in addition, I am also providing official debug builds which skips any signature verification for development.

Full Changelog: here

Magisk v24.3
正式版

For those coming from v24.1, check the full changelog for changes introduced in v24.2.

  • [General] Stop using getrandom syscall
  • [Zygisk] Update API to v3, adding new fields to AppSpecializeArgs
  • [App] Improve app repackaging installation workflow

Full Changelog: here

Magisk v24.2
正式版

Maintenance release fixing various issues.

  • [MagiskSU] Fix buffer overflow
  • [MagiskSU] Fix owner managed multiuser superuser settings
  • [MagiskSU] Fix command logging when using su -c <cmd>
  • [MagiskSU] Prevent su request indefinite blocking
  • [MagiskBoot] Support lz4_legacy archive with multiple magic
  • [MagiskBoot] Fix lz4_lg compression
  • [DenyList] Allow targeting processes running as system UID
  • [Zygisk] Workaround Samsung's "early zygote"
  • [Zygisk] Improved Zygisk loading mechanism
  • [Zygisk] Fix application UID tracking
  • [Zygisk] Fix improper umask being set in zygote
  • [App] Fix BusyBox execution test
  • [App] Improve stub loading mechanism
  • [App] Major app upgrade flow improvements
  • [General] Improve commandline error handling and messaging

Full Changelog: here

Magisk v24.1
正式版

For those coming from v24.0, v24.1 only has some minor app improvements. The following are copied from v24.0 release notes.

It has been a while since the last public release, long time no see! A personal update for those unaware: I am now working at Google on the Android Platform Security team. Without further ado, let's jump right into it!

MagiskHide Removal

I have lost interest in fighting this battle for quite a while; plus, the existing MagiskHide implementation is flawed in so many ways. Decoupling Magisk from root hiding is, in my opinion, beneficial to the community. Ever since my announcement on Twitter months ago, highly effective "root hiding" modules (much MUCH better than MagiskHide) has been flourishing, which again shows that people are way more capable than I am on this subject. So why not give those determined their time to shine, and let me focus on improving Magisk instead of drowning in the everlasting cat-and-mouse game 😉.

Sunsetting Magisk-Modules-Repo

Due to lack of time and maintenance, the centralized Magisk-Modules-Repo was frozen, and the functionality to download modules from the repo is removed in v24.0. As a supplement, module developers can now specify an updateJson URL in their modules. The Magisk app will use that to check, download, and install module updates.

Introducing Zygisk

Zygisk is Magisk in Zygote, the next big thing for Magisk! When this feature is enabled, a part of Magisk will run in the Zygote daemon process, allowing module developers to run code directly in every Android apps' processes. If you've heard of Riru, then Zygisk is inspired by that project and is functionally similar, though the implementation is quite different internally. I cannot wait to see what module developers can achieve using Zygisk!

Documentation

For developers, details about updateJson and building Zygisk modules can all be found in the updated documentation.

Full Changelog: here

Magisk v24.0
正式版

It has been a while since the last public release, long time no see! A personal update for those unaware: I am now working at Google on the Android Platform Security team. Without further ado, let's jump right into it!

MagiskHide Removal

I have lost interest in fighting this battle for quite a while; plus, the existing MagiskHide implementation is flawed in so many ways. Decoupling Magisk from root hiding is, in my opinion, beneficial to the community. Ever since my announcement on Twitter months ago, highly effective "root hiding" modules (much MUCH better than MagiskHide) has been flourishing, which again shows that people are way more capable than I am on this subject. So why not give those determined their time to shine, and let me focus on improving Magisk instead of drowning in the everlasting cat-and-mouse game 😉.

Sunsetting Magisk-Modules-Repo

Due to lack of time and maintenance, the centralized Magisk-Modules-Repo was frozen, and the functionality to download modules from the repo is removed in v24.0. As a supplement, module developers can now specify an updateJson URL in their modules. The Magisk app will use that to check, download, and install module updates.

Introducing Zygisk

Zygisk is Magisk in Zygote, the next big thing for Magisk! When this feature is enabled, a part of Magisk will run in the Zygote daemon process, allowing module developers to run code directly in every Android apps' processes. If you've heard of Riru, then Zygisk is inspired by that project and is functionally similar, though the implementation is quite different internally. I cannot wait to see what module developers can achieve using Zygisk!

Documentation

For developers, details about updateJson and building Zygisk modules can all be found in the updated documentation.

Full Changelog: here