宅男抖音某貓協議分析及應用破解


 分析傳說中的快x,順便提供破VIP線路及去啟動廣告方法。


在當今這個由應用市場主導的網絡上,流傳着一批應用,它們低調又神秘,依賴口碑與獨立網站在地下渠道傳播,應用市場中從來都找不到它們的身影。這類應用,一般行走在社會的邊緣地帶,但是,卻滿着了一部分人群的隱秘需求。當然,這些應用產生着大量值得協議分析人員去分析的流量。


本文將介紹一個從18年初開始火熱,近期火熱程度再上一層樓,並在各個應用市場上出現了不少山寨品的地下應用。它就是傳說中的宅男抖音,天生的缺陷導致無法在應用市場上架——快x。


首先從它近期的百度指數來感受一下它的熱度:

640?wx_fmt=png


再來看看某應用市場上掛它的名字的應用,輕松獲得幾十萬下載,不知下載這些山寨快x的兄弟一切可安好:

640?wx_fmt=png


作為一篇協議分析的專業文章,本文將先對這個應用產生的流量進行分析,接着介紹去除這款應用討厭的啟動廣告和破解它的VIP線路功能的方法,提高使用效率。


01

協議分析


本章對快x的網絡傳輸協議進行分析,並逆向其數據加密算法。


首先使用wireshark對應用啟動及部分使用過程進行抓包:

640?wx_fmt=png


可以看到它的數據是使用http傳輸的,但請求體和響應體內的數據是被加密和編碼的,需要解析的話,就需要從應用的APK包中去尋找答案了,常規流程,使用android killer或jeb,就看個人喜好了,我是兩個一起用。


這個軟件很簡單,無任何混淆和加固,邏輯也很清晰明了。直接搜索url內的關鍵字,很快就能定位到加密算法部分:

640?wx_fmt=png


再往里,加密算法實現部分:

640?wx_fmt=png


就是簡單的AES/CBC/PKCS5Padding加密,key和iv都是固定的,加密后的十六進制直接hex編碼,請求體中,data字段是加密的,響應體部分則全部是加密的。


直接將報文內的加密數據取出來進行解密,很容易就得到了原始數據,在算法上,這款軟件不愧為良心軟件,程序員不為難程序員的典范:

640?wx_fmt=png



這款軟件的網絡流量數據分析,我就看了這么多,別的沒看,后續還有些數據疑似是采用別的密鑰加密的,有興趣的伙伴們可以深入分析下。


02


應用修改


既然拿到了這個應用,當然要使用一番,內容確實是為宅男量身定制,火爆而直接,部分為霓虹國表演藝術家的作品,當然也有本國勞動人民的放飛自我的作品。


但是,這款軟件的啟動頁面實在是討厭,一張簡單直接的圖片,展示十秒之久,只要輕輕一碰,就要跳轉到瀏覽器去訪問一些下載頁面,嚴重影響用戶體驗。


另外,注冊登陸后,會有VIP線路可供選擇,當然這是VIP賬戶才擁有的特權。很無奈,碼農都窮啊,看見VIP只能空流淚,但碼農都有一分積極向上不畏艱難的心,對不對?所以也想嘗嘗VIP待遇是什么味道。


基於這兩點,本碼農決定對這款應用做下小小的修改,改善啟動體驗以及嘗試自由選擇VIP線路,這里,我們需要用到Android killer,另外使用jeb作為輔助,都很簡單,之前有計划寫些文章對它們的使用進行介紹,但目前仍未動手,很是抱歉,大家可以自行上網搜索使用教程。


首先是啟動廣告,直接找到啟動的入口activity,現在需要在smali中找到控制啟動頁圖片的地方,這一步使用jeb會方便點。很快就定位到了控制啟動頁面的顯示時間的地方:

640?wx_fmt=png


640?wx_fmt=png

看見這些大數字10000(0x2710)了嗎?確實和我們的使用體驗相符,大概十秒左右,在android killer中,找到這塊,把數字無腦修改小,修改為        1000(0x03e8),保存,多搜索,大概有三處需要改下,都在這個activity內,順便把加載啟動圖片的語句一塊干掉。

640?wx_fmt=png


這樣,很簡單地,啟動頁顯示時間就修改好了,並且這個軟件在報文層面,基本與原始軟件保持了一致。這個啟動頁其實沒啥內容,主要就是廣告,大家可以嘗試修改一些地方,直接將這個啟動頁跳過,很簡單,方法在這里就不詳細展開了。


接下來要解決VIP線路切換的問題,以提高碼農生活質量。在沒有切換權限時進行切換,會有提示“xxx VIP xxx”這個字符串,中文的,使用Android killer不太好搜,需要轉unicode,我喜歡無腦操作流,於是直接搜“VIP”,出來的東西多點,一個個點就是了,大家根據個人喜好操作即可。很快定位到這個彈框的地方,再看看上下文,有一個很明顯的判斷是否為VIP賬號的函數:

640?wx_fmt=png


再搜索下這個函數,發現在啟動時還會進行一次判斷:

640?wx_fmt=png


看下判斷相關的smali:

640?wx_fmt=png


可以直接對getIs_vip()函數進行修改,也可以在調用后的判斷分支上進行修改,修改完,保存。


都修改完了,那接下來就是將應用打包了,這個應用,直接打包即可,后面一路暢通。然后,就盡情去體驗這個應用吧。

640?wx_fmt=png

640?wx_fmt=png


VIP線路質量並沒比普通線路優越呀,是不是改的人太多了?或者買VIP的人太多了?


03


結尾


這里純粹是分析技術問題,沒有原始應用的分享,也沒有修改后應用的分享,更沒有應用內容的分享,大家如有需要,自行去探索,提高自身能力是最緊要的。如有協議分析技術探討,可聯系我,共同進步。


只有持續學習,不斷進步,達到頂尖水平,才有資格和實力對抗996,對不對呀?


否則,就只有996.icu的份了。

640?wx_fmt=jpeg

長按進行關注。






免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM