硬核科普:商店里的流氓应用是如何绕过审核和阻止技术分析的?

为吸引更多技术人员加入分析,揭开流氓软件行为,本人主动放弃本文全部版权。

即日起,任何人可随意转载、修改、搬运本文,无需授权,不要署我名

原本我只想揭示某个App流氓且绕过商店审核的行为,但后来发现这并非个例。因此我停止了分析,转而自己写App去验证自己的想法,以便大家更好地了解这些现象。

现在我作为一名流氓软件开发者,通过左右脑互博,梳理出了以下关键点及其解决方法。

怎么提高APP广告的转化率

我列举三个常见但无人提及的方法:

一是接入系统厂商自带的广告SDK。这些下崽器拥有特殊权限,能够调用应用商店进行静默下载和安装。(应用商店的静默下载安装权限无法被用户禁用)

在前几年我还发现就算是开了守护模式(禁止安装应用),此种广告依然能静默安装APP

点击关闭按钮就自动下载、安装推广app,此能力来自厂家自身广告SDK

另一种是广告以全屏形式展开,当用户呼出虚拟导航键(小白条)时,会100%跳转至广告页面。

用户只会以为是自己不小心手滑点到了。

实际上是广告页监听了导航栏,出现导航了说明用户进行了滑动,立马跳屏。

起初我猜测滑动这个松开动作被app广告页捕捉当成了点击。实际呼出小白条操作只会被系统拦截,app无法感知到用户在哪个区域松手。

注意看滑动轨迹,没有额外点击

第三种是“切屏广告”。用户从前台切出App一段时间后,再次返回时,会弹出类似开屏广告的页面。

用户往往误以为是手机内存不足,导致App被后台自动清理了。

这类情况过于普遍,我就不截图了。

其他非技术性的广告套路,例如叠加多层广告、使用深色背景遮挡半透明关闭按钮等,这里暂不展开讨论。

那能进一步提升广告触达率吗?

一种简单的办法就是让用户使用一段时间我们的app,绘制热力图,得到用户常点的位置,然后把广告跳过和进入按钮进行对调。

如果不想让用户很快识别出这种手段,我们可以更换广告类型、样式、按钮大小,让用户感知不到但存在肌肉记忆

此图来自百度移动统计SDK

怎么区分老人、小孩哥进行精准推广

老人和小孩是两个沉默群体,并且其行为特征明显

老人特征

  1. 每一步操作的思考时间都明显长于年轻人

比如滑动操作(按下、滑动、松开)时间>500ms

  1. 底部有三大金刚

比如通过获取手机尺寸和app内界面显示最大尺寸比较,可以判断用户是否开启导航栏

  1. 安装应用列表短剧、短视频、极速版、听书居多

  2. 系统字体缩放比例在“大”以上

小孩哥特征

  1. 因为手指小,可以通过计算按压面积来判定(不是单一指标就断定为小孩哥)

前两次:大拇指(大人);后两次:尾指(模拟小孩)

  1. 安装软件里游戏居多,并且很多是商店里的小型游戏

这些是用户画像的重要一部分,只要我们精准识别为老人小孩群体,广告就可以不限制的推送给他们。

那用户拒绝了读取安装的软件列表权限,我们还能获取吗

用户以为拒绝了就不会被读到应用,实际可以绕过,如图

禁止了应用权限,依然可以绕过获得应用列表

要是有人抓包怎么办

检测代理,只要发现开着代理就改变自身行为(禁止发送敏感数据、停止展示流氓广告)

根据用户网络环境改变app行为

如果有人要逆向app怎么办

对抗是无止尽的,混淆、加固、反抓包能防住一般技术人员分析即可。我们这种体量的APP大佬们不会看上的

如果APP被盯上了要怎么办

如果被多方盯上了我直接滑跪,下架避避风口,然后改名再来

再不行就换皮上架,提前申请备用的版号

此为示例图,和本文无关

那要是用户要卸载怎么挽留

用户习惯性使用长按图标卸载,我们就可以加个假卸载入口来迷惑用户

然后进入后就发一些福利来挽留用户

快捷菜单虚假卸载引流

要是有用户要投诉我们呢

比如我们接入的广告,我们就放一个假投诉按钮,投诉到我们自己平台

再在app个人中心里放一个投诉反馈。

截流是一种高效的手段。我们单独给这部分用户开绿色远控

投诉截流

用户要录屏发到网上曝光,我们能阻止吗

没有接口用于检测悬浮窗,但是可以通过app内操作后的视图更新速度(帧率)来推测是否可能开启了录屏

开启录屏后,操作帧会明显波动

测试过播放4K视频悬浮窗等,对app内的操作帧率不会有影响

只有录屏会出现如图的明显掉帧。我对此种检测方法保留意见,仅作示例

关于防止录屏和截图,其实可以直接调用系统接口禁止即可,简单粗暴。我们可以找个理由比如“出于版权考虑,本app禁止截图和录屏”,你看很多的app甚至小程序都开始滥用这个功能。

禁止截图、录屏,强制录屏结果就是黑屏

我们要上架商店,人工审核怎么绕过呢

审核人员的安卓虚拟机、手机都有特定的app,我们只需要单独检测这部分app,如果存在则开绿色通道。

另外,不要惹到律师,他们很难搞。我们可以检测手机上是否有律师常用的“真相取证”APP(com.truthso.ip360.activity)来让APP保持沉默。

远控下发配置白名单

那怎么绕过最上面的审核

可以结合多种手段,检测IP为北京、上海和广州等重点城市,针对性下发远控。

检测到商务、高端机型就随机下发(上面的人总不会在用红米和荣耀吧),让复现难度加大(但我不想一刀切,高端机型也有我们的目标用户)

我花了很多时间收集、逆向、分析、写代码验证,不是为了学习如何成为这样的恶龙,而是为了让这些潜藏在代码深处的恶意,暴露在公众中

当商业利益成为唯一驱动力,技术便不再是服务于人的工具,而异化为操控人的枷锁。

无止尽的试探底线,在透支整个移动互联网生态的信任。

技术本应向善,而不应成为围猎用户的利器。

回归友好广告,守住做人底线。

参考资料(#替换为.)

安卓API文档

developer#android.google#cn/reference/packages

绕过读取应用列表权限获取应用列表的实现方法

github#com/LuoYunXi0407/AppListViewer

更多游戏资讯请关注:电玩帮游戏资讯专区

电玩帮图文攻略 www.vgover.com