|
本帖最后由 琪露诺 于 2024-5-23 23:27 编辑
朋友也是垃圾佬,送我了一个随身Wifi棒,拆解之后入下图所示:
板子上面显示版本是UFI-1_MAIN_V1.5,这东西网上找不到一丁点资料,发现屏蔽罩打开之后,芯片组是MDM8909,应该是高通骁龙210的。
把棒子直接插入带电脑,打开adb,可以通过- adb shell cat /proc/meminfo
复制代码 确定内存大致为512mb,显示储存大概是4G的样子,用户空间有1G出头的空余,还算是有点玩的余地。本身自带的系统是安卓5.1.1,网上目前没有高版本的安卓刷机包,也没有Linux类(Debian、OpenWrt等)等的,于是只能走Linuxdeploy那种chroot安装Linux发行版的路线。
下面介绍如何对这个Wifi棒进行root然后在Linuxdeploy的容器中安装Linux(Debian 10 Buster)的过程。
需要的Windows软件列表如下:
1. Miko pro,用于全flash备份以及救砖。
2. vivo的9008驱动。
3. scrcpy,用于投屏到PC。
4. adb,用于执行各种命令。软件1和3应该包含了。
5. fastboot,软件1包含了,在`C:\Program Files (x86)\miko_service_tool_pro\miko_service_tool_pro\adb`里。
软件1与2可以在下面这些个地方下载到:
1. https://mega.nz/folder/7LQw0axA#D1RAyf-bgwMBRICBSIiswg
2. 【123pan,密码5835】:https://wwra.lanzouf.com/b041ypumh
3. 【蓝凑网,密码:gao】https://www.123pan.com/s/m9vDVv-LTWyh
需要的安卓软件列表如下:
1. Magisk 25.2,用于root。必须使用25.2版本,因为再高版本的Magisk需要至少安卓6。
2. CX file explorer,一个文件管理器,用途是给Magisk提供文件选择框,不然选择不了文件。
3. Linuxdeploy,用于安装带root的Linux容器
4. Light Android Launcher,用于替代原本没啥用的wifihotspot作为新的launcher。
投屏准备工作
把棒子直接插入PC,之后运行看看能不能找到设备。如果可以的话继续运行如下代码把棒子那不存在的屏幕的分表率调高点:
- adb shell wm size 1280x720
复制代码
不然待会儿投屏了要瞎眼 。如果没有返回错误那么就可以用scrcpy投屏了。scrcpy的使用方法是直接双击,之后会出现一个窗口显示棒子的画面:
你会发现这东西居然没桌面(launcher)!别慌,现在科普下scrcpy的具体用法:
1. 按左alt+b或者鼠标右键是返回。
2. 按左alt+h或者鼠标中键是home。
3. 按左alt+s可以切换app。
4. 需要输入文字时,在pc的记事本之类的地方打好并ctrl+c,之后在srccpy里按左alt+v,然后长按需要填写的地方并选择粘贴即可。
全盘备份
在折腾之前线来一次全盘备份,这样变砖了也能救回来。首先需要安装Miko pro和9008驱动在PC上,然后在插入棒子的情况下执行如下命令来进入fastboot模式:
等待设备管理器出现9008这种串口之后,打开Miko pro,在Read选项卡中选择Partition Backup/Erase,然后直接点Read Full Image。选择保存位置之后等待即可。软件大概长这样,下面图是我盗别人的图,懒得截图了,不过大概信息是长这样的:
等备份完毕之后,可以拔掉棒子等5秒再插入,这样可以再次进入原来的安卓系统。
如果以后需要救砖,则需要使用Flash选项卡中的emmc block0 flasher,选择的镜像就是刚才备份的那个。备份出来的镜像包含bootloader,系统分区,用户数据,基带等一切信息。
使用Magisk进行root的话也会需要boot分区的镜像的,因此这一步必不可少。
获取Root权限
下面讲解如何获取Root权限。
首先使用adb一次性安装Magisk和CX file explorer,可使用来进行安装。可以先打adb install然后再把apk拖到cmd窗口里来补全命令。装完之后可以用如下命令查看已安装的第三方软件:
- adb shell pm list packages -3
复制代码 然后需要打开Magisk App并选择Magisk图标边上的Install按钮,不需要勾选任何额外选项,直接选择下载文件夹里那个xx.boot.img即可。因为没有Launcher,所以打开Magisk App也需要adb来进行:
- adb shell monkey -p com.topjohnwu.magisk -c android.intent.category.LAUNCHER 1
复制代码 在耐心等待Magisk处理xx.boot.img之后,其会在下载文件夹里生成一个破解过的img文件,我们需要把它转移回电脑里,同样使用adb:
- adb pull /sdcard/Download/magisk_patched-25200_u5MOx.img
复制代码 接下来我们只需要把这个img刷入boot分区即可完成root。首先需要再次进入fastboot模式,确认下Wifi棒子是否在fastboot模式以及其是否为唯一连接到PC的fastboot设备:
随后在pc上使用fastboot进行boot分区烧写:
- fastboot flash boot 在PC上到magisk_patched-25200_u5MOx.img的完整路径
复制代码 耐心等待完成后,重启进入安卓系统:
可以不停尝试运行scrcpy来确认是否进入安卓系统,如果超过1分钟还没有反应,则可以重新插拔一下。再不行就得救砖了,参考上面步骤。若能成功进入安卓,则此时已获得Root权限。
有一点比较意外的是,此时Magisk App再也打不开了,会卡那个面具logo。不过这并不影响我们使用root,比如在CX File Explorer里我们可以看见系统分区的文件:
- adb shell monkey -p com.cxinventor.file.explorer -c android.intent.category.LAUNCHER 1
复制代码
连接Wifi
首先使用adb打开Wifi设置:
- adb shell am start -a android.settings.WLAN_SETTINGS
复制代码
在这里面可以开启Wifi并且选择热点进行连接。值得注意的是每次开机之后默认都是热点模式,可能需要删掉自带的那个热点App才能做到开机自动连接Wifi网络。这里我选择禁用而不是删除它,因为是系统app,所以需要su之后才能禁用:
- root@msm8909:/ $ pm disable-user --user 0 com.smartship.wifihotspot
复制代码
直接禁用之后开机scrcpy会卡logo,设为自动运行的App也不会运行。为了解决这个问题,我们必须安装另一个launcher应用。
这里可以任意选择支持安卓5.1.1的launcher应用,可以使用hzy3774大佬自己写的launcher,也可以使用开源但是已经停止维护的Light Android Launcher。停止维护与否无所谓,因为我们后面也不太会用到它了,但是它必须得有,所以资源占用低才是关键。
使用root权限运行如下命令可以进行launcher的选择:
- root@msm8909:/ $ am start -a android.intent.action.MAIN
复制代码
安装Linux容器
首先使用`adb install`命令安装Linuxdeploy,方法与上面类似。这个软件需要root,因为没法使用Magisk App,我们只能在adb shell中手动修改Magisk的配置文件以确保Linuxdeploy任何时候都有root权限。首先在cmd里执行
这时会拿到一个棒子那边的shell,运行的命令都会在棒子上执行。首先我们进入root的shell,后面的命令都需要超级用户权限:
- shell<span id="kM0.20287436967899186">@</span>msm8909:/ $ su
复制代码 执行上面的命令之后,需要手动在scrcpy里点一下Grant来批准超级用户权限。随后我们需要确定下Linuxdeploy的用户id即uid(每次安装uid都可能不一样,所以不要直接复制我这里的示例命令):
- root@msm8909:/ $ cat /data/system/packages.list | grep linuxdeploy
复制代码 其中的10025即为Linuxdeploy的uid。随后我们需要修改magisk的配置文件:
- root@msm8909:/ $ magisk --sqlite 'REPLACE INTO policies (uid,policy,until,logging,notification) values(10025,2,0,1,1);'
复制代码 其中的2表示任何时候都允许uid=10025对应的app的超级用户权限请求。随后使用如下命令可以查看所有的Magisk规则:
- root@msm8909:/ $ magisk --sqlite 'select * from policies ;'
复制代码 为了之后不需要每次在shell里su都需要点scrcpy里的Grant,我们可以对shell进行同样操作(下面例子里其uid为2000):
- root@msm8909:/ $ cat /data/system/packages.list | grep com.android.shell
- com.android.shell 2000 0 /data/data/com.android.shell platform 3002,1028,1015,1023,3008
复制代码 现在使用如下adb命令打开Linuxdeploy:
- adb shell monkey -p ru.meefik.linuxdeploy -c android.intent.category.LAUNCHER 1
复制代码 随后按照Linuxdeploy标准用法安装Linux容器即可。这里推荐Linuxdeploy设置里开启开机自启。推荐使用Debian 10 Buster,因为Linuxdeploy提供的其他Debian都太老了。如果是高手也可以选择其他发行版。安装的时候架构记得选armhf,国内安装慢的话可以换国内的Debian repo源。镜像大小推荐512MB到768MB之间,分区格式选ext4,推荐开启ssh服务器。其他设置不太用动。设置好之后记得点配置按钮。
我使用了512MB的镜像文件大小,安装好后ssh进去可以看到资源占用情况如下:
- root@localhost:~# df -h
- Filesystem Size Used Avail Use% Mounted on
- /dev/block/loop0 488M 373M 80M 83% /
- tmpfs 192M 60K 192M 1% /dev
- tmpfs 198M 0 198M 0% /dev/shm
- root@localhost:~# free -h
- total used free shared buff/cache available
- Mem: 394Mi 241Mi 6.0Mi 0.0Ki 146Mi 142Mi
- Swap: 511Mi 50Mi 461Mi
复制代码
参考:
1. http://www.360doc6.net/wxarticlenew/1116290012.html
2. https://xdaforums.com/t/root-guide-install-root-without-recovery-adb-fastboot-magisk.4448933/
3. https://blog.csdn.net/github_38345754/article/details/125825636
4. https://topjohnwu.github.io/Magisk/install.html
5. https://xdaforums.com/t/how-to-enable-root-access-using-magisk-in-a-script.4527035/
额外推荐:
1. https://www.mydigit.cn/thread-294394-1-1.html
2. https://cloud.189.cn/web/share?code=IfmyemmeemQn
3. https://www.bilibili.com/video/BV1yP4y1w7zp/?vd_source=4efedd6d33271ad484f96d40f3704d8f
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
打赏
-
查看全部打赏
|