发起人:Robot 管理大师

回复 ( 10 )

  1. 匿名用户
    理由
    举报 取消

    这两天围观了喜马拉雅和蜻蜓的撕逼大战,作为一个圈内技术狗,实在是被喜马拉雅的行为震撼到了,这flag一路立的飞起,感觉是不想在圈里混的节奏了,那我就扒你一把送送你。

    喜马的代码混淆了,反编译后简单看了看结构,搜了一些域名地址关键词这些都没有,继续磕代码会比较慢,先假设存在刷量,从抓包分析开始找证据,开个fiddler,打开app首屏就有广告,顺利找到doubleclick请求。

    点击二级页面,看到也在发doubleclick,嗯也有banner属于正常,点击进入一个功能页,嗯就这么容易,又看到了doubleclick, 这一瞬间我有种还没开始发力你就倒下了的赶脚。。。

    又到处试了试,发现刷的机制很简单,页面切换、后台到前台、锁屏到解锁都会触发,嗯应该是写在onResume里的。

    解锁的:

    切到前台的:

    再补一个综合成果:

    都是doubleclick。略叼略叼!就是这么刷假数据的~

    嗯就这么简单,flag立的好啊,咬之前也不把自己处理好点,就这手段也敢出来现,还tm挑衅行业底线,技术实力着急,智商着急。

    我觉得我开了个好头哈,其他人感兴趣可以继续扒,看有没有牛人从混淆代码里再抓出来点更直接的证据,给丫们再好好上一课,不过得抓紧,有可能是纯在线控制的,丫们看到这个估计就会关了。

    这帖子可能得罪人,得匿得匿~

  2. 孔庆勋
    理由
    举报 取消

    楼上都是技术角度,我从资本这个角度回答一下,长文,抛砖引玉。

    其实数据造假这个在国内是公开的秘密,在国内做APP你不加个自启动代码刷出3倍5倍的活跃用户骗骗投资人都不好意思在圈里混……但是为什么之前这种撕逼很少呢?

    第一,之前是一个(所谓的)蓝海,大家更愿意和谐共处。

    第二,之前的投资估值是对标的。

    什么叫对标?比如说,我的一个项目,准备融资,目标是1000万。

    正在这时,我的竞争对手融资了,数据比我差,却融了2000万!(鬼知道实际上是多少……)

    接下来形式对我就很有利——首先,投资人不仅投项目也投赛道,对手融到了钱,就说明赛道没问题。(真的吗?)

    其次,估值要对标。他融了2000万,我至少可以融2500。

    最后,投资人其实是有业绩压力的。行内有句话叫“不怕失败,就怕踩空”。比如说,O2O这一波,如果一个VC居然一个O2O也没投(而且其它项目投的也不怎么样),那恐怕没什么机会再找到LP了。

    所以这种情况下,大家都在跟风投,估值越来越高。这种情况下,创业者之间为什么要撕逼呢?你的估值低了,对我没有任何好处,只有坏处啊!

    但是资本寒冬,情况就不一样了。

    随着估值越来越高,VC都希望套现了……股市情况又不好,纳斯达克中概股哀鸿遍野,至于A股……

    所以就有了‘’B轮死,C轮合,老大吃肉老二喝汤老三死翘翘‘’的说法。现在音频这个行业比较典型,版权费越来越高,变现比视频还困难,蜻蜓,喜马拉雅估值都是过亿美元,考拉,荔枝紧随其后,最近又来了个企鹅,然而到现在都没分出老大来。

    所以现在的情况就是:谁先拿到下一轮,谁就是老大。

    那老二呢?要么像大众点评,赶集,快的被合掉,要么融不到钱,等死。

    这种情况下,喜马拉雅拼了命也要想办法把蜻蜓的融资搅黄。

    喜马拉雅显然准备了很久,蜻蜓显然也没预料到,被动挨打。

    但是你有技术团队,我也有啊。你会分析代码,我不会吗?你有钱做公关,我没有吗?最主要的,数据造假彼此彼此,谁怕谁啊?

    所以为什么这个事能炒的这么热烈?很简单,两家都卯足了劲想干掉对方,所以撕起来也很正常嘛!

    至于结果?

    双输呗!最大赢家反而是考拉和荔枝,我猜过段时间就会传出两家融资的消息了。

    利益相关:FM类产品只用喜马拉雅,只用来听一周一次的罗辑思维,不过现在还占着手机里几十兆内存。至于我算不算他们的活跃用户——谁知道呢?

    扫码关注,加入青年创业社群,期待你与我们一起,创造无限可能。

  3. 姜振鹏
    理由
    举报 取消

    唯一的原因是蜻蜓融到钱了, 喜马拉雅没融到就疯了。

  4. 齐康宏
    理由
    举报 取消

    看楼上发的喜马拉雅抓包分析启发了我,我反编译了一下喜马拉雅app。从原来的抓包分析中看到带有

    在混淆的代码中grep一下find_banner,只出现了一个文件RecommendCategoryFragmentNew。

    看这个名字应该是主页的推荐首页。根据之前抓包情况,在亮屏时能抓到doubleclick和miaozhen的包,那就肯定是在onResume里了。

    RecommendCategoryFragmentNew.java中onResume():

    这里每次onResume调用都会触发statFocusAd,也就是说,在APP每次启动、前后台切换、解锁时,都会启动广告刷量!

    因此这里的statFocusAd会被大量的频繁调用。

    再查看ThirdAdStatUtil.getInstance().statFocusAd(mFocusImages,true):

    看名字像是做广告统计的,但是除了所谓的广告统计,其实还会广告检测请求。注意参数里的third_url就是find_banner里的thirdStatUrl,也就是用户点击的广告地址。

    以下是实际执行的广告刷量代码:

    这里的s正是这个focusimagemodelnew.third_url。这里代码做了混淆,但是看到start方法像是开个线程去做广告刷量,果不其然:

    这里混淆的比较难读,大部分变量名或函数名都变成了a、b、f、obj这样的字母。s就是third_url,付给了a,然后再封装成了一个对象obj。接下来obj作为参数传给f.a().a(*)调用。

    但是刷量逻辑很清晰的,关键代码就在f.a().a(*)函数中,让我们来看这个函数做了什么

    其中f()是类的构造方法,里面定义了e,是个AsyncHttpClient,用来做异步网络请求,后文会提到。f.a()获取singleton单例,下一步是f.a().a(*)的调用。

    f.a().a(*)中的s就是上文中的third_url,即doubleclick的检测链接。代码里用上文中的e(AsyncHttpClient)调用了这个链接。

    总结,在RecommendCategoryFragmentNew的每次onResume调用,都会向配置的third_url发送一次请求。而这个onResume是在什么时候调用呢?应用启动时,切到后台再切回来时,锁屏再亮屏时,打开其他应用再回来时;而且由于这个fragment是放在viewpager里,那么切到别的tab再切回来时也会调用。所以这个third_url在应用使用期间会被大量频繁的访问,恐怕比真的展示多了不只几倍的量。这也解释印证了楼上童鞋提到的抓包分析里面的现象。

    我们再回过头看下third_url刷了哪些第三方广告监测平台。

    首页广告api:

    内容分类中的广告

    配置的是秒针的刷量链接.

    是否有其他刷量的地方,我没有深挖,因为混淆过再反编译的代码阅读起来实在是不怎么顺畅。但这段广告监测请求的逻辑放在onResume里就足以说明一切。

    作为一个资深码农,不得不说,喜马拉雅在刷量这件事上确实动了脑筋。一是代码混淆,隐藏的很深;二是动态下发刷量链接,方案可扩展性极强。利用这种原理,除了刷广告监测,其他http类的请求都可以动态生成访问,想象空间还是很大的,有兴趣的同学可以继续研究,(提示一下,启动的时候有下载其它app的功能,看看有没有同学能分析出来)。

    最后附上反编译的source code:

    有兴趣的童鞋可以自行下载深入研究研究~

  5. 匿名用户
    理由
    举报 取消

    看大家都在引用贴里面那么热闹,本来的技术贴倒是冷静了。

    跟着楼上的指引去看了看那个URL,发现刚刚果然把那个thirdStatUrl置空了…


  6. 匿名用户
    理由
    举报 取消

    本校陈浩副教授曾在Mobisys上发表过一篇如何检测Android ad fraud 的论文,有兴趣的可以看看:

  7. 用户头像
    理由
    举报 取消

    用苹果自带的播客就可以解决一切问题的,安卓的话可以购买Pocket Casts。而国内的音频应用…除了最近的“路上读书”,任何一个我不用,广告太多,使用体验也不行。

  8. 匿名用户
    理由
    举报 取消

    早在08年那波金融危机之后,PC端客户端软件刷广告流量就已经逐渐发展为业内通用的手段了。还记得当年销售总监拿着某华南友商的广告数据跑老大那哭诉说,再不刷广告根本没法卖,数据上我们比别人差好几倍!

    这就是典型的囚徒困境,一家开始作假导致整个行业都被拖下水了。喜马拉雅看似只砸了蜻蜓的牌子,但实际上恐怕无数人心里暗自吃了一惊吧,底裤都扒的这么光了,让老子以后还怎么在圈里混!

    不知道喜马拉雅内部,做刷量的同这次扒蜻蜓底裤的是不是同一拨人。若是同一拨只能说没张脑子;若不是就热闹了,这乌龙闹的。。。

  9. 匿名用户
    理由
    举报 取消

    点了那个链接看,好像配置的刷量链接已经撤掉了?反应好快…

我来回答

Captcha 点击图片更换验证码