用adb命令root盒子和手机

阅读: 评论:0

⽤adb命令root盒⼦和⼿机
⽤adb命令root盒⼦和⼿机
时间:2014-02-26 14:04来源:未知作者:lxy 点击: 1019 次
我们⾸先来了解什么是root?为什么要root?root能给我们带来什么?
Android系统中的root实质是向/system/xbin/加⼊权限为6755的su,这个c1盒⼦本⾝就有了,如果没有这个权限为6755的su,估计很多⼈将很烦恼(这个话题不在我们今天的讨论范围)。简单的来说root权限就是Android系统中的管理员权限,因此在各位童鞋使⽤盒⼦在使⽤到各种需要修改系统内部⽂件的操作时,就需要获得ROOT权限。例如让豌⾖荚下载后⾃动安装应⽤;删除系统内置的⾃⼰不喜欢的应⽤等。ROOT权限和没获取ROOT权限之间的区别,就像是买⼀栋房⼦和租⼀套房⼦⼀样,买的房⼦你可以任意修改户型,对整栋房⼦为所欲为;⽽租的房⼦你只能规规矩矩地使⽤,顶多轻度的⼩装修⼀下,但因为是租的,所以会有诸多受限。也就是说,盒⼦获取了ROOT权限,就能完完全全掌控设备,可以清除盒⼦中⾃带的冗余系统应⽤,还可以不让众多应⽤程序开机启动,更多优点可以⾃⼰体验。
root需要借助adb⼯具,我们可以管理安卓设备或安卓模拟器的状态[这⾥我们管理盒⼦]。还可以进⾏很多系统操作,如安装软件、系统升级、运⾏shell命令等等。简单的说,adb就是连接Android设备与PC端的桥梁,可以让⽤户在电脑上对安卓进⾏全⾯的操作。
⾸先是电脑⾥拥有adb,将⽂件夹拷贝到c盘根⽬录下。
以乐视盒⼦c1s为例。
adb可以轻松的连接你的C1盒⼦,⾸先是进⼊adb⽬录,电脑开始菜单,运⾏命令cmd,进⼊dos窗⼝,输⼊命令cd/adb/。
连接设备的命令格式为 adb connect ip(⽆线连接)或 adb wait-for-device(USB连接)
port查看已连接设备的命令为adb devices
没有任何设备连接,我们来连⼀下我们的C1盒⼦.
adb connect 192.168.1.103
我们来检查⼀下是否连上了,输⼊adb devices,果然连上了
5.jpg
以经典root为例讲解⼀下,⾸先,我们要把su放到/system/bin下,设置权限为4755,其次,我们要把Superuser.apk弄
到/system/app下
有童鞋可能会说,那还不容易,我⽤U盘拷贝过去,当时,这是可以的,但是,有没有更简单的⽅法呢?神蓝告诉你,可以更简单⼀些的。
现在,我们来讲adb⼀个重要的参数,push,我们还是以实例来讲解吧
6.jpg
因为你没有权限被⽂件push到系统⽬录下,那有没有办法呢?答案是肯定的,继续往下看更精彩
7.jpg
adb push su /sdcard/ 把当前⽬录下su弄到/sdcard/
adb push Superuser.apk /sdcard/ 这个不⽤我说你也猜到了,把Superuser.apk弄到/sdcard/
因为/sdcard/这个⽬录是允许⼀般⽤户读写的,所以我们可以弄到这⾥
接下来
,我们要进⼊shell环境了
输⼊adb shell
su
8.jpg
这⾥我们⽤了⼀个参数shell,进⼊shell环境后使⽤了su命令获取root权限,这时$符号变为#符号,证明我们已经获取了root权限:
既然有了最⾼权限,我们想root还不容易吗?
cp /sdcard/su /system/bin/
chmod 4755 /system/bin/su
cp /sdcard/Superuser.apk /system/app/
9.jpg
这⾥我们⽤到cp命令,就是拷贝的意思,将su复制到/system/bin/,chmod是授权命令,将/system/bin/su赋予4755权限,下⾯那个apk我不说你也懂得是什么意思了
我们来检验⼀下
10.jpg
ll /system/app/Superuser.apk
ll /system/bin/su
如图显⽰你就成功了,这⾥我们⽤到的命令是ll
好了,我们可以把盒⼦reboot⼀下(直接输⼊命令reboot),盒⼦重启后你将看到应⽤程序⾥多了⼀个超级⽤户图标,以后,需要得到最⾼授权的程序都会通过它通知你,⾄于是否允许,就看你的觉得了,你是可以选择的。
LLMH15若链接过多个设备可以清除链接 adb kill-server
直接root获得最⾼权限可以⽤
adb root
adb remount
拷贝⽂件到安卓设备⾥
adb connect 192.168.1.103
adb /sdcard/
怎么样,⽐你⽤u盘拷贝⽅便很多吧
安装软件
adb connect 192.168.1.103
adb install c:\apk\souhutv.apk
产⽣Log⽇志
adb pull /sdcard/Log .
常见安装错误提⽰说明
3.jpg
附上⼏个常⽤的adb命令:
1. 查看设备
adb devices
这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显⽰
2.安装软件
adb install
adb install :这个命令将指定的apk⽂件安装到设备上
3. 卸载软件
adb uninstall <;软件名>
adb uninstall -k <;软件名>
如果加 -k 参数,为卸载软件但是保留配置和缓存⽂件.
4. 进⼊设备或模拟器的shell:
adb shell
通过上⾯的命令,就可以进⼊设备或模拟器的shell环境中,在这个Linux Shell中,你可以执⾏各种Linux的命令,另外如果只想执⾏⼀条shell命令,可以采⽤以下的⽅式:
adb shell [command]
如:adb shell dmesg会打印出内核的调试信息。
5. 发布端⼝
可以设置任意的端⼝号,做为主机向模拟器或设备的请求端⼝。如:
adb forward tcp:5555 tcp:8000
6. 从电脑上发送⽂件到设备
adb push <;本地路径> <;远程路径>
udn
⽤push命令可以把本机电脑上的⽂件或者⽂件夹复制到设备(⼿机)
7. 从设备上下载⽂件到电脑
adb pull <;远程路径> <;本地路径>
⽤pull命令可以把设备(⼿机)上的⽂件或者⽂件夹复制到本机电脑
8、查看bug报告
adb bugreport
9、记录⽆线通讯⽇志
⼀般来说,⽆线通讯的⽇志⾮常多,在运⾏时没必要去记录,但
我们还是可以通过命令,设置记录:
adb shell
logcat -b radio
10、获取设备的ID和序列号
adb get-product
adb get-serialno
adb shell
举个例:⽐如你在替换framework-res.apk时权限没搞对,开机卡在第⼀屏,不⽤刷机!这样:
输⼊执⾏ "adb push D:\framework-res.apk /system/framework"(这个改成你⾃⼰的路径)
这⾥我们不要忘了还要修改权限,执⾏"adb shell chmod 644 /system/framework/framework-res.apk"
最后,我们还需要重启⼀下,执⾏"adb reboot"
⽤adb命令root⼿机
通常Android的root是通过adb来进⾏。
adb的全称为Android Debug Bridge,就是起到调试桥的作⽤。通过adb我们可以在Eclipse中⽅便通过DDMS来调试Android 程序,说⽩了就是debug⼯具。adb的⼯作⽅式⽐较特殊,采⽤监听Socket TCP 5554等端⼝的⽅式让IDE和Qemu通讯,默认情况下adb会daemon相关的⽹络端⼝,所以当我们运⾏
Eclipse时adb进程就会⾃动运⾏。
adb是android sdk⾥的⼀个⼯具, ⽤这个⼯具可以直接操作管理android模拟器或者真实的andriod设备(如G1⼿机)。金属化膜
它的主要功能有:
运⾏设备的shell(命令⾏)
管理模拟器或设备的端⼝映射
计算机和设备之间上传/下载⽂件
电解水杯
将本地apk软件安装⾄模拟器或android设备
以上引⽤部分来⾃百度百科。
1、root之前要在开发者选项(Developers options)⾥允许USB调试(USB debugging),同时要在安全(Security)⾥打开未知源(Unknown sources)。前者是为了让adb能够写⼊⽂件到Android⾥,然后替换掉系统的/xbin/su⽂件,同时写⼊root 权限管理的apk,后者就是要安装这个root权限管理的apk。
2、连接⼿机⾄电脑后,调⽤adb来root⼿机。我把⼀个典型的root过程的命令写清楚注释(//后是注释):
adb wait-for-device
//连接设备
adb shell "cd /data/local/tmp/"
//adb shell是在⼿机上运⾏后⾯的命令。这⾥是进⼊/data/local/tmp/⽬录
adb push files\busybox /data/local/tmp/.
adb push files\su /data/local/tmp/.
adb push files\Superuser.apk /data/local/tmp/.
//将busybox(⼀个Linux下的shell程序)、su(就是修改过的su⽂件)、Superuser.apk(root权限管理软件)复制到临时⽬录。
adb shell "chmod 755 /data/local/tmp/busybox"
路灯远程控制系统
//修改busybox的权限
adb shell "su -c /data/local/tmp/busybox mount -o remount,rw /system"
//使⽤su调⽤busybox,重新挂载/system,并且使/system可写
adb shell "su -c dd if=/data/local/tmp/busybox of=/system/xbin/busybox"
//将busybox复制到/system/xbin/busybox
adb shell "su -c /system/xbin/busybox"
//修改/system/xbin/busybox的所有者
adb shell "su -c chmod 06755 /system/xbin/busybox"
//修改/system/xbin/busybox的权限
rem adb shell "su -c /system/xbin/busybox --insta
电子仓单交易ll -s /system/xbin"
/
/安usybox
adb shell "su -c /data/local/tmp/su"
//修改/su的所有者
adb shell "su -c chmod 06755 /data/local/tmp/su"
//修改su的权限
adb shell "su -c cp /data/local/tmp/su /system/bin/"
//复制su到/system/bin/
adb shell "su -c 'rm /system/xbin/su'"
adb shell "su -c 'ln -s /system/bin/su /system/xbin/su'"
//将原来的su删除,将新的su⽂件连接到/system/xbin/su
adb shell "su -c 'cp /data/local/tmp/Superuser.apk /system/app/'"
adb shell "su -c 'chmod 644 /system/app/Superuser.apk'"
//复制Superuser.apk到系统app⽬录。这等于安装Superuser.apk
重启后,设备就root了。
如果root程序不是通过连接电脑来root,其原理也是差不多。
我们可以看到,root的重点就是替换系统⾃带的su⽂件,⽽替换su⽂件⼜是靠系统⾃带的su,所以如果去掉⾃带的su⽂件,那root就⽆法进⾏。

本文发布于:2023-06-13 17:31:48,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/3/137267.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:设备   权限   命令   安装   连接   模拟器   系统   软件
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图