不root android注入(获取其他应用内部存储的数据)
一、Android无root***获取其他应用内部存储的数据
近在负责一个项目,需要获取其他应用的内部存储中的文件,即data/data/下的文件,并转存到sdcard上。有一点Android基础的都知道data/data/中的文件对其他应用是不可见的,在没有源码的条件下,无法直接访问data/data中的文件。问了公司的大佬,大佬提供了两种思路,一种是run-as命令进入data/data,直接copy;另一种是hook。具体怎么实施,且听我慢慢道来。
安装包是debug包(release包也可以利用反编译重新打包,变成debug包,网上有很多文章可以参考)
1、连接手机到电脑,打开u**调试
2、命令行中输入 adb shell run-as<包名>
示例:
com.ss.android.ugc.aweme(抖音)不是debug包,无法使用run-as命令。
com.example.yilialin.jsonreport(我自己写的app)是debug包,使用run-as命令可以进入data/data目录下,输入 ls,可以看到data/data目录下的所有文件/文件夹
3、输入 cat<文件名>><sdcard中的文件名> ,直接拷贝到sdcard中
示例:
不出现任何提示,表明已经成功拷贝到了sdcard中。
几行命令直接搞定
1、需要手工敲命令,难以实现自动化
2、debug包才能使用
没有限制,安装包是release包或者debug包都可以,手机不需要root
有关于xposed插件可以参考文章:
其实无root也是可以使用virtualxposed的,将xposed插件和想要hook的app克隆到virtualxposed中就可以使用了。
不受root权限和debug包的限制
前期需要做的事情多,xposed插件编写比较麻烦
我研究了几个星期的xposed hook,才学会了怎么使用,原理还不是特别明白,先用着吧==
听别人说再多也只是纸上谈兵,关键是要自己动手*作,有很多问题都是在实施的过程中出现并解决的,在问题中学习不失为一种好方法。
奉上我的xposed插件,供学习参考,有什么不对的地方,还望不吝赐教!
二、怎么用代码判断android手机是否开启了ROOT权限
android手机开启了root权限,主要是根据root之后,获取了手机的高权限,底层linux系统就会生成一个以su结尾的文件,su代表super超级权限,如下代码:
/**
*判断当前手机是否有ROOT权限
*@return
*/
public boolean isRoot(){
boolean bool= false;
try{
if((!new File("/system/**n/su").exists())&&(!new File("/system/x**n/su").exists())){
bool= false;
} else{
bool= true;
}
Log.d(TAG,"bool="+ bool);
} catch(Exception e){
}
return bool;
}
android底层是使用linux进行编译和一些驱动、网络管理的,所以可以根据linux的权限特性来判断是否root,权限的管理在linux里面很多,包括读写、删除文件的权限,也有关于访问网络的权限,这些权限都需要开通才能有。
三、android开发手机必须root吗
不是必须,ROOT的话,会得到更多权限,有些时候会更方便。
安卓root权限获取教程:
将手机关机,进入recovery模式,具体步骤:同时按住手机的Home键和开机键数秒(不同的机型进recovery模式的*作不同,这里仅作为一个例子)。进入后,使用音量控制键选择选项apply update from sdcard。
使用电源键确认,之后进入的是sd卡的文件目录,使用音量控制键选择update.zip选项,然后使用电源键确认。
等待一段时间,更新完成后,选择recovery界面的reboot system now选项重新启动手机,之后手机就已root完成。
手机重启完成后,可以看到root成功的标志:骷髅头。
当然,也有一些root权限获取失败的情况,可以通过安装钛备份来验证手机是否root成功,如果root成功,则可以使用钛备份的所有功能。如果不能,可以尝试按照前面的安卓root权限获取教程重新*作。
重新获取root权限后,可以正常使用钛备份,这时我们就可以删除一些手机内置的软件了,也可以进行刷机*作。不过在进行这些*作之前,建议先用钛备份软件将手机里的数据进行备份,以免手机成砖。
四、如何实现 android ‘非root,后台截屏’
安卓系统手机*作系统相似,以华为手机为例,以下截屏方法您可以试一下:
一、屏幕下拉出现“开关”,点击“截屏”即可截图成功(如默认快捷开关没有截屏选项,需要点击编辑添加后方能使用)。
二、“截图”快捷键:同时按住“音量减”和“电源键”也可以实现截图。
三、通过指关节截屏:
1、截取完整屏幕:亮屏状态下连续敲击屏幕两下待弹窗自动退出即可完成截屏。
2、截取部分屏幕:亮屏状态下连续敲击屏幕两下,弹窗出现三秒内点击编辑,拖拽图片边框即可完成截屏。
3、画字母S滚动截屏:先用指关节敲击一下屏幕,然后不要离开屏幕,直接用指关节画字母S,点击滚动区域后完成截屏。
截屏成功后,图片文件默认保存在手机存储的Pictures/Screenshots文件夹下,也可以通过手机自带的图库查看。