ROOT android 原理。 基于(zergRush)

 出自:

http://bbs.gfan.com/android-2996211-1-1.html

需要ROOT的同学请去上面的地址下载。

 

a.控制手机创建个临时文件夹,然后把zergRush脚本写入此文件夹,并修改此文件权限使之可以执行(这一步无需ROOT权限);

  1. adb shell rm -r /data/local/tmp
  2. adb shell mkdir /data/local/tmp
  3. adb push .\zergRush /data/local/tmp
  4. adb shell chmod 755 /data/local/tmp/zergRush
复制代码


b.控制手机,让zergRush脚本在手机中运行(这一步也无需ROOT权限);

  1. adb shell /data/local/tmp/zergRush
复制代码


c.zergRush脚本在运行时,会“卸载SD卡”(这时手机上会提示“SD卡可以安全移除”),并找到突破口,获取到临时的ROOT权限,然后它会自动断开并重新连接“USB调试”(此时已拿到临时的ROOT权限);



d.等手机的USB调试重新连接之后,控制手机“remount”,这样就可以把手机的 /system 分区挂载为可写,这样我们就可以修改手机内的系统文件了.

  1. adb wait-for-device
  2. adb remount
复制代码


e.把获取永久ROOT权限所必备的文件写入手机的 /system 分区,并将它们融入系统(此时手机已经完全ROOT,但没有权限管理的界面,因此无法正常使用ROOT功能);

  1. adb push .\su /system/bin
  2. adb push .\su /system/xbin
  3. adb shell chmod 4755 /system/bin/su
  4. adb shell chmod 4755 /system/xbin/su
复制代码

   注:这时手机已完全ROOT,各位如果想要做个自动清理系统程序的批处理,可以在此处之后添加代码.

f.设置默认安装位置为“手机内存”(下面代码的红字),然后清理并安装 SuperUser 权限管理程序(此时手机已经完全ROOT,并有了权限管理的界面,完全可以正常使用了);

  1. adb uninstall com.noshufou.android.su
  2. adb uninstall com.noshufou.android.su.elite
  3. adb shell pm setInstallLocation 0
  4. adb install .\SuperUser.apk
  5. adb install .\SuperUserElite.apk
复制代码


g.清理并安装RootExplorer(此程序主要是用于稍后重启后测试ROOT是否成功);

  1. adb uninstall com.speedsoftware.rootexplorer
  2. adb install .\RootExplorer.apk
复制代码


h.删除一开始传入 zergRush 脚本的临时文件夹(它已经用不到了),节省空间;

  1. adb shell rm -r /data/local/tmp
复制代码


i.控制手机重启.重启的目的有2个,一是为了测试重启后ROOT权限是否正常,二是为了让手机再次挂载SD卡(因为第c步zergRush卸载了SD卡并利用了它的漏洞,SD卡无法再挂载,只能重启手机才能再挂);

  1. adb reboot
复制代码


j.显示成功界面.所有操作均已完成.

你可能感兴趣的:(c,android,shell,测试,脚本,手机)