每次宿舍一起點(diǎn)外賣誰去拿外賣都是個(gè)大問題,小編宿舍一般選擇微信骰子誰大誰就負(fù)責(zé)去拿,但是小編總是運(yùn)氣差,老是輸,所以琢磨著能否搞個(gè)微信骰子控制器每次都讓色子是6點(diǎn),終于,皇天不負(fù)有心人,果然找到了方法。
準(zhǔn)備工作
2019微信骰子控制軟件是一款免root的Hook神奇Xposed框架。在Hook過程中最重要的一點(diǎn)就是要找到Hook點(diǎn)這也是最難的部分。找到Hook點(diǎn)之后編寫Xposed模塊就比較相對容易多了。
本次測試使用的weixin版本是7.0.3,適配兼容安卓5-9系統(tǒng)手機(jī)
猜想假設(shè)
我們先猜測微信骰子控制器軟件是怎么實(shí)現(xiàn)的。如果有簡單編程經(jīng)驗(yàn)的朋友肯定會(huì)猜測是random函數(shù)。其實(shí)我這么認(rèn)為預(yù)測的。
逆向分析反編譯apk
通過簡單的準(zhǔn)備工作:使用apktool反編譯apk。使用Jadx打開微信的apk。微信較大,打開很慢。
查找Hook點(diǎn)
微信骰子控制軟件查找hook點(diǎn)是最難的部分。在jadx中全局搜索bqf。顯然這個(gè)findViewById()才是我們要找的東西,雙擊點(diǎn)進(jìn)去看代碼。如果有多個(gè)需要一個(gè)一個(gè)看。
編寫模塊
找到隨機(jī)數(shù)的返回點(diǎn),接下來寫hook模塊就簡單了。還有一點(diǎn)要注意的是,微信骰子控制器和石頭剪刀布也是用的這個(gè)隨機(jī)函數(shù)。所以編寫規(guī)則雷同。
最后體驗(yàn)一下微信骰子控制軟件效果如何。
這下終于不用拿外賣了。
新聞熱點(diǎn)
疑難解答