此页面介绍了Magisk提供的系统工具,这些工具是引导镜像操作、SELinux策略修改、属性管理和超级用户访问的基本实用程序。这些命令行工具构成了Magisk功能的基础,并在安装、引导过程和系统修改过程中被广泛使用。
有关Magisk模块系统的信息,请参阅模块系统。
Magisk包含几个强大的命令行实用程序,用于处理Android系统修改的各个方面
| 工具 | 描述 |
|---|---|
magiskboot | 用于解包、重打包和修补的引导镜像操作实用程序 |
magiskinit | 在早期引导过程中替代init进程 |
magiskpolicy | SELinux策略修改工具 |
magisk | 具有各种子命令的主Magisk二进制文件 |
resetprop | (magisk的)系统属性操作实用程序 |
su | (magisk的)超级用户访问实用程序 |
这些工具协同工作,以实现Magisk的核心功能,同时保持对不同Android设备的稳定性和兼容性。
来源
Magisk系统工具是使用C/C++和Rust编写的原生二进制文件。大多数二进制文件通过libbase等共享库共享代码,并利用各种外部库来实现特定功能。
来源
magiskboot是一个多功能工具,用于处理引导镜像操作。它可以解包和重打包引导镜像,修改ramdisk cpio存档,修补DTB(设备树二进制文件),压缩/解压缩文件,以及签名/验证引导镜像。
magiskboot unpack <boot.img>
# Modifies extracted components
magiskboot repack <original_boot.img> [new_boot.img]
magiskboot cpio <cpio.img> [commands...]
CPIO命令允许您
magiskboot dtb <file> patch
此操作会从DTB fstab条目中移除校验和AVB验证,以允许系统修改。
MagiskBoot使用Rust编写,并包含C++组件以兼容。它依赖于多个库来执行压缩(libz、libbz2、lz4、xz)和用于签名/验证的加密操作。
来源
magiskinit是关键组件,它在早期引导阶段替换ramdisk中的init进程。它负责在Android的init进程开始之前设置Magisk环境。
initinit.rcinit以继续引导过程MagiskInit在Android引导过程的关键预init阶段运行
MagiskInit是用C++和Rust组件实现的。它需要在Android大部分初始化之前在最小环境中使用,这使其成为Magisk中最关键和最敏感的部分之一。
来源
magiskpolicy(也别名为supolicy,为兼容SuperSU)是用于修改SELinux策略的工具。它允许直接修补SELinux策略二进制文件或运行时策略。
magiskpolicy --magisk # Apply default Magisk rules
magiskpolicy --load FILE --save OUT # Load policy, modify it, save to file
magiskpolicy --live # Apply changes directly to running policy
MagiskPolicy提供了一种强大的语法来定义SELinux策略语句
allow domain target_type class permission_set
allowxperm domain target_type class operation xperm_set
permissive type
typeattribute type attribute
MagiskPolicy是用C++和Rust组件实现的。它通过libsepol库直接操作SELinux策略数据结构。
来源
Magisk二进制文件充当Magisk功能的主要命令行界面。它既是独立的实用程序,又是su和resetprop等其他小程序容器。
su和resetprop等小程序magisk -v # Show daemon version
magisk --install-module ZIP # Install a module
magisk --remove-modules # Remove all modules
magisk --daemon # Start Magisk daemon
magisk二进制文件使用C++和Rust组件实现,作为用户与Magisk核心功能交互的主要接口。
来源
Su Applet提供应用程序的超级用户访问权限。当应用程序请求root权限时会调用它,并处理身份验证和权限过程。
su # Start root shell
su -c "command" # Run command as root
su --mount-master # Run in global mount namespace
Su命令是Magisk二进制文件的Applet,并与Magisk守护进程交互以进行权限检查和会话设置。
来源
The resetprop applet is an advanced system property manipulation utility that goes beyond the capabilities of standard Android property tools like setprop.
ResetProp directly modifies the property area in memory (prop_area), bypassing the normal Android property service. This allows it to
setprop/data/propertyresetprop PROP VALUE # Set a property
resetprop -n PROP VALUE # Set without triggering events
resetprop -p PROP VALUE # Set persistent property
resetprop --delete PROP # Delete a property
ResetProp is implemented by extracting and modifying the system property handling code from AOSP, with custom patches to enable direct property area access.
来源
Magisk's system tools play critical roles throughout the Android boot process, enabling system modifications while preserving stability and functionality.
来源
Magisk system tools (particularly magiskboot) include comprehensive support for various compression formats, enabling compatibility with different boot image formats across devices.
| 格式 | 描述 | 支持 |
|---|---|---|
| gzip | Standard compression used in most boot images | 原生 |
| zopfli | Enhanced gzip-compatible compression | 原生 |
| xz | High compression ratio format | 原生 |
| lzma | Legacy high compression format | 原生 |
| bzip2 | Alternative compression format | 原生 |
| lz4 | Fast compression format | 原生 |
| lz4_legacy | LZ4 legacy format for older devices | 原生 |
| lz4_lg | LG-specific variant of LZ4 | 原生 |
The compression engine in magiskboot provides both compression and decompression capabilities, automatically detecting formats during decompression.
来源
All Magisk system tools feature command-line interfaces with extensive options for different operations
MagiskBoot provides commands for boot image manipulation, including
unpack/repack: Process boot imagescpio: Manipulate cpio archivesdtb: Modify device tree blobshexpatch: Binary patchingcompress/decompress: File compressionMagiskPolicy offers options for SELinux policy modification
--load: Load policy from file--save: Save modified policy--live: Apply changes to running kernel--magisk: Apply Magisk-specific rulesThe main Magisk binary includes various commands
-v, -V, -c--install-module, --remove-modules--daemon, --path, etc.These command-line interfaces provide powerful tools for advanced users and developers to interact with and customize the Android system through Magisk.
来源
刷新此 Wiki
最后索引时间2025 年 4 月 18 日(c8a16b)