使用Magisk获取Android设备root权限
安装Magisk获取root权限
- Magisk 与另一款名为 Xposed 的神器有着高度的相似性,部分群体当中甚至还存在着「Magisk 框架」这样的说法。二者的工作机制都是「拦截」。
- Xposed 通过劫持 Android 系统的 zygote 进程来加载自定义功能,在应用运行之前就已经将我们需要的自定义内容强加在了系统进程当中。
- Magisk 通过挂载一个与系统文件相隔离的文件系统来加载自定义内容,为系统分区打开了一个通往平行世界的入口,所有改动在那个世界(Magisk 分区)里发生,在必要的时候却又可以被认为是(从系统分区的角度而言)没有发生过。
- 在手机上安装好MT管理器和MAGISK APP(https://github.com/topjohnwu/Magisk)
- 在电脑上下载FastBoot:https://mrzzoxo.lanzoui.com/iMbQkpf716j
链接:https://pan.baidu.com/s/1zCieymuZYaiTMOFao54xww?pwd=iiet 提取码:iiet
- 我们获得了 boot.img,并将它复制到了手机上。下面我们将用 Magisk App 修改这些镜像。(说明:https://sspai.com/post/67932)
- 打开Magisk 应用 > 安装 > 选择并修补一个文件 > 选择复制进去的 boot.img > 开始。等待滚动的命令行显示 All Done。
修改好的boot.img会被放到下载目录下,将他传回电脑中,使用fastboot进行安装。
在fastboot目录中打开命令行,使用命令安装它。
## 手机重启到 bootloader
adb reboot bootloader
## 如果 Ramdisk 为 yes
fastboot flash boot <修改后的 boot.img 路径>
## 刷入完成后重启
fastboot reboot
使用命令安装时,提示等待设备,使用命令行进入fastboot模式时可以直接进入,判断为驱动问题。
- 在设备管理器中查找到pixel 3 XL设备,确认驱动异常,搜索驱动程序进行更新
- 获取 Google USB 驱动程序https://developer.android.google.cn/studio/run/win-usb
- 驱动程序更新完成后,可正常获取设备
- 继续输入命令刷入img文件,如下显示表示完成
- fastboot reboot重启设备,等待设备重新启动,即可完成安装。
- adb shell连接到手机后,输入su,手机上会提示已被授予超级用户权限,之后使用都是root权限了。
- 常见问题,如果因为未知原因导致安装失败也不要怕,在步骤「获取 boot.img」是我们保留了一份原来的镜像,按照最后一步的,使用fastboot将原来的镜像重新刷回去就能正常开机。
- 如果因为安装了未知模块而翻车无法顺利进入系统,请先冷静下来:解决此类问题有一个万能的命令adb wait-for-device shell magisk --remove-modules ,此条指令将会在手机启动过程中生效。
安装MagiskHide隐藏Magisk
由于Root之后的权限问题,一些涉及版权、金融、通讯功能的程序会检测系统是否root,通过弹出警告乃至直接退出,还可能会对用户可获取的内容做一些限制,可以尝试使用 Magisk Hide 来针对这些 app 隐藏 Magisk 。
安装Zygisk隐藏Magisk(2022年2月7日)
新的系统版本无法继续使用老版本的Magisk,不得不使用alpha版或canary版的Magisk。新的Magisk版本(官方)中已经没有了MagiskHide,现在又来了个Zygisk。
Zygisk是什么?
说的都是废话,细的我也不懂。就看下面几条就完事了。
如果你使用Zygisk,那么Riru就无法使用,这样的话Lsposed也无法使用。不过Lsposed已经推出了Zygisk版本。
https://github.com/LSPosed/LSPosed/releases
Zygisk也能隐藏root,但是与MagiskHide的作用并不是相同的,把一个app添加到Zygisk排除列表中,这个app就检测不到Magisk和root了,但也无法使用Zygisk模块了。
添加到Zygisk排除列表里的app仍然能检测到Zygisk,只是检测不到Magisk和root。
https://www.bilibili.com/read/cv14287396
安装MagiskHide Props Config模块实现全局可调式
#使用magisk工具
adb shell //adb进入命令行模式
su //切换至超级用户
magisk resetprop ro.debuggable 1 //设置debuggable
stop;start; //一定要通过该方式重启
getprop ro.debuggable//查看是否已经变为1了
在Android真机上调试程序有一个前提,就是这个apk包必须有 debuggable=true 的属性才行。而除了自己开发的apk能够控制打包属性之外,其他的程序发行之后显然不会设这个值为 true 的(不然随随便便就能被Debug ,岂不是很没安全感 )。
为了调试这些第三方的apk,我们可以从整个手机系统入手,因为除了每个apk中的 debuggable 标志以外,这个标志还可以在系统中全局指定,换句话说,只要把系统里的 debuggable 值设为true,那么不管apk的这个属性是什么值 都可以被调试了。
https://www.cnblogs.com/codex/p/12250647.html
通过Magisk安装xposed框架
在23.1。安装完成后不要重启,紧接着搜索安装Magisk中搜索到的最新版,无法安装成功,只能去官网手动下载更新的版本最后安装https://www.jianshu.com/p/7ab0895c7549
================================================================
刷机后安装Magisk失败
刷机后使用fastboot安装Magisk修改后的boot.img,开机提示no command
可以刷回原boot.img,正常开机
- boot.img不能放在download文件夹下(修改后的boot.img文件保存目录)
本文来自博客园,作者:xyxyxyxyxyxy,转载请注明原文链接:https://www.cnblogs.com/my1127/p/16133653.html