在不root手机的情况下读取Data目录下的文件

使用条件

app是可调试状态
在不root手机的情况下读取Data目录下的文件
read-android-data-folder-without-rooting

For the run-as command to work the app must be debuggable. This means that run-as will work for apps that you are developing and have deployed through eclipse and for any apps that have been released with the debuggable flag turned on. It will not work for most android system and commercially released apps. Sorry, no hacking your favorite app this way.

1.使用adb命令时的错误

如果直接使用adb命令会产生以下错误:

127|shell@android:/ $ cd /data  
cd /data  
shell@android:/data $ ls  
ls  
opendir failed, Permission denied  

你是没有权限的。

2.正确使用adb读取data目录下的文件方式

shell@android:/data $ run-as com.your.package  
run-as com.your.package  
shell@android:/data/data/com.your.package $ cd /data/data/com.your.package  
cd /data/data/com.your.package  
shell@android:/data/data/com.your.package $ ls  
ls  
cache  
databases  
lib  
shared_prefs  
shell@android:/data/data/com.your.package $ cd databases  
cd databases  
shell@android:/data/data/com.your.package/databases $ ls  
yourpackagename.db  
$ cat preferences.db > /mnt/sdcard/yourpackagename.db     

将你要访问的package目录下的db文件拷贝到sdcard中,这样就可以正常访问了!

3.对于第三方apk

使用反编译工具反编译后在AndroidMainfest.xml加上可调试:
android:debuggable="true",再回编成apk,再安装进手机即可使用run-as。

<application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" 
        android:debuggable="true">
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • afinalAfinal是一个android的ioc,orm框架 https://github.com/yangf...
    passiontim阅读 15,579评论 2 45
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,596评论 25 708
  • 你要相信,你自己也可以活得很好,也值得拥有更好。 你也要相信,当爱情走了,你就该有离开的勇气,爱情是有保质期的,...
    太阳菇凉阅读 3,097评论 0 1
  • 真爱,True love。 如今,有多少人真的敢承认自己的另一半是真爱。 “门当户对”,这个延续千年的婚配标准已经...
    唐Haru阅读 221评论 2 0
  • 刚刚看了一篇讲产后抑郁的文章,开始想象自己婚后会是什么样子。每天忙不完的家务和大男子主义的老公吗?想想就觉得一定会...
    citoyendumonde阅读 150评论 0 0