众所周知,学校教室的希沃seewo一体机采用的是“安卓套PC”的思路。我们班级的型号为FC70ED,下面就来分享一下我们在这个魔改过的安卓系统里安装Magisk的折腾历程。
魔改后的系统
希沃为了更好满足教学和办公需要,以及防止破解(比如我们现在正在做的事),把他们家的安卓系统做得十分特殊,具体表现如下:
- 无法通过开机组合键进入Recovery或FASTBOOT模式(或者是我没有发现)
但可以通过adb reboot recovery
进入Recovery,却居然无法通过adb reboot bootloader
进入FASTBOOT,会卡在logo界面。进入自带的Recovery后可以发现这几乎就是一个安卓原生的Recovery,里边虽然有一个Reboot to Bootloader的选项,但是选择之后依然会卡在logo界面。 - 无法通过USB连接(或者是我没有发现)
前置有Type-C接口和USB-A OTG接口,侧边也有一个USB-A OTG接口,但是我们无论如何都无法使用内置的PC模块通过USB连接上进行调试。
最后,通过分析希沃的系统文件,我们发现可以通过adb connect 192.168.153.253
连接无线调试。 - 无Ramdisk
这也是很关键的一点,起初因我没有注意到无Ramdisk会给刷入Magisk带来多么大的影响,就导致走了许多弯路。 - 玩机资料匮乏
由于设备应用场景的特殊性,网上没有相关玩机资料可查,更不会有什么第三方Recovery这样的强大工具。我们唯一的技术支持可能是希沃的官方客服,虽然一些问题他们也无可奉告。
但是也有一些“后门”:
adb root
可用
固件为userdebug版本,这是我们成功刷入Magisk的关键。顺便提一下,adb remount
也是可用的。估计是希沃留的后门。😀- Bootloader未上锁
没有BL锁,感谢希沃。😀
手动刷入Magisk
准备阶段
其实最有参考价值的便是Magisk官方文档,网上再多的教程也不如它来的权威、实用。
由于没有Ramdisk,所以我们只能修补Recovery并替换。 (有vbmeta分区) 当初我们因为没有看到这句话,导致折腾时间明显加长。😂
接下来我们会在希沃内置PC上进行操作,请确保你已知晓并做好如下准备:
-
开启USB调试
你可以先通过连点版本号启用开发者选项,再在开发者选项中开启“USB调试”开关。 -
IP地址设置正确
要想通过希沃内置PC连接到安卓系统, 必须设置Windows中用于与安卓互通的Realtek网卡的IPv4地址为192.168.153.254
、子网掩码为255.255.255.0
,否则将无法连接。 值得注意的是,这在希沃出厂的Win10系统是已经配置好的,所以你大概率不需要再手动额外配置。但如果你重装了非希沃原厂映像(比如我全新安装了Windows 11),就必须手动设置这个IP地址。 -
将Platform-Tools添加到环境变量
如果你不想将其添加到环境变量,请确保在adb.exe
所在路径执行以下操作。
然后运行终端(或CMD)输入以下命令:
1 | adb connect 192.168.153.253 |
通过adb devices
检查是否已正常连接,若未正常连接,你可以通过adb kill-server
重启ADB后再试。 如果你尚未安装Magisk app,请在正常连接后通过adb install [Magisk APK路径]
来安装。
修补并替换Recovery
继续执行:
1 | adb root |
进入adb shell后,你可以输入whoami
来确保此时已经在使用root权限执行命令。
接下来在adb shell中继续执行:
1 | cd /dev |
查找命令返回的结果,可知Recovery挂载的路径:
1 | ./block/recovery |
经过校验,这三个路径的Recovery是完全相同的。我们把其中一个复制到/sdcard目录下备用:
1 | cp /dev/block/recovery /sdcard |
现在回到安卓通道,修补Recovery映像:
- 打开Magisk app
- 点击Magisk卡片旁的“安装”
- 勾选“安装到Recovery”,然后下一步。
- 点击“选择并修补一个文件”,通过希沃自带的文件管理选择
/sdcard/recovery
,然后开始。 - 等待Magisk提示完成,你会得到
/sdcard/Download/magisk_patched-[random_strings].img
文件,这是修补后的Recovery,其中的[random_strings]
是一个随机值。
现在再次回到PC终端的adb shell
,继续执行:
注意:请将[random_strings]
替换为实际的值!
1 | cp /sdcard/Download/magisk_patched-[random_strings].img /sdcard/recovery.img |
至此,我们已经完成了Recovery的修补和替换。如果此时执行adb reboot recovery
,设备并不会进入自带的Recovery,而是稍等片刻后再次出现开机动画。回到安卓通道,打开Magisk app,你会发现Magisk已经成功安装了。
修补并替换Boot
如果只修补并替换Recovery,那么在下一次安卓完全重启后,Recovery会回滚成设备自带的Recovery。如果在这之后再执行adb reboot recovery
,设备就会进入自带的Recovery,自然不会启用Magisk。所以我们还需要修补并替换Boot映像,操作与上文的修补并替换Recovery大同小异。
继续在adb shell
中执行:
1 | cd /dev |
查找命令返回的结果,可知Boot挂载的路径:
1 | ./block/boot |
经过校验,这三个路径的Boot是完全相同的。我们把其中一个复制到/sdcard目录下备用:
1 | cp /dev/block/boot /sdcard |
现在回到安卓通道,修补Boot映像:
- 打开Magisk app
- 点击Magisk卡片旁的“安装”
- 勾选“安装到Recovery”,然后下一步。
- 点击“选择并修补一个文件”,通过希沃自带的文件管理选择
/sdcard/boot
,然后开始。 - 等待Magisk提示完成,你会得到
/sdcard/Download/magisk_patched-[random_strings].img
文件,这是修补后的Boot,其中的[random_strings]
是一个随机值。
现在再次回到PC终端的adb shell
,继续执行:
注意:请将[random_strings]
替换为实际的值!
1 | cp /sdcard/Download/magisk_patched-[random_strings].img /sdcard/boot.img |
至此,我们已经完成了Boot的修补和替换。最后再执行:
1 | adb reboot recovery |
这时设备并不会进入自带的Recovery,而是稍等片刻后再次出现开机动画,并且安卓完全重启后Recovery也不会回滚。回到安卓通道,打开Magisk app,你会发现Magisk已经成功安装了。Enjoy! 😊🎉
注意:以后每次需要使用Magisk时,都必须先执行adb reboot recovery
才可启用Magisk。
便捷刷入Magisk
不想手动输入繁杂的命令?我写了一个程序帮助在此机型上快速刷入Magisk!
EasyMagisk for seewoFC70ED
当前最新版本:1.2 (2023/12/8)
下载链接: 蓝奏云[密码7530] GitHub
警告:
- 本程序为 seewo FC70ED 机型专用,请在希沃内置PC下运行本程序,非同款机型请慎重使用!
- 请仔细阅读并严格按照本程序的提示进行操作!
注意:
- 请将 Platform-Tools 添加到环境变量,或将
adb.exe
和AdbWinApi.dll
置于程序目录中 - 请设置 Windows 中用于与安卓互通的 Realtek 网卡的 IPv4 地址为
192.168.153.254
、子网掩码为255.255.255.0
- 请开启安卓的
USB调试
开关 - 请将 Magisk APK 安装包置于程序目录中并重命名为
Magisk.apk
,以便自动安装。
写在最后
本文于2023/12/8第3次修正。
有一点需要重视的是,当应用请求超级用户权限时,因为希沃自带侧边栏的遮挡,需要手动在Magisk设置中关闭“点按劫持保护”。如果你使用LSPosed和希沃自带桌面,你会发现希沃自带桌面也不支持添加LSPosed寄生器快捷方式,需要手动安装LSPosed Manager,模块运行正常。这一款安卓不支持运行64位软件。
另外我这里有从希沃官方获取到的这台型号的安卓固件和Windows镜像,以及安卓通过Windows联网的软件,有需要的小伙伴可以联系我。
Credits
Thank seewo.
Thank topjohnwu for providing Magisk.
Thank lostnc for providing Android的adb指令单刷boot、apk的方法.