蜻蜓FM 涉嫌诈骗投资人和广告主源代码剖析

感谢“左莫”、“任正”等热心正义的 友–左莫,任正的最早的回答猜测已经被蜻蜓FM通过创新工场关系让知乎删除了,而且此贴已经锁定,蜻蜓FM还在不停赞下面无关紧要的垃圾评论。希望大家一起站出来抵制这种造假和疑似诈骗的行为。

蜻蜓FM是一款音频app,最近我反编译了他的源代码,主要原因是最近有篇文章:

5个进程,你没有看错是5个进程!!!而且这几个进程相互守护,无法彻底杀死,十双筷子哟,牢牢抱成团。到目前为止,从来没见过一款应用会起这么多进程。为了知道他为什么要启动这么多进程,我们怀着好奇的心,反编译了蜻蜓的app。结果发现了一些很奇怪的事情。

第一件事就是,他们的App代码居然没有混淆,开发人员真省事,阅读代码如同阅读源码。在我们阅读源码的时候,我们发现了今 

而restartThread方法中会启动一个叫MessageThread的线程

我们发现一个叫”执行普罗米修斯”execPrometheus的方法,智慧之神,看名字就觉得牛逼的一腿!我们再来看看他的实现,它最后调用了一个神奇的方法doPrometheus,当然中间有一些条件判断,比如多长时间“普罗米修斯”一下,例如:

那这个打开的activity什么要做这个事呢你触目惊心,高DAU和启动次数的神话诞生了:

Zeus类里面主要新建了一个WebView(浏览器)对象,好像这并没有什么问题,但是你仔细观察发现,这个神奇的Zeus类,它并没有把webview对象添加到任何可见化界面上,比如常见的Activity/Fragment等。 那它为什么要在后台内存中放一个webview呢知道android的webview本身实现的并不好,存在大量的bug,开发过android的程序员大概都知道这点。这东西,耗电,耗内存。 继续分析,我发现两个关键函数setZeusUrl()和startZeus(),两个函数的实现如下:

看到这个我都惊呆了,原来伟大的宙斯是用来在后台偷偷的打开 页链接的。打开的 页链接用户还是看不到的。

那他为什么要这么做呢,对蜻蜓FM又有什么好处呢/p>

随时宙斯源码阅读的进一步深入,我越来越不敢相信自己的眼睛,我们再来看看他们给第三方广告公司(比如秒针、AdMaster之类)发送数据的类ThirdTracker,同样有惊人的发现。 ThirdTracker里面有给各大第三方广告公司发送数据的代码逻辑,如下:

这个方法的调用者为RootNode类的onClockTime方法(闹钟 吐槽:这位开发兄弟,你能不能不起这么直白的名字,你老板的内裤都被你暴露了),但从这个方法的名字来看,就感觉这个类有问题,是不是每间隔一段时间,后台偷偷给广告商发送数据呢/p>

那dispatchClockEvent方法又是谁调用的呢家捂好小心脏,见证奇迹的时刻到了,宙斯也是永活的:

qtprocess

宙斯真是名副其实,从富有的广告主那里拿到了钱,做成了完美的盈利模式。 表给投资人一看,完美!蜻蜓FM你就是明天的BAT啊!你是宙斯,你创造了中国互联 未来的“神话”,广告主和投资人就任你欺骗,任你玩,你要把中国移动互联 做成什么样的模式!

蜻蜓线上最新版apk v5.0.1反编译源码教程

apk不会造假的,google签名的,造假得破解google签名

第一步

首先我们直接用一个解压apk(开发过android应该知道apk其实就是个压缩文件),解压之后拷贝出里面classes.dex文件待用。

第二步

下载dex2jar工具,最新版下载链接dex2jar下载
解压之后,打开cmd,进入解压目录,运行命令:
d2j-dex2jar.bat classes.dex(上一步解压的) jarpath(反编译dex后的文件目录)
example:
d2j-dex2jar.bat c:userqtingclasses.dex c:userqting 
*反编译之后,会得到一个classes-dex2jar.jar文件,待用。

第三步

下载JD-GUI(反编译jar神器),最新版下载链接JD-GUI下载
解压之后,双击打开,直接把上一步得到的的classes-dex2jar.jar文件直接拖入JD-GUI里面,你就可以随意查看蜻蜓的源码了。

Summary

蜻蜓FM的Android程序员难道你们的节操都碎了么没有节操的你们确实很文艺–普罗米修斯,宙斯,还有阿波罗,你们是神一样的团队! 史上最牛逼造假App蜻蜓FM神一般的数据造假手段,让投资人和广告主欲哭无泪,让中国整个互联 都涨姿势了。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2016年4月7日
下一篇 2016年4月8日

相关推荐