(转)adb shell获取root权限

本文介绍了两种通过已Root的Android设备获取ADB shell root权限的方法。第一种方法是使用su命令进行提权,并重新挂载/system分区;第二种方法是修改根目录下的default.prop文件中的ro.secure属性。
adb shell获取root权限

因为开发需要,我经常会用到adb这个工具(Android Debug Bridge),我们都知道adb shell默认是没有root权限的,修改系统文件就很不方便了,adb push一个文件就提示Permission Denied。删除system下的文件也没有权限。其实有两种方法可以获取adb shell的root权限,这两种方法的前提都是手机已经root。
1、用su可以提权,直接执行su就会看到用户命令提示符由”$”变成了”#”,如果手机没有root,会提示su: Permission Denied。这个文件不是每个手机都有的,没有的可以在这里下载:

解压后把su放在adb同一目录下,执行:

adb push su /system/bin/
adb shell chmod 4755 /system/bin/su

如果提示Read-only filesystem,那么就要重新挂载一下/system,把只读挂载成可读写,只有手机root了才能运行:

mount -o remount,rw /dev/block/mtdblock0 /system /

再运行su就能让adb shell获取root权限了。
2、可以修改根目录下的default.prop提权:
根目录默认是不允许修改的,执行

mount -o remount,rw rootfs /

用vi打开default.prop,找到ro.secure,修改为ro.secure=0,保存后重启,再adb shell一下,就会有root权限了。

[16:18:46][ERROR]<airtest.core.android.cap_methods.screen_proxy> b'' [16:18:46][ERROR]<airtest.core.android.cap_methods.screen_proxy> b"mv: bad '/data/local/tmp/minicap': Invalid argument\r\n" [16:18:46][ERROR]<airtest.core.android.cap_methods.screen_proxy> Minicap setup up failed! [16:18:46][DEBUG]<airtest.core.android.adb> C:\installer\adb\platform-tools-latest-windows\platform-tools\adb.exe -s 669c9a96 shell dumpsys package com.netease.nie.yosemite [16:18:46][DEBUG]<airtest.core.android.adb> C:\installer\adb\platform-tools-latest-windows\platform-tools\adb.exe -s 669c9a96 forward --no-rebind tcp:29997 localabstract:javacap_29997 [16:18:46][DEBUG]<airtest.core.android.adb> C:\installer\adb\platform-tools-latest-windows\platform-tools\adb.exe -s 669c9a96 shell pm path com.netease.nie.yosemite [16:18:46][DEBUG]<airtest.core.android.adb> C:\installer\adb\platform-tools-latest-windows\platform-tools\adb.exe -s 669c9a96 shell CLASSPATH=/data/app/~~9Zm_im-hTX3p3swcTxvwBw==/com.netease.nie.yosemite-0TOhIVXUkP_IC1wYTZlMXA==/base.apk exec app_process /system/bin com.netease.nie.yosemite.Capture --scale 100 --socket javacap_29997 -lazy 2>&1 [16:18:47][DEBUG]<airtest.utils.nbsp> [javacap_sever]b'Capture server listening on @javacap_29997' [16:18:48][ERROR]<airtest.core.android.cap_methods.screen_proxy> OSError('socket connection broken') [16:18:48][ERROR]<airtest.core.android.cap_methods.screen_proxy> Javacap setup up failed! C:\Users\PycharmProjects\Game_Aotumation\.venv\Lib\site-packages\airtest\core\android\cap_methods\adbcap.py:10: UserWarning: Currently using ADB screenshots, the efficiency may be very low. warnings.warn("Currently using ADB screenshots, the efficiency may be very low.")
最新发布
11-18
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值