测试目的:避免受欢迎的app被工信部点名下架给公司造成影响
测试环境搭建:
- 手机先安装xposed,也就是虚拟系统,务必使用我提供的xpose的apk,不然你可能出现安装的xpose虚拟apk以后,在选择安装软件的时候,会出现不支持32位安装,这样就无法测试,这时你只能选择32位还是64位的Xposed;
- 安装sherlock apk,直接安装手机,具体apk地址github地址是:https://github.com/AbandonCoding/sherlock,你可以自己编译apk;
- 安装测试的apk,然后点击打开VirtualXposed软件,
点击添加应用,然后选择sherlock和测试的apk,然后点击安装,安装结束以后; - 在Xposed的设置页面,点击模块管理,选中,
然后返回到设置页面 - 在xposed的页面,进行上拉,
然后点击sherlock,进入到首页,显示helloworld,
然后返回到应用页面; - 然后点击需要测试的app,打开以后,进行操作,然后操作完以后,然后隐藏;
- 在搜索应用页面,点击xpose installer,进入的页面,点击设置,
进入的页面,点击日志,就可以看到被测试的app的一些日志;(记得要先打开sherlock,再打开测试app) - 主要关注日志哪些权限被调用了;
测试原理:
整体Xposed框架模块的工作原理就是Hook,Hook使它能够将自身的代码融入被Hook的程序进程中,成为目标进程的一个部分,然后进行监控app的输出;
工具apk下载地址:
链接:https://pan.baidu.com/s/11elMYQ3eCvG2N_F-O1nQhw
提取码:4399
测试场景:
1.进入测试app以后,然后在没有点击授权的情况下,退出app,然后查看日志,看是否有调用权限,如果没有是正常的,有就是不正常;
2.进入测试app以后,点击授权,然后授权结束以后,进入到app首页,然后查看日志,是否调用的权限是我们目前app所需要的权限,这个权限可以跟开发确定,然后查看是否多获取了权限,如果有的话,提交Bug;
3.针对某些需要获取权限的场景,进行权限获取,确认是否获取了多余权限;
4.进行常规测试功能使用,然后查看获取的权限,是否多获取了,这个具体APP会获取哪些权限,可以直接跟开发确认或者反编译apk,查看配置文件;
5.app使用过程,看下获取的权限频率是否过多;目前频率是否过多,比较难以衡量,具体就看下这个场景是否需要以及根据工信部的要求来确认;