Android审核:用户授权前获取mac地址,imei等用户敏感信息的方法(工信部要下架APP)加固信息

此方法可以用来大家自己检测自己的app是否非法调用了用户信息。

前言

由于开发的公司的APP被工信部警告,有违法手机信息,APP以隐私政策弹窗前,非法收集用户信息,mac地址。

排查过程

通过抓包我们确认没用在弹出隐私条款前,发送类似的接口上报敏感信息,后和工信部电话沟通确认是只要你有调用getMacAddress此方法,就认定为非法的,即使你没有上报。所以就想怎么抓取那些sdk调用了getMacAddress,下面就是找方法的过程。。。N+1小时后,我确定是360加固额外获取了这些信息。

确定方案

使用VirtualXposed在手机上装了一下虚拟系统。
https://github.com/android-hacker/VirtualXposed/issues

HookLoginDemo: 这是一个用来拦截方法的程序,具体是你需要拦截那些方法,可以在HookLogin中自定义。(原理不做过多阐述)
https://github.com/sgl890226/HookLoginDemo

使用方法介绍:

  • 1)安装两个到你的手机。

  • 2)打开VirtualXposed 把你要扫描的应用和HookLogin装入虚拟系统。
    点击底部按钮–>添加应用–>选择你的应用,如:自己要排查应用&HookLogin

  • 3)向上滑动打开Xposed选择模块,勾选中该选项,然后在设置 重启
    Android审核:用户授权前获取mac地址,imei等用户敏感信息的方法(工信部要下架APP)加固信息_第1张图片

  • 4)然后依次打开安装的应用(切到后台,不要杀死应用),xposed–>hooklogin)–>你要的检测应用,注意停留一会(10s左右),让log写入文件中。注意清空一下后台,防止其他应用错报,也可以在HookLogin限制一下包名,大佬们看一下代码就知道怎么改了。

  • 5)xposed切换到日志模块,查看输出内容,也可以到导出

日志内容如下:


可以把所有调用我们想知道的方法都排查出来。

整个流程就是这样,顺便说一下,我们的应用是因为360加固后默认360在加固过程中添加了获取mac地址的方法,导致被整改。
我们找方案的过程中试了还几种加固:
如:
360加固–加固后的包加了mac地址,审核被拒
腾讯乐加固–加固后使用该方法打不开,目前不能确定是否可以。
百度加固–加固后使用该方法打不开,目前不能确定是否可以。
梆梆加固-加固后没有增加额外信息 – 目前我们使用的方式
爱加密–加固后被屏蔽了日志,目前不能确定是否可以。

实际,这个方法不仅能用来排查审核内容,还可以运用到三方sdk冲突的解决,定位错误方法等,总之是排查三方库和整理隐私条款的一个利器。

HookLogin.java 33 行替换成 
 if (!pageName.contains("com.xxx.app")) {
      return;
    }

你可能感兴趣的:(macos,安全)