注:本文用到的工具和步骤均为XDA论坛及作者所有。
原理:通过某个版本固件已知得临时ROOT漏洞来获取分区读写权限,从而使用dd命令备份各系统分区。
漏洞详情:CVE-2017-7533
这是由Google 用2017-12-05安全补丁程序级别修补的
首先下载 XDA论坛 中的强刷包:
- Sony Xperia XZ1 Compact (G8441) Xperia XZ1 Compact (G8441) 47.1.A.2.324_CE1,47.1.A.8.49_CE1 (initial tested by @tramtrist, this release tested by @tanapoom1234 )
- Sony Xperia XZ1 (G8341/G8343) (G8341/G8343)
47.1.A.2.324_CE1 (tested by @HandyMenny ) - Sony Xperia XZ1 Dual (G8342) Dual (G8342)
47.1.A.2.281_CE1 (tested by @Vildanoff) - 索尼Xperia XZ1 (SOV36)
此日本版本可以通过FW刷写为G8431,使其可以用作标准XZ1(可以使用G8431 FW在这里或者在这里) - Sony Xperia XZ Premium (G8141) Xperia XZ Premium (G8141)
47.1.A.3.254_CE1 (tested by @DocLM post#227, by @LinFan post#242and by @steso90 xzp ) - Sony Xperia XZ Premium Dual (G8142) Xperia XZ Premium Dual (G8142)
47.1.A.3.254_RU (tested by @greatpatel007 xzp forum post#31 and #39) - 索尼 Xperia XZ Premium(G8188 / Xperia XZ Premium(G8188)
(由zatsune测试作为记录在这里)
建议:在刷入任何内容之前,请在android 开发人员菜单中启用“ OEM解锁” ,如果要刷新不同型号手机的固件,请跳过刷入bootloader(即在使用newflasher之前完全删除boot /子目录)。(这里我认为有必要,但我没有这么做)
获取临时ROOT:
下载renoroot工具。手机打开USB调试
在adb命令行下输入:
adb push renoroot /data/local/tmp
adb push renoshell /data/local/tmp
adb push renosploit /data/local/tmp
adb shell chmod 755 //data/local/tmp/r*
adb install -r renotrap.apkinstall -r renotrap.apk
之后打开手机上安装的renotrap,在adb窗口下执行下列代码:
adb shell
cd /data/local/tmp
./renoroot
等待软件获取root,可能会重启,重启完继续执行以上步骤
获取成功的话权限会变成#,如图
获取成功后就可以使用dd命令来备份TA了。命令如下:
#在sdcard下创建备份的TA文件
dd if=/dev/block/bootdevice/by-name/TA of=/sdcard/TA-locked.img
备份好之后记得保存好TA文件到云盘/电脑,以后回锁就可以在超级用户shell下直接输入以下代码:
#把sdcard下的TA文件刷写回设备,if里面的目录视情况而定,of目录是固定的
dd if=/sdcard/TA-locked.img of= /dev/block/bootdevice/by-name/TA
这样就完成备份/恢复TA文件了。
PS.回锁之后务必双清线刷一遍,否则无法开机,手机会显示设备验证失败
感谢翻译
能帮到你就行啦~
我现在就指望用这个办法,不解锁试着把xz1刷成能支持联通VoLTE了。
刚才刷了,XZ1能用电信和联通的VoLTE,移动的没试,应该也可以。