ROOT android 原理。 基于(zergRush)
出自:
http://bbs.gfan.com/android-2996211-1-1.html
需要ROOT的同学请去上面的地址下载。
a.控制手机创建个临时文件夹,然后把zergRush脚本写入此文件夹,并修改此文件权限使之可以执行(这一步无需ROOT权限);
复制代码
- adb shell rm -r /data/local/tmp
- adb shell mkdir /data/local/tmp
- adb push .\zergRush /data/local/tmp
- adb shell chmod 755 /data/local/tmp/zergRush
b.控制手机,让zergRush脚本在手机中运行(这一步也无需ROOT权限);
复制代码
- adb shell /data/local/tmp/zergRush
c.zergRush脚本在运行时,会“卸载SD卡”(这时手机上会提示“SD卡可以安全移除”),并找到突破口,获取到临时的ROOT权限,然后它会自动断开并重新连接“USB调试”(此时已拿到临时的ROOT权限);
d.等手机的USB调试重新连接之后,控制手机“remount”,这样就可以把手机的 /system 分区挂载为可写,这样我们就可以修改手机内的系统文件了.
复制代码
- adb wait-for-device
- adb remount
e.把获取永久ROOT权限所必备的文件写入手机的 /system 分区,并将它们融入系统(此时手机已经完全ROOT,但没有权限管理的界面,因此无法正常使用ROOT功能);
复制代码
- adb push .\su /system/bin
- adb push .\su /system/xbin
- adb shell chmod 4755 /system/bin/su
- adb shell chmod 4755 /system/xbin/su
注:这时手机已完全ROOT,各位如果想要做个自动清理系统程序的批处理,可以在此处之后添加代码.
f.设置默认安装位置为“手机内存”(下面代码的红字),然后清理并安装 SuperUser 权限管理程序(此时手机已经完全ROOT,并有了权限管理的界面,完全可以正常使用了);
复制代码
- adb uninstall com.noshufou.android.su
- adb uninstall com.noshufou.android.su.elite
- adb shell pm setInstallLocation 0
- adb install .\SuperUser.apk
- adb install .\SuperUserElite.apk
g.清理并安装RootExplorer(此程序主要是用于稍后重启后测试ROOT是否成功);
复制代码
- adb uninstall com.speedsoftware.rootexplorer
- adb install .\RootExplorer.apk
h.删除一开始传入 zergRush 脚本的临时文件夹(它已经用不到了),节省空间;
复制代码
- adb shell rm -r /data/local/tmp
i.控制手机重启.重启的目的有2个,一是为了测试重启后ROOT权限是否正常,二是为了让手机再次挂载SD卡(因为第c步zergRush卸载了SD卡并利用了它的漏洞,SD卡无法再挂载,只能重启手机才能再挂);
复制代码
- adb reboot
j.显示成功界面.所有操作均已完成.