使用jadx反編譯 除錯“XX值得買”APP獲取介面簽名key(一)

wenshen發表於2022-01-15

閒來無事,想抓取一下“XX值得買”上排行榜的即時資料,按照通用方法

  1. 安裝夜神模擬器 新增android 5.0版模擬器

  2. 安裝xposed框架

  3. 安裝JustTrustMe.apk

  4. 開啟fidder 配置好模擬器代理

  5. 抓取成功

  6. 把抓取請求引數複製到postman中重複請求,成功

     

     常規來說操作到這步就截止了,不過我突然發現url裡有一個sign引數,說明每次請求是帶簽名的,我把sign修改一下,果然請求失敗了。

     所以問題變成了怎麼得到請求籤名方式,而這隻能通過反編譯來實現了。

 

     於是,開始查如何反編譯,無非是三件套 apktool,dex2jar,jd-gui或者jadx-gui

     先下載好app的最新安裝包,使用apktool進行解包

apktool d -s -f test.apk

 

可以看到,其中有多個dex檔案,所以直接用dex2jar將apk轉換成jar檔案即可

d2j-dex2jar.bat test.apk

     得到test-dex2jar.jar

在jadx-gui中開啟該jar即得到全部反編譯原始碼

 

搜尋上面抓取到的介面地址,定位到相關程式碼

 

看來這個a方法就是簽名方法

點進去以後 找到了key和具體簽名方法

 

 

但是獲取key的方法竟然是一個native方法

 

這可如何是好,本來我想搜尋如何除錯native方法,發現還要看組合語言,這可把我難住了。

不過轉念一想,我不用除錯native,我只要能取到這個native方法的返回值不就好了。

所以,下一步就是用android studio除錯反編譯出的原始碼,獲取到key。

相關文章