近期接到一個需求,要對公司之前開發的一款app進行脫殼。因為該app是兩年前開發的,原始碼檔案已經丟失,只有加殼後的apk檔案,近期要檢視其中一項功能的原始碼,因此需要嘗試進行脫殼處理,反編譯後發現該app是使用某數位公司的加殼工具進行混淆加殼的。此外,該app是給特定平板使用的,需要啟用碼進行啟用才能使用,而原啟用碼伺服器已經停止執行,只能通過抓包修改啟用碼伺服器地址進行啟用。該檔案記錄了我成功脫殼抓包的全過程。
我嘗試的Xposed框架的工具均無效,使用IDA檢視底層程式碼後發現JNI經過包裝,修改難度較大,最終通過blackdex及frida框架的dexdump成功抓取dex檔案。
注意:軟體必須啟用能正常使用才能進行抓取dex檔案。
檢視檔案原始碼後發現該apk經過360加固混淆,無法檢視相關原始碼,因此開始本次脫殼之路。
夜神模擬器下載:https://www.yeshen.com/
由於手上沒有用於測試的平板,因此安裝夜神模擬器進行脫殼測試。通過網址下載安裝即可,注意:電腦要在主機板設定中開啟VT,加快模擬器執行速度。
下載安裝完成後,進入夜神模擬器並進行初步設定。檔案管理、設定等都在工具資料夾中。
檔案同步路徑檢視,檔案同步類似於docker中的檔案掛載,在該資料夾中的檔案,模擬器和電腦都可以存取,需要傳到電腦的檔案直接放到該資料夾下就不用匯出,匯出也是匯出到該資料夾下