網友逆向工程微信安裝包:11年膨脹575倍到底更新了啥?
提到微信,網友是又愛又恨,日常溝通已經徹底離不了,但體積卻臃腫不堪,動不動就佔用三四十GB的空間,成為手機中佔內存最大的APP。其實,最初的微信確實是“小而美”的,在2011年1月發布的微信1.0版本,安卓APK安裝包的體積僅457KB,還沒有一張照片體積大。已經能夠實現微信發消息這個核心功能。
而2022年6月發布的微信8.0.24版本,安卓APK安裝包的體積已經膨脹到了257MB,比很多PC軟件的體積還要大,11年來膨脹了575倍。
近日,B站UP主“科技老男孩”就通過逆向工程揭秘的微信APK安裝包,看了看它膨脹575倍到底更新了啥。
解壓發現,微信8.0.24版本APK共包含12639個文件,而微信1.0版本只有199個文件,該UP主調侃:“新版微信有98%的文件都是垃圾。”
微信8.0.24中,文件夾主要有:
assets文件夾:體積78.4MB,裡面裝著微信的資源文件,比如自帶emoji表情、字體、收款音頻、微信電話鈴聲等等。
lib文件夾:體積337MB,裡面都是第三方動態庫,一共157個庫,比如解碼、解壓縮等,塞入的功能越多,需要調用的庫也就越多,安裝包體積也就越臃腫。而在微信1.0版本中,只有一個庫,體積僅127KB。
META-INF文件夾:體積2.1MB,裡面存儲了開發者的數字簽名
r文件夾:體積12.8MB,裡面存放著APP資源庫,還有雜七雜八的素材圖片。
resdec文件夾:體積0MB,是個空文件夾。
此外在根目錄下還有17個文件:
AndroidManifest.xml,是配置文件
baseInfo.dat,記錄著classes.dex文件的MD5值
resources.arsc,記錄著文件之間的對應關係
此外,還有14個classes.dex文件,也就是微信編譯後的程序本體。新版共佔用161MB,而初代只有1個classes.dex文件,體積僅256KB。11年暴漲644倍。
繼續逆向工程後,該UP主表示,微信中真正實現聊天的代碼可能只佔0.1%,大部分代碼用來運行小程序、視頻號等功能,“微信佔用的99.9%空間都是存放的垃圾功能和資源。”