在抖音PC端刷直播看小姐姐,看到屏幕上的的彈幕,禮物刷屏就想看看抖音這塊是怎們實現的,沉思一會兒擼起袖子果斷開干,打開開發者工具上對抗,先隨便進一個直播間,然后全局搜索signature,結果不太喜人,搜索結果太多,只能一個個檢查,一番查探后最終確認關鍵點,需要解密必須先要解決X-MS-STUB字段
image.png
既然已經找到突破口,那么就是直接開始debug方法k,一番debug后找到k的方法實現,將相關代碼摳出解讀發現還需要以來外部三個模塊,根據id全局搜索外部依賴,并將相關方法還原出來,經過不斷測試最后根據自己需要將方法進行調整以滿足自己的需求
image.png
image.png
image.png
對相關代碼測試后對結果還是比較滿意的,同樣的入參和原生的加密結果一致
image.png
在拿到X-MS-STUB的值后,接下來就是找到byted_acrawler的加密方法了,看到byted_acrawler稍感親切因為今日頭條的signauture加密也是通過byted_acrawler來加密的,不得不說字節還是有傳承的,那么就按照之前今日頭條的方法來逆向一把。
老辦法根據入口找到具體的代碼段,打開一看還是之前的混淆加密方式,直接摳出代碼,在瀏覽器中執行了一下,沒問題可以正確執行,無需調整,接下來就是補環境了,一陣搗鼓后,可以直接脫離瀏覽器執行并且能夠返回結果
最后一步上真實鏈接測試是否管用,由于抖音直播推流是用的websocket,我們本地構建一個websocket進行測試,具體涉及到協議的部分,后面有時間再聊,今天的重點是signature,經過測試結果不錯,打完收工!!!
image.png