手把手_Android應(yīng)用(微信)逆向教程_工具篇(2)

工欲善其事必先利其器。但網(wǎng)上的工具太多了,在開發(fā)過程中我也是都趟了一遍,最終浮出兩個工具,推薦給大家。

1. jadx

一個強大方便的APK反編譯一條龍工具,相比之前需要apktool,dex2jar,jd組合才能完成的工作,jadx確實要方便很多。
除了簡單方便之外,還具有代碼索引,甚至還有"反混淆"功能,然而我的老爺機根本就跑不動反混淆,無法體會到其便利之處。

使用過程中可以明顯的看到,軟件是懶加載的,所以通過包名定位類還是可以的,但如果使用搜索等功能,則會吃掉大量內(nèi)存。我的電腦內(nèi)存經(jīng)常是飚紅的。

在翻看微信源碼過程中,我深刻的感受到,類或者方法的合理命名是多么重要,混淆的代碼看起來真的是費勁,不方便記憶,希望大家在以后的編碼中能真正的重視命名規(guī)范,規(guī)范也是一種生產(chǎn)力。另外,可以適當(dāng)做一下筆記,省的要重復(fù)的翻看~

該工具源碼已在github開源
github: https://github.com/skylot/jadx
下載地址: https://bintray.com/skylot/jadx/unstable/_latestVersion#files

jadx.PNG

2. sqlcipher數(shù)據(jù)庫圖形工具

把微信數(shù)據(jù)庫拖進(jìn)該工具,會有一個輸入密碼的彈出框,然后輸入密碼就OK了。圖形化的操作,更加方便和直觀的看到數(shù)據(jù)表的字段和結(jié)構(gòu),有助于對協(xié)議的理解,也更方便數(shù)據(jù)操作。

微信密碼的生成規(guī)則: md5(imei+uin).substring(0, 7);
舉例: imei:865552038534404, uin:-1451295224
則,md5(865552038534404-1451295224)。

MD5在線加密一下,會生成4種規(guī)格的,取32位小寫前7位。
字符串 865552038534404-1451295224
16位 小寫 57cf24e822aa1f7b
16位 大寫 57CF24E822AA1F7B
32位 小寫 d03866ad57cf24e822aa1f7b5e9c7010
32位 大寫 D03866AD57CF24E822AA1F7B5E9C7010

注意:
a.imei和uin都是字符串,不是做減法。
b.uin獲取辦法。進(jìn)入data/data/“weixin_package”/shared_prefs/auth_info_key_prefs.xml, 讀取"_auth_uin"字段。
下載地址: https://download.csdn.net/download/njweiyukun/9729084

sql.PNG
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容