一、准备条件

原文地址

安卓端自行实现工信部要求的隐私合规检测二(使用Xposed/VirtualXposed进行监测)

转载者言:只是简单监控隐私权限可以使用Android 11的新特性AppOpsManager.OnOpNotedCallback(),参考下面文章:
隐私合规:检测第三方SDK调用的隐私权限

1、编译合规检测的Xposed模块源码

下载源码,修改设置白名单,编译成apk,安装到手机
相关操作参考《安卓端自行实现工信部要求的隐私合规检测一(教你手写Xposed模块代码)》

注意:源码里面包含了各种安装包及demo

2、已经root的手机可以下载Xposed.apk

Xposed在github上面开源,可以自己下载XposedInstaller的源码进行编译,也可以直接下载已经编译好的apk。

需要注意的是,安卓5以上和以下的安装版本是不一样的
支持安卓5及以上的XposedInstaller
支持安卓5以下的XposedInstaller

3、没有root的手机可以下载VirtualXposed.apk

VirtualXposed在github上面有专门的release页面,其作者在0.20.x的版本的时候放弃了对32位应用的支持,理由是谷歌商店未来只允许64位的app上架,不想花更多精力维护32位的开发。如果你的app为32位应用,因此不能用0.20.x及之后版本的VirtualXposed

0.20.3版本(支持64位应用)
0.18.2版本(支持32位应用)
注意:由于0.20.x版本更换了包名,所以它和0.18.x的版本能同时安装

4、下载合规检测测试程序

该项非必须,仅作为合规快速校验

下载地址:合规检测测试程序apk


二、具体操作

这里以对“合规检测测试程序“的校验进行说明。

1、安装

  • 已root的用户

    1. 安装xposed.apk

在root手机上安装xposed框架的操作可能会比较麻烦,详情问问度娘

 2. 安装合规检测xposed模块.apk
 3. 安装合规检测测试程序.apk
  • 未root用户

    1. 先安装virtual-xposed.apk
    2. 后续操作有两种方案:

第一种可以和已root用户一样,直接将合规检测xposed模块.apk和合规检测测试程序.apk安装在手机真机上,然后在virtual-xposed里面克隆这两个app;
第二种的话就是不在真机装,直接在virtual-xposed里面装,具体操作如下:

  1. 打开virtual-xposed,点击底部的菜单按钮,进入到virtual-xposed的菜单界面

图1

  1. 在菜单界面有两个关键点需要注意,一个是顶部的添加应用,一个是底部的重启。后者在激活模块的时候需要使用。这里我们先点击添加应用

图2

  1. 添加应用界面默认的tab项就是克隆APP,如果使用克隆的方式的话,就要先找到安装的合规检测xposed模块和合规检测测试程序,并勾选,然后选择底部的安装;如果选择的是虚拟机安装,就直接点击右下角的加号按钮,选择本地的apk安装包进行安装。

图3

  1. 在克隆APP中,会弹出是否使用太极安装,我们还是选择virtual-xposed安装

图4

  1. 安装完app后,下一步就是激活模块。我们返回到1中的界面,上滑,进入到app列表界面,在这里可以看见我们刚刚安装的3个app

图5

  1. 最右边的那边Xposed Installer就是我们的xposed控制界面 ,点击进入。大大的绿勾表示我们的xposed框架已经激活。点击左上角三杠

图6

  1. 在弹出来的菜单界面中有两个项要注意:模块用于安装/卸载xposed模块,日志用于查看合规检测的结果,后面会用到。这里我们点击模块

图7

  1. 可以看见有一个合规检测的xposed模块,勾上它。勾上后需要重启系统。如果是root用户在真机下操作xposed框架,就需要真机重启。但是我们用的是virtual-xposed,所以只需要重启虚拟机就行了。这时候,返回到2的界面,点击重启

图8

  1. 重启成功的话,底部会有提示语展示

图9-1 图9-2

2、如何检测

  1. 先打开我们安装的测试app

里面有四个按钮,分别对应四种不同的检测条件,我们以第一种模拟获取IMSI来说明,先别点击任何按钮

图10

  1. 查看日志

回到我们在安装讲解中的第7步界面,里面有个日志选项,点击它。该界面右上角有保存按钮,还有个三个点的菜单按钮,点击菜单按钮后有两个项需要注意:

  • 立即清理日志会清空当前界面的所有日志,我们先点击清空一下
  • 重新载入会刷新最新的日志进界面。因为日志的显示不是自动的,要想看到最新的结果,就要手动刷新。

图11-1 图11-2

接下来回到我们的测试app界面,点击模拟获取IMSI,然后再返回到日志界面,并且重新载入,接着就能看见如下的日志记录:
图12

上面的截图主要针对virtual-xposed来讲的。对于xposed而言,操作大同小异。最大的区别就是xposed需要真实地重启手机,这点的话要麻烦一点。

Logo

网易易盾是国内领先的数字内容风控服务商,依托网易二十余年的先进技术和一线实践经验沉淀,为客户提供专业可靠的安全服务,涵盖内容安全、业务安全、应用安全、安全专家服务四大领域,全方位保障客户业务合规、稳健和安全运营。

更多推荐