什么是Magisk
Magisk本质是一个Android系统的开源工具,使用时以apk的形式安装在手机上,并通过自有的Systemless设计(不直接修改设备的/system分区)来获取系统的Root权限,该设计使得Magisk的使用更加方便,并且Magisk可以通过下载模块来提升用户的体验效果。
Magisk获取Root权限
1.解除设备锁(BL锁),例如小米手机可以通过进入fastboot模式,连接电脑使用ADB命令fastboot flashing unlock来解除设备锁;
2.准备当前系统的ROM,解压后找到boot.img或是init_boot.img文件;
3.安装Magisk,并打开Magisk应用,选择安装修补;

4.修补后会生成一个以Magisk开头的img文件,将其复制到电脑,并通过fastboot命令刷入修复后的镜像:
修补的是boot.img文件:fastboot flash boot magisk_patched-xxx.img
修补的是init_boot.img文件:./fastboot flash init_boot magisk_patched-xxxx.img
5.刷入修补文件后重启手机./fastboot reboot,开机后手机便已经获取了Root权限;
6.打开Magisk,安装Zygisk即可在Root权限下正常使用Magisk的功能。
Magisk风险
Magisk的大部分功能使用都是需要有Root权限的,这就意味着正常使用Magisk的环境下具有极大的风险,因为Root权限代表绝对控制权,具备以下风险
- 病毒侵扰,Magisk某些可下载的模块可能会带有木马或是其他恶意病毒,安装模块后会盗用设备上的支付密码、聊天记录、通讯录等敏感信息;
- 系统影响,安装的模块与系统版本不兼容,设备会无限重启,间接导致设备无法正常使用;
- 运行异常,某些Android应用是不允许在Root权限下运行的,获取Root权限后程序会运行失败。
针对运行异常的情况,Magisk还有一些模块具备绕过Root检测的功能,例如shamiko模块,便可以通过Magisk的隐藏列表让指定应用绕过Root权限的检测,该情况下对程序的风险极高,此时一个成熟的Android程序保护方案极为重要,可以保障程序的安全与价值。
Virbox Protector工具便对Magisk绕过Root检测的现象进行了处理,即便是用shamiko模块也无法绕过Root检测功能的检测,同时还可以结合dex加密、函数级别保护来全面保证程序安全性。