通用(任何android机型)Root教程(完整版!附砖机自救方法)转自安卓网
2012年01月02日
一台android终端(可能是手机、可能是平板,也可能是其它),很多功能是要取得Root权限后才能使用的。那我们就来Root它。
取得root权限只要在机器里放两个文件就可以了
/system/bin/su(取得root权限的命令)
/system/xbin/su(同上,只不过是有些软件只认这个路径)
/system/app/SuperUser.apk(Root权限管理器)
上面明明是三个文件,为什么说两个呢?其实前面两个文件就是同一个文件,熟悉linux等系统的就知道,用ln做个软连接就可以了。
说实在的Android就是Linux的一个分支。不信就看看你机器的内核版本就懂了。
ln -s /system/bin/su /system/xbin/su
在android设备上运行以上命令可以在/system/xbin路径中生成/system/bin/su的软连接文件(可以理解为windows下的“快捷方式”)
除了放上面讲的两个文件,即:
/system/bin/su
/system/app/SuperUser.apk
还需要设置/system/bin/su可以让任意用户可运行,有set uid和set gid的权限。即要在android机器上运行下面的命令:
chmod 4755 /system/bin/su
貌似做到这些都比较简单。在android市场中安装一个connectbot,把su和SuperUser.apk拷贝到SD卡上,然后用ConnectBot在本机上开命令窗口,cp ln chmod一下就可以了。但实际是不行的。
为什么呢?原因有三:
1、/system路径是只读权限,不能简单写入
2、 chmod需要Root权才能运行(死循环了)
3、有些系统在启动时会自动将su的4755权限设成755,甚至直接删除su
那怎么办呢?
本层要部分解决的就是上面遗留的三个问题。
既然走正常程序,行不通,就要换个思路,走走后门了。
后门在哪里呢?
Google还是很厚道的,Android有个用于开发的后门,供Android系统和应用软件的开发者调试程序用的。
如何打开后门?有三项工作:
1、用数据线连接android设备到PC
2、在PC上安装android设备的驱动程序。
3、在android设备上设打开发调试模式(settings->applications->development->USB debugging)
怎么用?
google的android SDK包里面有两个小程序:1、adb 2、fastboot。fastboot用来刷机,adb可以以Root的身份让android设备执行一些命令。
用法:
把附件下载到电脑。
解压附件到电脑
参考上文,打开android设备的后门
用资源管理器打开附件数据包解压出来的文件夹
不要选择任何文件或文件夹,按住Shift键鼠标右击资源管理器空白部分,在弹出菜单中选择“在此处打来命令窗口”。
(也可以先大开命令窗口,用cd等命令将当前路径切换到附件数据包解压出来的文件夹)
在命令窗口敲命令,然后重启android完成Root
adb remount
adb push su /system/bin
adb push SuperUser.apk /system/app
adb shell ln -s /system/bin/su /system/xbin/su
adb shell chmod 4755 /system/bin/su
部分遗留问题:
1、少数Android设备运行adb remount时会报错,显示/system不能被remount成可读写模式
2、重启后/system/bin/su文件的权限被改写,失去setuid setgid的权限(即重启后不能正常取得Root权),甚至/system/bin/su直接被删除
该怎么解决呢?呵呵,偶还留了一层备用,大家知道会怎样了吧?!
现在要解决重启丢失Root权和 adb remount不能让/system目录转成可读写的问题。
造成这些问题基本都是系统在启动内核的时候设置的锁。
如何解锁呢?我们先要说说Android终端的启动。
一般来说Android终端能启动到三种不同的模式
1、正常启动
2、bootloader模式
3、revocery模式
正常启动Android终端,系统会自动调用boot镜像中的内核,然后是到system中加载配置和启动预定程序,最后到userdata中继续加载用户配置和用户预装的程序。
一般一个新的Android终端拿来,第一次启动时,只有boot和system中有数据,userdata中是空的,我们安装软件、修改配置等操作只能影响userdata。所以没有ROOT的Android终端是很安全的,实在是系统装的很乱、软件冲突、死机,只要清除userdata中的数据(回出厂状态)就好了。(内置的用户存储空间和外加存储都属于userdata的一部分)
既然boot中有锁,不能取得Root权,我们就只好放弃原版boot,去寻找第三方开发的boot(简单的用“一键root”之类的软件是解决不了问题的),然后刷机...
bootloader模式就提供了通过USB线刷机的接口。用android SDK中提供的小工具fastboot就可以完成刷机(线刷)
recovery模式也提供了通过Android终端上的数据存储刷机的办法(卡刷),只是原版Andriod终端自带的recovery会识别刷机包的数字签名,非官方发布的刷机数据包是不太可能通过这种办法刷机的。所以玩Android终端的老鸟是不会用原版的Recovery的。
第三方开发的recovery基本上是采用文本菜单方式操作,识几个E文的应该操作起来不会有问题,只要找到自己机器型号对应的刷机包就可以了。本楼主就不多废话了。
重点讲bootloader模式刷机
【如何进入bootloader】
大家还记得顶层的adb吗? 不记得就上楼复习。
命令窗输入
adb reboot bootloader
可进入重启系统进入bootloader模式
(附:命令窗输入adb reboot recovery 可中起进入recovery模式)
注意复习顶楼课程,输入adb命令前必须的几部操作(接数据线、装驱动、andriod终端设为usb debug模式、在adb文件夹开命令窗口)
当然还有其他方法:比如已经Root的机器可以装个小软件,一键重启切换到bootloader或者recovery
还有一种方法很重要,掌握了可以让你的机器永远不会因为刷机变砖,或者将砖机救回来。
1、关机
2、按住特定键(大部分是“上”键,不同的机型不一样)开机,或者开机,按特定键
进入bootloader以后用fastboot刷机,当然首先要找到自己Android终端对应的刷机数据包(boot.img,revocery.img,system.img )
当然要把刷机数据*.img放在fastboot同一文件夹(除非你喜欢敲很多相对或绝对路径)
fastboot flash boot boot.img
(刷boot)
fastboot flash recovery recovery.img
(刷recovery)
fastboot flash system system.img
(刷Android系统)
fastboot flash userdata data.img
(刷用户数据)
fastboot reboot
(重启到正常模式)
各位刷成砖机的,只要能进bootloader砖机就能救回来
现在google、百度这么强,相信各位找个自己设备对应的*.img不是什么难事。
发表评论
-
UNIX TCP/IP配置与检测
2012-01-20 10:31 866UNIX TCP/IP配置与检测 2010年12月14日 ... -
Web Application Stress Tool
2012-01-20 10:31 756Web Application Stress Tool 20 ... -
Jabberd2源代码分析:c2s与router SASL验证过程
2012-01-20 10:31 1456Jabberd2源代码分析:c2s与router SASL验证 ... -
VC中使用自定义消息在进程间通讯
2012-01-20 10:31 1124VC中使用自定义消息在进程间通讯 2011年06月14日 ... -
重叠IO 通信模型,函数记录。
2012-01-20 10:31 540重叠IO 通信模型,函数记录。 2010年12月07日 ... -
一个简单的NT驱动之驱动入口函数(DriverEntry)
2012-01-19 15:31 2210一个简单的NT驱动之驱动入口函数(DriverEntry) ... -
无法安装或运行此应用程序。该应用程序要求首先在“全局程序集缓存(GAC)”中安装程序集stdole版本7.0.3300.0
2012-01-19 15:31 2147无法安装或运行此应用程序。该应用程序要求首先在“全局程序集缓存 ... -
Android开发之--adb shell 命令大全
2012-01-19 15:31 674Android开发之--adb shell 命令大全 201 ... -
慢慢研究
2012-01-19 15:31 687慢慢研究 2011年12月24日 ... -
-微小说
2012-01-17 05:18 715-微小说 7 ... -
爱的人
2012-01-17 05:18 601爱的人 7小时前 感谢一路上有太多太多人的陪伴!又是一年 ... -
媳妇 你失眠 进来看看
2012-01-17 05:18 591媳妇 你失眠 进来看看 7小时前 不要问我为啥动这些 ... -
别忘记生命来时的样子…
2012-01-17 05:18 638别忘记生命来时的样子… 7小时前 每一个生命都像是被流放 ... -
106条心语语录――棠棠不落阁(写给青春一)
2012-01-17 05:18 699106条心语语录――棠棠 ... -
vs2005自带的水晶报表破解方法 (还没有试过)
2012-01-16 04:12 1287vs2005自带的水晶报表破解方法 (还没有试过) 2010 ... -
vs2005
2012-01-16 04:12 572vs2005 2010年06月06日 KYTYHTQKW ... -
vs2005 professional版注册码
2012-01-16 04:12 1277vs2005 professional版注册码 2009年1 ... -
ArcGIS Server 9.3 安装步骤及相关注意事项
2012-01-16 04:12 834ArcGIS Server 9.3 安装步骤及相关注意事项 ... -
ArcGIS Server 9.3 Net安装流程
2012-01-16 04:12 989ArcGIS Server 9.3 Net安装流程 2009 ...
相关推荐
Superuser.apk
万能ANDROID系统ROOT工具,几乎可以ROOT所有ANDROID手机!
瑞芯RK3066机型Root教程及工具,懂的~
安卓android模拟器bluestacks root方法 教程 【陌陌 电脑版 解封成功】支持最新版本0 7 8 1 自己亲测成功 可以登陆2 3陌陌 可以任意定位 root成功 2 包含所需的工具下载地址 喜欢研究的亲可以下载看看
该资源为Android 系统获得root权限的方法,该方法在Android 7.0、Android 9.0、Android10.0上验证过
Android 模拟器永久root工具------包含 (android for img.rar、Android SU文件更新包.zip、RootExplorer.apkSuperuser.apk) 1、用android for img.rar里的android for img.exe打开 E:\SDK\platforms\android-8\...
还在为无法ROOT烦恼?现在通用安卓ROOT工具来了!
Android开发中有时需要判断手机是否已经root,这个类就是全面检查Android设备是否root的工具类,Android开发中有时需要判断手机是否已经root,这个类就是全面检查Android设备是否root的工具类,Android开发中有时...
安卓4.2.2通用ROOT卡刷包
ROOT教程分享,安卓手机必备,希望能帮助到大家
使用Android5.0的环境编译的,不同版本之间,aidl文件可能会有差异,具体还需参照Android系统源码。详细参考我的博客文章《Android 无需root实现APK静默安装》:...
Android 请求root权限的示例,前提是手机已经破解获取root权限。
通常我们在Android应用中执行某个命令时会使用...”这种方式,但是当我们执行抓包操作时,使用这条命令无论如何都不行,通过下面代码打印结果发现,该命令一定要在root权限下才能执行,具体实现思路,请参考本教程
防撤回神器 !免Root查看撤回消息!
资源说明: 1---工具可以在没有root权限的机型卸载内置应用 2---卸载自带应用。谨慎操作 3--资源带有包名查看器。安装到手机上面可以查看应用原始包名 4---请明白具体应用在进行卸载操作。...7--通用安卓全系列机型
主要是针对P版开发adb root和app root权限,资源基于MTK方案。
android apk获取root权限方法总结
Android一键root工具SuperOneClick使用教程.docx
Android的静默安装似乎是一个很有趣很诱人的东西,但是,用普通做法,如果手机没有root权限的话,似乎很难实现静默安装,因为Android并不提供显示的Intent调用,一般是通过以下方式安装apk: Intent intent = new ...
android 10获得root权限补丁,在rk3288上测试有效。