坦白說解密安卓版開源TBS-master是一款qq坦白說手機工具解密開源源碼,寫了個安卓的,加載了頭像,點擊后直接跳轉(zhuǎn)到QQ資料卡頁面,并且優(yōu)化了已有的解密的算法(已有的大多數(shù)情況不能完全解密),目前還沒發(fā)現(xiàn)解密出現(xiàn)問題的。
源碼分析
首先,要拿到數(shù)據(jù)的接口,得先拿到對應(yīng)的token,而這個token就是使用skey進(jìn)行一系列計算得出的,這個skey就是登錄QQ空間后從返回的cookie中可以獲取的。計算出token后,就可以放到這個接口,以獲取好友的數(shù)據(jù)為例
```
https://ti.qq.com/cgi-node/honest-say/receive/friends?_client_version=0.0.7&token=
```
這樣就可以拿到返回后的Json數(shù)據(jù),然后就開始操作了
```
{
"code": 0,
"data": {
"confesses": [],
"maxUnread": 0,
"cookie": "CIsB",
"finish": 0
}
}
```
看看,這段數(shù)據(jù)就是返回后的Json數(shù)據(jù),confesses就是返回后的數(shù)據(jù)列表,注意這里面的cookie,也就是進(jìn)行分頁加載需要傳遞的參數(shù),如果沒有數(shù)據(jù)了,這個finish就會變?yōu)?,cookie直接加到后面
```
https://ti.qq.com/cgi-node/honest-say/receive/friends?_client_version=0.0.7&token=計算的token&cookie=CIsB
```
這樣就能加載完整的數(shù)據(jù)了,然后關(guān)鍵是解密,這里的話已經(jīng)有公開的,但是解密不完整,這里我花了一些時間,這個解密的規(guī)則是先2位加密的字符對應(yīng)一位數(shù),然后2位數(shù)字就是1位對應(yīng)1位,3個數(shù)字一組,下一組就又是2位對應(yīng)1位,也就是對應(yīng)4個加密后的字符,這樣的規(guī)則,但是問題就出在了尾數(shù),基本現(xiàn)在的這些就是尾數(shù)會解密出錯,尾數(shù)又是使用的不同解密方式,經(jīng)過多次測試,還是發(fā)現(xiàn)了規(guī)律,如圖,這是尾數(shù)剛好對應(yīng)3位一組的第前2位的。
這就是經(jīng)過多次的對比,總結(jié)出的,但這里又有一個問題,就是不知道qq的位數(shù)和尾數(shù)的加密有沒有關(guān)聯(lián),目前解密已經(jīng)沒發(fā)現(xiàn)問題了,這些就不多說了,給出https://github.com/Xchuanshuo/TBS地址(主頁附有下載鏈接),喜歡的歡迎給個star。