硬核解析:长辈手机上的广告无限跳转快应用是如何实现的?

通过抓包分析和开发者文档,揭开快应用广告无限跳转背后的技术原理

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

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

背景

我想你一定遇到过下面这种情况:打开app时,拉起了很多快应用

快应用无限跳转演示

网上对于以上"病毒式跳转"的议论猜测有:

  1. 通过轻微的"摇一摇"从而使得合规跳转
  2. app自己偷偷点击广告

但都止步于猜测,始终缺少实例证据。于是我在通过抓包数据分析和阅读开发者文档后,发现事情没想的那么复杂。

快应用 和 普通广告跳转APP 不同

普通广告跳转

普通广告触发要跳转app会被系统拦截并弹窗询问

普通广告弹窗

快应用跳转

而快应用的跳转是独立设置的,即你没拒绝就默认跳转

快应用跳转方式

具体实现

知道了这些,那我们就可以实现和头图相同的行为。

唤起快应用的方式

唤起方式和普通app无异,都是通过intent,传递快应用协议和包名,比如:

1
hap://app/com.zywl.tdwallpaper

唤起演示

复刻无限唤起行为

app是怎么接到这些快应用广告的呢?

现在的app都不会自己接广告,而是接入广告SDK,广告由SDK推送

广告SDK推送流程

一个app内通常有多个广告SDK

广告SDK的合规性

那广告SDK不都要符合遵循广告法吗?

我举个例子,最前面我们展示的APP无限唤起快应用的动态图,通过抓包和日志可以得到广告由巨量引擎下发。广告由广告主在巨量引擎后台配置,其中可以配置落地页(即网页),其官方AI告知可以嵌入"合规"的js,那这么长的一个链条,哪个环节出了问题呢?我并不知道。

不要问我为什么不实际验证,要测试必须是企业用户

巨量引擎文档截图

关闭方法

至于关闭方法,网上的教程数不胜数,在此不赘诉。

常见问题解答

为什么不同品牌手机的快应用设置、功能会有差异?

快应用联盟只统一技术规范,具体实现由各大系统厂商安排。也就是说,厂商可以遵循,可以不遵循,可以禁用特定功能,可以开放特殊接口。

为什么国家网络安全通报中心报告中没有一个是快应用?

快应用目前还没有特别流氓的应用(或者我没发现),流氓的是外部(网页、app)跳转快应用这个行为。

为什么app频繁拉起快应用这种严重影响体验的行为不会被厂商遏制?

快应用的发展是严重滞后的,2021年说解决跳转问题,几年过去了都没见进展。

发展滞后

除了这个因素,还有一些app利用技术手段逃过上架商店的人工审核,具体行为解析我会在下一期讲。

参考资料

原作者: img

周铁男是我(小黑盒)