申请ID:咿呀咿呀哟
1、申 请 I D :咿呀咿呀哟2、个人邮箱:2225445976@qq.com
蜻蜓FM是一款音频app,最近我反编译了他的源代码,主要原因是最近有篇文章:http://ww4.sinaimg.cn/large/005SiNxyjw1exvsteotgrj30za07gmzr.jpg不过蜻蜓FM大量的删帖很多已经死链了,太无耻!还活着的链接:蜻蜓造假黑科技新闻充满着好奇,黑科技是怎样做到的呢??蜻蜓FM是如何提高DAU,欺骗友盟,talkingdata摘要看了蜻蜓FM的源代码,先总结一下它整个的工作原理:
[*]后台偷偷启动进程,开到让用户电量飞奔的最大限度,使得神蜻蜓FM在后台永活,作为android的我终于顿悟:为嘛老子的电量老是会这么快用完。
[*]永活的蜻蜓FM,会定时地执行“普罗米修斯神逻辑”,就是狂刷每日活跃用户数,秘密就是:打开用户看不到的透明界面,即使是用户在闭屏状态,这个神界面也会打开。
[*]“普罗米修斯神逻辑”执行时会给我们公正的第三方数据公司,发“用户打开了蜻蜓FM应用”这条通知,结果,第三方数据统计里,日活又加一个。
[*]蜻蜓FM接着将他的日活数据给到投资人,看看俺的1000万DAU,比QQ音乐还牛逼,砸个几亿吧。
[*]悲催的投资人,掏出了大笔的钞票给蜻蜓FM。
作为一个Android程序员,实在是看不惯这种行为,顺便提醒第三方数据公司和投资人,防止一些像蜻蜓FM这样无耻的创业公司欺骗大家。具体步骤具体听我细细道来:首先来看一下我们打开蜻蜓App之后,它在后台跑的进程的数量: http://ww1.sinaimg.cn/large/005SiNxyjw1exvsuo6d8hj30go0pa41w.jpg5个进程,你没有看错是5个进程!!!而且这几个进程相互守护,无法彻底杀死,十双筷子哟,牢牢抱成团。到目前为止,从来没见过一款应用会起这么多进程。为了知道他为什么要启动这么多进程,我们怀着好奇的心,反编译了蜻蜓的app。结果发现了一些很奇怪的事情。第一件事就是,他们的App代码居然没有混淆,开发人员真省事,阅读代码如同阅读源码。在我们阅读源码的时候,我们发现了今天的主角,关键进程:NotificationService http://ww4.sinaimg.cn/large/005SiNxyjw1exvsw36duxj30go0tmabq.jpgmanifest.xml里面注册为:<service android:name=".NotificationService" android:process=":notification"> <intent-filter> <action android:name="fm.qingting.qtradio.NotificationService" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter></service>
当然他也是个小强进程,无法彻底杀死!通过反编译我们发现: 第一步: NotificationService 会在onCreate方法里面调用MessageManager类的restartThread方法。http://ww2.sinaimg.cn/large/005SiNxyjw1exvswvlt9qj30eo03etac.jpg而restartThread方法中会启动一个叫MessageThread的线程http://ww1.sinaimg.cn/large/005SiNxyjw1exvsxg6nxmj30go04z3zs.jpg第二步: 我们看看神奇的MessageThread做了一些什么事http://ww1.sinaimg.cn/large/005SiNxyjw1exvsy60ww0j30go0ex411.jpg我们发现一个叫"执行普罗米修斯"execPrometheus的方法,智慧之神,看名字就觉得牛逼的一腿!我们再来看看他的实现,它最后调用了一个神奇的方法doPrometheus,当然中间有一些条件判断,比如多长时间“普罗米修斯”一下,例如:http://ww4.sinaimg.cn/large/005SiNxyjw1exvsyt2wc7j30go01kdgc.jpg最后我们来看看这个“普罗米修斯”的最后实现方法: 启动了一个ShieldActivity,当我们阅读ShieldActivity的源码惊奇的发现,这个activity居然什么事都没做,是个无界面的activity,类似透明窗口,并且2s之后销毁结束自己。看ShieldActivity类源代码http://ww3.sinaimg.cn/large/005SiNxyjw1exvszfbluzj30go055jsx.jpg那这个打开的activity什么要做这个事呢?让你触目惊心,高DAU和启动次数的神话诞生了:http://ww1.sinaimg.cn/large/005SiNxyjw1exvszw2nhqj30go05ft9u.jpg为了伪造DAU,欺骗umeng,talkingdata,艾瑞等知名第三方数据公司,增加虚拟活跃用户,他们智慧到了神的地步。自启动无窗口的透明activity界面调第三方数据公司的API。 为了证实这点,我还专门写了一个demo,在后台启动一个透明界面,发现umeng确实会把它算为活跃用户。今天我才发现,原来App还能这样提高自己的活跃用户,投资人的钱是这么好骗,这招确实高明,实在无言以对。对源代码感兴趣的:看普罗米修斯实现源代码蜻蜓FM是如何提高广告展示量和点击量欺骗秒针,DoubleClick摘要继续阅读蜻蜓FM的源代码,会看到宙斯类,真有点扛不住,蜻蜓FM你太逆天了,你要创造整个世界啊!不多说了,直接上菜。 既发现蜻蜓牛逼的提升日活普罗米修斯Prometheus—智慧之神后,我们发现蜻蜓又一个牛逼闪闪的服务Zeus(宙斯,牛逼的上帝,无所不能)。蜻蜓你能让我的小心脏平定一会儿吗,又是上演好莱坞大片的节奏。宙斯是蜻蜓FM用来欺骗广告主和第三方广告数据监测公司(秒针,admaster,doubleclick等)的系统:
[*]在用户的手机上会频频打开非常耗内存和电量的组件,webview—浏览器,将它设置到最小化,用户肉眼看不到。
[*]在看不到的webview—浏览器里,蜻蜓FM偷偷的打开了广告主广告图片
[*]蜻蜓FM偷偷的用户程序点击了这个广告图片
[*]将打开和点击的事件发给了第三方广告数据监测公司
[*]广告主掏腰包的时候,根据第三方数据,广告的展示量,点击数量被刷的好的离谱,连连称赞蜻蜓FM数据一级棒,点击率,转化率高,1千万花的值,下次我还找你合作哦,QQ音乐的合约免谈了
[*]蜻蜓FM老板,销售,产品,技术,投资人拿到1千万后,笑的合不拢嘴,发奖金吧,还等什么呢,这钱不就跟捡到的一样么?不知道你们这样诈骗合作方,是否睡得心安理得呢?
不揭露是在不行了,我们来看看里面到底干了什么?步骤看zeus类源代码http://ww2.sinaimg.cn/large/005SiNxyjw1exvt0etbcgj30go0ckgp0.jpgZeus类里面主要新建了一个WebView(浏览器)对象,好像这并没有什么问题,但是你仔细观察发现,这个神奇的Zeus类,它并没有把webview对象添加到任何可见化界面上,比如常见的Activity/Fragment等。 那它为什么要在后台内存中放一个webview呢?要知道android的webview本身实现的并不好,存在大量的bug,开发过android的程序员大概都知道这点。这东西,耗电,耗内存。 继续分析,我发现两个关键函数setZeusUrl()和startZeus(),两个函数的实现如下:http://ww1.sinaimg.cn/large/005SiNxyjw1exvt1iyachj30go08iabb.jpghttp://ww1.sinaimg.cn/large/005SiNxyjw1exvt242dbhj30go0d5tbd.jpg看到这个我都惊呆了,原来伟大的宙斯是用来在后台偷偷的打开网页链接的。打开的网页链接用户还是看不到的。那他为什么要这么做呢,对蜻蜓FM又有什么好处呢?http://ww2.sinaimg.cn/large/005SiNxyjw1exvt2nvdzsj30go077410.jpg蜻蜓FM用一个看不见的浏览器打开广告主的网站,接着用程序模拟用户行为点击。广告的展示率和点击率,顿时提高了一个数量级,原来广告商的钱也这么好骗! 看到这里,我真是佩服蜻蜓FM的老板,销售,产品,程序员,你们确实很聪明,我怎么就没想到呢?聪明的人赚钱真的很容易,违法么,不知道,我们改天都投递简历到蜻蜓吧,涨姿势。悲催的DoubleClick等广告数据监测公司都被这位亲密的伙伴蒙在鼓里,要阻止这样的流氓公司,广告主纷纷站起来说臣妾做不到啊,臣妾不给你上了! DoubleClick是美国一家网络广告服务商,主要从事网络广告管理软件开发与广告服务,对网络广告活动进行集中策划、执行、监控和追踪。http://ww2.sinaimg.cn/large/005SiNxyjw1exvt4hbysgj30ae067mxq.jpg随时宙斯源码阅读的进一步深入,我越来越不敢相信自己的眼睛,我们再来看看他们给第三方广告公司(比如秒针、AdMaster之类)发送数据的类ThirdTracker,同样有惊人的发现。 ThirdTracker里面有给各大第三方广告公司发送数据的代码逻辑,如下:http://ww1.sinaimg.cn/large/005SiNxyjw1exvt53snp2j31ks0i4tkc.jpg从上图一看,各大第三方广告数据公司齐聚宙斯系统,我们和骗神蜻蜓FM一起创造世界吧。我们再来看看这些广告是怎么被蜻蜓FM触发启动的:http://ww4.sinaimg.cn/large/005SiNxyjw1exvt5mwboij30go03ydg4.jpg这个方法的调用者为RootNode类的onClockTime方法(闹钟 吐槽:这位开发兄弟,你能不能不起这么直白的名字,你老板的内裤都被你暴露了),但从这个方法的名字来看,就感觉这个类有问题,是不是每间隔一段时间,后台偷偷给广告商发送数据呢?http://ww2.sinaimg.cn/large/005SiNxyjw1exvt6bdghcj30go07x3zw.jpgonClockTime调用者为ClockManager的dispatchClockEvent方法,如下:http://ww1.sinaimg.cn/large/005SiNxyjw1exvt73mvxrj30go061gmm.jpg那dispatchClockEvent方法又是谁调用的呢?大家捂好小心脏,见证奇迹的时刻到了,宙斯也是永活的:http://ww4.sinaimg.cn/large/005SiNxyjw1exvt7tg157j30go06eta5.jpg宙斯真是名副其实,从富有的广告主那里拿到了钱,做成了完美的盈利模式。报表给投资人一看,完美!蜻蜓FM你就是明天的BAT啊!你是宙斯,你创造了中国互联网未来的“神话”,广告主和投资人就任你欺骗,任你玩,你要把中国移动互联网做成什么样的模式!
这文章好像很多地方都发过,是原创作者吗? 是作者啊,蜻蜓事件很久以前的,被我反编译了 游客 110.201.167.x 发表于 2016-2-17 13:55
是作者啊,蜻蜓事件很久以前的,被我反编译了
那请问你发哪的,来个地址我看看。 本帖最后由 玩的就是技术 于 2016-2-17 19:29 编辑
楼主你真的不是来找CF的外挂的吗{:301_1009:}还是需要我给你一个提示?1455708818.903734.exe
另外你好歹把图片用附件传上来,不然一看就知道来源了
再说了- -360安全播报的都表明来源自开源中国了。你别说开源中国发文章的是你。。
顺便补充一句,原作者其实在知乎某个相关帖子内,有标注的。。
玩的就是技术 发表于 2016-2-17 19:17
楼主你真的不是来找CF的外挂的吗还是需要我给你一个提示?1455708818.903734.exe
另外你好歹 ...
大饼子,嘿嘿。 Hmily 发表于 2016-2-17 15:50
那请问你发哪的,来个地址我看看。
这不是原创贴,从那张蔡少芬的图片右下角可以看出 ...这技术我服
页:
[1]