知乎爆料:蜻蜓 FM 偽造用戶活躍度等數據?


          Warning: Invalid argument supplied for foreach() in /data/cxweb/www/gupowang.com/public/article/view.html on line 71
          8年前


          9f5c3293gw1ei91n6tcfxj20fk078tai.jpg

          先總結一下:
          1、只要你手機裝了蜻蜓,它就會在后臺偷偷啟動進程,讓你手機電量狂瀉,供養“神蜻蜓”在后臺永活,android小弟我終于頓悟:為嘛老子的電量老辣么快玩完。
          2、永活的“神蜻蜓”,為它的造假程序起了一個亮瞎眼的名字“普羅米修斯”,這神程序會自動刷每日活躍用戶數,玩殘第三方統計監測。關鍵秘密:打開用戶看不到的透明界面,即使是用戶在閉屏狀態,照樣能打開并向我們公正的第三方數據公司,發“用戶打開了蜻蜓FM應用”這條通知,結果,在第三方數據統計里,日活又加一個。
          3、蜻蜓FM接著將他的日活數據秀給投資人,看看俺的1000萬DAU,比QQ音樂還牛逼,來來來,用錢砸我吧
          4、悲催的投資人,掏出了大筆的鈔票給一個神級的詐騙犯。

          Android小弟我,真是驚呆了,蜻蜓fm都啥人呵,搞出這個普羅米修斯大神詐騙程序?

          扒皮細節如下:

          打開蜻蜓App,我發現它在后臺跑的進程的數量異常多:



          c22f283d43fa1ba192030b97883744b0_b.png

          5個進程,你沒有看錯就是這么多!!!而且這幾個進程相互守護,無法徹底全殺死,就好比十雙筷子,牢牢抱成團。到目前為止,從來沒見過一款應用會起這么多進程。為了知道他為什么要啟動這么多進程,我反編譯了蜻蜓的app,由于蜻蜓的代碼居然沒有混淆(程序員都忙著造“神”去了),結果我很快就見到了“神”。

          關鍵進程:NotificationService


          40731596fbd94c85369ddb631943ebc3_b.png

          manifest.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方法。

          3dde5e8b801b304cb6f9aa27567b1e90_b.png

          而restartThread方法中會啟動一個叫MessageThread的線程

          a301263ebf6b74568af237a90cae8336_b.png

          第二步:

          看看神奇的MessageThread做了一些什么事

          f39e0fa5da38dea2ccf7daa1d43bd21e_b.png



          注意:發現一個叫"執行普羅米修斯"execPrometheus的方法,普羅米修斯,智慧之神,看名字就覺得牛逼!再來看看他的實現,它最后調用了一個神奇的方法doPrometheus,當然中間有一些條件判斷,比如多長時間“普羅米修斯”一下,例如:

          d296f9bc9cdf2919da0a5ad5d35b4a3a_b.png

          最后咱來看看這個“普羅米修斯”的最后實現方法:

          03070562d8201f37c38a2aa63b7338bf_b.png

          啟動了一個ShieldActivity,當我閱讀ShieldActivity的源碼驚奇的發現,這個activity居然什么事都沒做,是個無界面的activity,類似透明窗口,并且2s之后銷毀結束自己。

          577397b9329aceb4d48352fbbe0d3595_b.png


          那這個打開的activity什么要做這個事呢?讓人觸目驚心,高DAU(就是投資人追著數錢的日活)和啟動次數的神話誕生了:

          eec01fcac115e166b42b974876ea0c96_b.png

          為了偽造DAU,欺騙umeng,talkingdata,艾瑞等知名第三方數據公司,增加虛擬活躍用戶,蜻蜓真是智慧到了神的地步。自啟動無窗口的透明activity界面調第三方數據公司的API。

          為了徹底搞明白功用,我還寫了一個demo,在后臺啟動一個透明界面,發現umeng確實會把它算為活躍用戶。驚才絕艷呵,原來蜻蜓fm是這樣造出來的活躍用戶,這真是玩殘投資人的絕招吶!

          感興趣的小盆友,自己下載蜻蜓FM的apk反編譯代碼看看吧。


          內容來自知乎


          大家都愛搜:互聯網資訊 類類有話說 App推廣 運營經驗 線下推廣 活動推薦 微信營銷 姑婆專題 姑婆圈 ASO 校園推廣 地推 ASO100 渠道刷量 校園運營團隊

          姑婆那些事兒(www.3377on.com)是互聯網推廣運營知識分享平臺,關注移動推廣(android,ios)運營,網站推廣運營、校園推廣及互聯網領域最新動態 。歡迎關注我們的微信(gupo520),新浪微博(姑婆那些事兒)

          收藏

          {{favCount}}

          個人收藏

          投稿請戳這里!投稿
          0

          次分享

          文章評論(0)

          {{ user.nickname }}
          發表評論
          登錄 進行評論
          加載更多 正在加載中... 沒有更多了