如何備份與安裝 Android Split APKs 應用程式套件
2021-1-6 by 高田鑑識
有鑒於近期許多鑑識同仁反應,依 Cellebrite APK Downgrade深入探討 v 1.1 文章內的說明,在進行 Android APK Downgrade 後,當重新安裝備份出之多個 APK 檔案回裝置時常常會失敗,本篇內容將介紹兩個模式取代原有 adb 指令安裝方式,可大幅提升安裝 App 之成功性。
在進入主題之前,先介紹 adb dumpsys 指令,可協助確認要備份的 App 程式版本與檔案數量。以下採 LINE 作為範本,指令分為 Mac 與 Windows 版本,只要點選指令上的「系統版本名稱」,即可複製並貼上至個人電腦上進行測試。
- 查詢 App 版本序號。執行後可得知裝置上的 LINE 為 10.14.2 版本。
指令一、查詢 App 版本序號
輸出一、App 版本序號
- 查詢裝置上的 LINE 是否採 Split APKs 安裝。該指令與之前介紹之 pm path 有相同功能。
指令二、查詢是否為 Split APKs
輸出二、Split APKs 清單
從以上指令得知,測試裝置上的 LINE 除了 Base.apk 外,另有 11 個 Split APKs 皆須備份,共 12 個檔案。清單如下(副檔名皆為 apk)。
- base
- chat_data
- chatroom_background_effect
- clova_search
- clova_search.config.arm64_v8a
- clova_search.config.armeabi_v7a
- config.arm64_v8a
- ekyc
- ekyc.config.arm64_v8a
- ekyc.config.armeabi_v7a
- general_storage_settings_implementation
- registration
Split APKs Installer (SAI)
第一個模式較為簡單,但需於裝置上安裝 Split APKs Installer (SAI) 應用程式。但為確保裝置在整個取證過程皆無上網連線,這時可藉由 APKMirror 網站下載被驗證過的合法 APK 安裝檔案,該方式除可繞過 Google Play Store,也可避免裝置連接上網後所產生之風險可能。
網路上有許多介紹 APKMirror 網站的安全性,可參考(電腦王阿達)的說明,以下不再贅述。
首先,請先至 APKMirror 下載 Split APKs Installer,下載成功後可透過 adb install 指令安裝至裝置上。
- 點選 SAI 下載連接 後,請選擇最新版本的 SAI,以下為 4.2 版本。
圖一、透過 APKMirror 下載 SAI
- 將下載的檔案透過 adb install 安裝至裝置
指令三、採 adb 安裝 SAI 程式
- 在裝置上點選 SAI 後,請依序先執行 LINE 應用程式套件備份。
圖二、透過 SAI 備份 LINE APKs
成功後可在 /storage/emulated/0/Download 下找到備份檔案。接著就可進行 APK Downgrade 提取流程。
- 完成提取後,再次回到 SAI,恢復成原有 LINE 的版本。
圖三、透過 SAI 恢復 LINE
註:第一次透過 SAI 安裝應用程式時,需允許 SAI 可安裝不明來源之應用程式,備份的 LINE 程式才可成功被安裝。
adb instsall-multiple
第二個模式與「Cellebrite APK Downgrade 深入探討 v 1.1」內介紹的指令更為簡易,且成功性更高。唯一麻煩的是若有多個 Split APKs 時,需要一次將所有的檔案名稱輸入,為避免輸入過程有遺漏重要檔案,以下也介紹簡易 Dos 指令來協助安裝。
首先,請先依 APK Downgrade 文章內的說明,將裝置上的 APK 採用 adb pull 指令下載至一個空白的目錄下。
- 完成後先執行 Dir 指令確認檔案數量是否正確。若正確即可開始降板作業。
圖一、共有 12 的檔案
- 降版提取成功後,再回到備份之資料夾,並在 DOS 模式下輸入以下指令將檔案清單匯入 list.txt 內。
指令、將資料夾下的檔案清單匯入 TXT 檔內
- 請使用 notepad ++ 開啟 list.txt 檔,並點選鍵盤的「Ctrl-H」開啟取代視窗,並依序輸入以下資訊:
- 在搜尋內容內輸入「\r\n」。
- 取代為:「Space 」(請點選一次空白鍵)。
- 搜尋模式:請點選延伸。
- 最後最後點選「全部取代」。
圖一、Notepad ++ 開啟 list.txt
- 全部取代後所有檔案名稱會改一行呈現,此時先全選「Ctrl-A」,後再複製「Ctrl-C」。
圖一、複製檔案清單內容
- 再次回到 Dos 下,請先輸入 「adb install-multiple」,再執行「Ctrl-V」貼上檔案明細。執行後即可完成 Split APKs 應用程式套件安裝。
圖一、執行 adb install-multiple 指令
總結
以上兩個方式都可以有效的備份原裝置內的應用程式套件檔案,並可再次恢復於原裝置上。但以安全性而言,建議採用 adb install-multiple 方式,可確保不必要的額外程式安裝。