有干貨!
老早之前做了一個直播APP(柚子)直播間彈幕的獲取,趁著閑暇寫一下逆向程序,此APP需登錄后才能進入直播間!
1、先抓包
登錄賬號后去抓進入直播間的包,多進入幾個直播間,你會發現進入直播間都會出來這個包:

每次進入直播間都會進行一次ws請求,那么有理由懷疑,進入直播間是通過tcp協議做的,
2、逆向APK原始碼
將apk拖入jadx,根據經驗我們直接查找sendMessage關鍵詞(ws通過sendMessage發送協議資料),不出所尿~,找到了:

既然找到了,那么就通篇讀一下PlayerMessageManager類的代碼,你會發現這些東西:

AndWebSocket、DanmuBean....確定是ws管理類及彈幕獲取入口沒跑了,當然也可以進一步hook確定,
在類中我們發現獲取PlayerMessageManager實體的函式:

傳入的引數有一個LoginInfoEntity物件,點進入看看,發現是用戶登錄的一些資訊:

這時,我們抓下登錄介面的資料,需要的資訊都在回傳資料里面:

3、寫代碼
我們把PlayerMessageManager及關聯的類直接扣下來,然后發送建立ws鏈接并發送請求看看:

通過ws發送資料后只回傳了一個encKey,跟蹤代碼后發現,還需要根據此encKey獲取到roomLimit然后再次發送給服務器:

這樣就能順利的獲取到彈幕資料了,結束!

此app逆向較為簡單,個別key在so層,不過獲取并不困難,我的vx:YY_yhzf
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/264198.html
標籤:其他
