欧卡2中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

需要三步,才能开始

只需两步,慢速开始

欧卡2入门方向盘选莱仕达V9莱仕达折叠便携游戏方向盘支架欢迎地图Mod入驻
查看: 10016|回复: 0
收起左侧

[工具] 手工root手机方法

[复制链接]
知行 发表于 2013-2-13 21:32 | 显示全部楼层 |阅读模式

本文需要的基础:
基本windows命令行操作、Linux shell操作

===============================

说到root一个android,很多人连它本身的意思都不清楚

在linux系统中root用户拥有至同无上的权力,当然也可以把整个系统搞崩溃
所以厂商一般在面向消费者的手机里面禁用root权限。这样确实使手机
稳定很多,但也失去了很多DIY的乐趣。所以要改机,先提权到root

正统的发行版linux中有一个su命令,用于普通用户提权到root。
su本来在linux里是不与其它程序关联的,
在现在的android中su是与superuser.apk关联的
也就是大家常看到的某某程序在想提权时,弹出的超级用户授权提示
只要这两个东西在系统里面,那就能让普通程序提权了

要把su安装进去,又回到原点,没root权限我怎么拷文件进去呢?

国外一些黑客研究android内核代码,搞定了一种破/解程序
现有的有两个:
psneuter - android 1.5-android 2.2适用,执行完后可以adb root验证
gingerBreak - android 2.3-android 3.0适用,执行完后需要执行/data/local/tmp/sh进入root shell
它们的原理过于复杂,不作讲解。源代码可以在网络上找到

通过执行破/解程序,可以临时得到root权限,
在这个权限时把你的su和superuser.apk拷入手机系统
这样以后就可以随时随地获取root权限,也就是真正地root了你的手机


(这几个文件在SuperOneClick和ZOC_FlashMaster中均有附带)

===============================

好。这堂课真是文字太多了。。
下面是实战过程:

我手上的milestone是android 2.2,使用psneuter和su-v2(SuperOneClick1.90)
例如我把这三个文件都拷在F:\,su-v2已经重命名为su
一般android都使用临时文件夹/data/local/tmp

有了上一堂课的基础,我们可以使用adb来上传这几个必要文件
F:\>adb push psneuter /data/local/tmp/
2183 KB/s (585731 bytes in 0.262s)

F:\>adb push su /data/local/tmp/
884 KB/s (26264 bytes in 0.029s)

F:\>adb push superuser.apk /data/local/tmp
1511 KB/s (196521 bytes in 0.127s)
linux中,可执行文件是需要权限的,普通的一般用755([-rwx][r-x][r-x])
我们把psneuter的权限改成755
F:\>adb shell
$ cd /data/local/tmp
cd /data/local/tmp
$ ls -l
ls -l
-rw-rw-rw- shell    shell      196521 2010-09-05 15:47 superuser.apk
-rw-rw-rw- shell    shell       26264 2010-08-17 17:44 su
-rw-rw-rw- shell    shell      585731 2011-01-08 18:02 psneuter
$ chmod 755 psneuter
chmod 755 psneuter
$ ls -l
ls -l
-rw-rw-rw- shell    shell      196521 2010-09-05 15:47 superuser.apk
-rw-rw-rw- shell    shell       26264 2010-08-17 17:44 su
-rwxr-xr-x shell    shell      585731 2011-01-08 18:02 psneuter
$
执行psneuter
可以看到命令提示符跳回windows的了,也就是adbd已经重启
$ ./psneuter
./psneuter
property service neutered.
killing adbd. (should restart in a second or two)
F:\>
我们把/system/挂载为可写。由于adbd启动需要时间,我加入了wait-for-device命令
可以看到,提示说remount成功
*如果提示无权限,说明你破/解程序不成功
F:\>adb wait-for-device remount
remount succeeded
我们现在把su和superuser.apk分别拷入系统
可以全程看见$提示符变成#了,表示你有root权限
F:\>adb shell
# cd /data/local/tmp
cd /data/local/tmp
# cp su /system/bin/ #--拷入su,有些人是放在/system/xbin的
cp su /system/bin/
# cp superuser.apk /system/app/ #--拷入apk
cp superuser.apk /system/app/
# chmod 4755 /system/bin/su #--su命令是需要超级权限的,所以是4755,具体参考linux文件权限
chmod 4755 /system/bin/su
# chmod 644 /system/app/superuser.apk #--apk一般是644
chmod 644 /system/app/superuser.apk
# exit
exit
我们重启手机
F:\>adb reboot

F:\>
好了,装个rootExplore检查一下看有没有正常获取ROOT权限吧

Android提权的关键是三个东西, su + superuser.apk + 破/解程序
下面提供下载:
附件下载:
root_files.zip 399.3KB
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系我们|手机版|欧卡2中国 ( 湘ICP备11020288号-1 )

GMT+8, 2024-11-25 13:32 , Processed in 0.033651 second(s), 8 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表