本教程由symen原创,转载请注明出处。
上一章我们讲到了如何给系统降级,通常只有在系统是SHIP S-ON或者是ENG S-OFF的情况下,不小心误刷了官方升级包的时候,我们才需要去降级,原因前文已经多次讲过了。
那如果你是在SHIP S-OFF的情况下,刷入了1.72以上版本的官方升级包呢?这时候你的S-OFF并不会丢失,只是无法再利用VISIONary+获取root权限罢了。
那有没有一种方法,可以在不降级的情况下,获取root权限呢?
答案是确定的。我们只需要想办法把su和superuser两个文件拷贝到手机的相关目录下面就可以了。
下面介绍具体的方法。
准备工作:
1、电脑上要安装HTC Sync同步工具;
2、准备好第六章介绍到的ADB工具;
3、到笔者的网盘下载需要用的工具包,链接地址:
http://u.115.com/file/f51cd234bf# Downgrade.zip
http://u.115.com/file/f590ac745b# su.rar
4、第九章里面,大家应该下载了DHD.rar那个压缩包,里面有recovery.img,提取出来,下面需要用到。
开始操作:
1、把上面下载的Downgrade.zip、su.rar两个压缩包中的文件解压到C盘根目录的ADB工具文件夹下,同时把recovery.img文件也拷贝进去;
2、进入手机的设置--应用程序--开发--usb调试,打勾。
3、手机用数据线连接电脑,选择“仅充电”模式。
4、电脑上打开命令提示符,转到C盘android-sdk-windows目录下,运行以下命令(注意空格):
“adb push recovery.img /sdcard/recovery.img”,回车;
“adb push su /sdcard/su” ,回车;
“adb push superuser.apk /sdcard/superuser.apk” ,回车;
“adb push psneuter /data/local/tmp” ,回车;
“adb shell chmod 777 /data/local/tmp/psneuter” ,回车;
“adb shell /data/local/tmp/psneuter” ,回车;
这时候,你应该在命令提示符窗口看到#号了,如果没有,请检查以上各步是否做对。
5、如果有#号,接着输入以下命令,备份recovery:
“dd if=/dev/block/mmcblk0p21 of=/sdcard/recovery_orig.bin”,回车;
6、接着刷入第三方recovery:
“dd if=/sdcard/recovery.img of=/dev/block/mmcblk0p21”,回车;
7、接着重启手机到recovery下:
“reboot recovery”,回车;
8、这一步在手机里面操作,进入recovery后,移动音量键,进入mounts and storage,选择下面两项,挂载系统分区和TF卡:
mount /sytem
mount /sdcard
9、再回到电脑的命令提示符窗口,输入:
“adb shell”,回车;
10、#号出现,接着输入:
“cp /sdcard/su /system/bin/” ,回车;
“cp /sdcard/Superuser.apk /system/app/” ,回车;
“ln -s /system/bin/su /system/xbin/su” ,回车;
“chmod 06555 /system/bin/su” ,回车;
11、回到手机的recovery界面下,卸载刚才挂载的分区和TF卡:
umount /sytem
umount /sdcard
12、重启手机,你会发现,你已经获取了root权限。
特别补充说明:
根据网友的反馈,很多人刷recovery进去重启不成功,问题在哪里???这章需要你是在ship s-off的情况下才能去完成的。
也就是说,你首先要是ship s-off,然后误刷了官方RUU,然后丢失root,那么,你可以通过本章教程得到root权限。
如果你是s-on,或者是在ENG下刷官方包,然后也变成了s-on,那么你不会成功的,必须用上一章的降级方法来做。
原理其实在第七章就介绍过了,原文如下:
SHIP S-ON
------这种是最原始的状态,手机出厂的时候,是零售版的hboot,所以显示为SHIP,安全锁也是打开的,所以显示S-ON。
此时手机的system和recovery分区是只读的。典型的表现是,即使我们按照第六章的教程取得了root权限,可以通过安装RE管理器来删除系统自带的程序,但是,只要重启机器,一切将会恢复原样。
所以recovery是刷不进去的!! |