坦白說解密

一、開篇

最近坦白說也是異常的火,作為開發者的我也去趕緊跑過去蹭了一下熱度,寫了個安卓的,載入了頭像,點擊後直接跳轉到QQ資料卡頁面,並且優化了已有的解密的演算法(已有的大多數情況不能完全解密),目前還沒發現解密出現問題的。

看看圖

二、分析

首先,要拿到數據的介面,得先拿到對應的token,而這個token就是使用skey進行一系列計算得出的,這個skey就是登錄QQ空間後從返回的cookie中可以獲取的。計算出token後,就可以放到這個介面,以獲取好友的數據為例

https://ti.qq.com/cgi-node/honest-say/receive/friends?_client_version=0.0.7&token=

這樣就可以拿到返回後的Json數據,然後就開始操作了

{"code": 0,"data": {"confesses": [],"maxUnread": 0,"cookie": "CIsB","finish": 0}}

看看,這段數據就是返回後的Json數據,confesses就是返回後的數據列表,注意這裡面的cookie,也就是進行分頁載入需要傳遞的參數,如果沒有數據了,這個finish就會變為1,cookie直接加到後面

https://ti.qq.com/cgi-node/honest-say/receive/friends?_client_version=0.0.7&token=計算的token&cookie=CIsB

這樣就能載入完整的數據了,然後關鍵是解密,這裡的話已經有公開的,但是解密不完整,這裡我花了一些時間,這個解密的規則是先2位加密的字元對應一位數,然後2位數字就是1位對應1位,3個數字一組,下一組就又是2位對應1位,也就是對應4個加密後的字元,這樣的規則,但是問題就出在了尾數,基本現在的這些就是尾數會解密出錯,尾數又是使用的不同解密方式,經過多次測試,還是發現了規律,如圖,這是尾數剛好對應3位一組的第前2位的。

這就是經過多次的對比,總結出的,但這裡又有一個問題,就是不知道qq的位數和尾數的加密有沒有關聯,目前解密已經沒發現問題了,這些就不多說了,給出github地址,喜歡的歡迎給個star。

作者: 丶coding

鏈接:imooc.com/article/25203

來源:慕課網

本文原創發佈於慕課網 ,轉載請註明出處,謝謝合作


推薦閱讀:

打造個人品牌 so easy !_慕課手記

攜手GMIC共同打造人工智慧公開課 慕課網CEO陳志峰接受BTV專訪

面試中並發類問題的準備和學習

老衛談技術-掌握「複製-粘貼-改」的IT技能

提高 Linux 開發效率的 5 個工具

推薦閱讀:

TAG:密碼加密 | 解密 | 坦白說 |