安卓Frida逆向与协议分析
上QQ阅读APP看书,第一时间看更新

1.3.2 ROOT

上一小节中,我们已经完成了Nexus 5X版本的刷机工作,此时获得的是一个全新的没有做任何操作的新机。开启测试机的开发者模式后,打开USB调试按钮,此时就可以使用ADB连接手机了。在这一节中将演示对Nexus 5X进行Root的过程。具体步骤如下:

要进行ROOT,首先需要将TWRP刷入Recovery分区。

TWRP(Team Win Recovery Project)是一个开放源码软件的定制Recovery映像,供基于安卓的设备使用,允许用户向第三方安装固件和备份当前的系统,通常在Root系统时安装。而Recovery指的是一种可以对安卓机内部的数据或系统进行修改的模式(类似于Windows PE或DOS),也指Android的Recovery分区。

由于笔者使用的是TWRP的官方镜像文件,这里提供TWRP对应的官方网址:https://twrp.me/Devices。在进入该网址后,选择对应型号的设备和相应版本的IMG镜像文件,比如这里先单击LG进入LG厂商的设备列表,选择LG Nexus 5X(bullhead),然后在Download Link这里选择对应的美版或者欧版,此处选择美版,也就是Primary(Americas),具体需要读者参考自己的手机类型进行选择。下载完成后,就可以选择不同版本的twrp-3.3.0-0-bullhead.img下载了,这里选择3.3.0版本的TWRP。

下载完毕后,如果在Nexus系列的手机上,还需要将TWRP刷入Recovery分区:使设备进入Bootloader界面,并使用Fastboot工具将TWRP镜像刷入Recovery分区。

在进入Bootloader界面后,按音量上下键直到页面出现Recovery mode字符串后,使用电源键确认进入Recovery恢复模式,这时就进入TWRP的界面了。

在进行步骤04之前,还需要使用adb命令将Root工具推送到测试机的/sdcard目录下。Root工具可以选择Magisk或者SuperSU,这里以Magisk为例。先从GitHub上Magisk的仓库的Release中下载新版的ZIP文件,网址为https://github.com/topjohnwu/Magisk/releases。注意选择Magisk,而不是Magisk Manager,笔者写作本书时,新版为Magisk-v20.4.zip。

如图1-16所示,在进入TWRP界面后,首先滑动最下方的按钮Swipe to Allow Modifications进入TWRP主界面。然后单击Install,此时会默认进入/sdcard目录,滑到最下方就能看到刚刚推送到手机上的Magisk-v20.4.zip。

图1-16 TWRP界面

如图1-17所示,单击Magisk-v20.4.zip,进入Install Zip界面,滑动Swipe to confirm Flash滑块,开始刷Magisk的流程,然后静待界面下方出现两个按钮,即代表Root完毕。

图1-17 刷Magisk

单击Reboot System按钮,重新启动系统,会发现手机应用中多了一个Magisk Manager,此时在Terminal中进入adb shell终端,输入su,会发现手机界面提示Root申请,单击“允许”后,手机的shell即可获得Root权限,如图1-18所示。命令执行结果如下:

至此,就完成了手机的Root工作。当然,使用SuperSU对设备进行Root的操作也是类似的,仅仅是将Magisk.zip换成SuperSU.zip而已,这里给出SuperSU的官方网址:https://supersuroot.org/。注意SuperSU的Root和Magisk的Root是冲突的,在进行SuperSU的Root之前,先要将Magisk卸载掉,这里的卸载不是简单地卸载Magisk Manger这个App,而是在Magisk Manger的主界面单击“卸载”按钮,从而还原原厂镜像,在还原后,就可以愉快地使用SuperSU进行Root了,如图1-19所示。

图1-18 Root申请

图1-19 卸载Magisk