Android 属性文件default.prop与adb

0x01 背景

在平时使用时因为adb 默认的用户不是root所以在移动文件时会出现permission deny

C:\Users\Jay-Tang>adb shell
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
shell@hammerhead:/ $

0x02 解决方案

搜索出的两种方案如下:链接地址

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权限了。

0x03 思考default.prop里的东西

android中,在/目录下,通常会有一个属性文件default.prop,不同于system/build.prop,这个文件修改后重启就会恢复原本的值,因为他是在boot.img中的。 
在源码中,他并不是一个已经存在的文件,而是在编译脚本中来生成的。 
通常,他里面的这些属性,是控制着一些安全性的,例如可不可以用adb来进行调试。
#
# ADDITIONAL_DEFAULT_PROPERTIES
#
ro.secure=1
ro.allow.mock.location=0
ro.debuggable=0
persist.sys.usb.config=mtp

参考:这里写链接内容

posted @ 2017-06-06 15:02  Tesi1a  阅读(862)  评论(0编辑  收藏  举报