如何備份與安裝 Android Split APKs 應用程式套件

2021-1-6 by 高田鑑識

有鑒於近期許多鑑識同仁反應,依 Cellebrite APK Downgrade深入探討 v 1.1 文章內的說明,在進行 Android APK Downgrade 後,當重新安裝備份出之多個 APK 檔案回裝置時常常會失敗,本篇內容將介紹兩個模式取代原有 adb 指令安裝方式,可大幅提升安裝 App 之成功性。

在進入主題之前,先介紹 adb dumpsys 指令,可協助確認要備份的 App 程式版本與檔案數量。以下採 LINE 作為範本,指令分為 MacWindows 版本,只要點選指令上的「系統版本名稱」,即可複製並貼上至個人電腦上進行測試。

  1. 查詢 App 版本序號。執行後可得知裝置上的 LINE 為 10.14.2 版本。
Mac/Linux
Windows

指令一、查詢 App 版本序號

輸出一、App 版本序號

  1. 查詢裝置上的 LINE 是否採 Split APKs 安裝。該指令與之前介紹之 pm path 有相同功能。
Mac/Linux
Windows

指令二、查詢是否為 Split APKs

輸出二、Split APKs 清單

從以上指令得知,測試裝置上的 LINE 除了 Base.apk 外,另有 11 個 Split APKs 皆須備份,共 12 個檔案。清單如下(副檔名皆為 apk)。

  1. base
  2. chat_data
  3. chatroom_background_effect
  4. clova_search
  5. clova_search.config.arm64_v8a
  6. clova_search.config.armeabi_v7a
  7. config.arm64_v8a
  8. ekyc
  9. ekyc.config.arm64_v8a
  10. ekyc.config.armeabi_v7a
  11. general_storage_settings_implementation
  12. registration

Split APKs Installer (SAI)

第一個模式較為簡單,但需於裝置上安裝 Split APKs Installer (SAI) 應用程式。但為確保裝置在整個取證過程皆無上網連線,這時可藉由 APKMirror 網站下載被驗證過的合法 APK 安裝檔案,該方式除可繞過 Google Play Store,也可避免裝置連接上網後所產生之風險可能。

網路上有許多介紹 APKMirror 網站的安全性,可參考(電腦王阿達)的說明,以下不再贅述。

首先,請先至 APKMirror 下載 Split APKs Installer,下載成功後可透過 adb install 指令安裝至裝置上。

  1. 點選 SAI 下載連接 後,請選擇最新版本的 SAI,以下為 4.2 版本。

圖一、透過 APKMirror 下載 SAI

  1. 將下載的檔案透過 adb install 安裝至裝置
Copy to Clipboard

指令三、採 adb 安裝 SAI 程式

  1. 在裝置上點選 SAI 後,請依序先執行 LINE 應用程式套件備份。

圖二、透過 SAI 備份 LINE APKs

成功後可在 /storage/emulated/0/Download 下找到備份檔案。接著就可進行 APK Downgrade 提取流程

  1. 完成提取後,再次回到 SAI,恢復成原有 LINE 的版本。

圖三、透過 SAI 恢復 LINE

註:第一次透過 SAI 安裝應用程式時,需允許 SAI 可安裝不明來源之應用程式,備份的 LINE 程式才可成功被安裝。

adb instsall-multiple

第二個模式與「Cellebrite APK Downgrade 深入探討 v 1.1」內介紹的指令更為簡易,且成功性更高。唯一麻煩的是若有多個 Split APKs 時,需要一次將所有的檔案名稱輸入,為避免輸入過程有遺漏重要檔案,以下也介紹簡易 Dos 指令來協助安裝。

首先,請先依 APK Downgrade 文章內的說明,將裝置上的 APK 採用 adb pull 指令下載至一個空白的目錄下。

  1. 完成後先執行 Dir 指令確認檔案數量是否正確。若正確即可開始降板作業

圖一、共有 12 的檔案

  1. 降版提取成功後,再回到備份之資料夾,並在 DOS 模式下輸入以下指令將檔案清單匯入 list.txt 內。
Copy to Clipboard

指令、將資料夾下的檔案清單匯入 TXT 檔內

  1. 請使用 notepad ++ 開啟 list.txt 檔,並點選鍵盤的「Ctrl-H」開啟取代視窗,並依序輸入以下資訊:
    1. 在搜尋內容內輸入「\r\n」。
    2. 取代為:「Space 」(請點選一次空白鍵)。
    3. 搜尋模式:請點選延伸。
    4. 最後最後點選「全部取代」。

圖一、Notepad ++ 開啟 list.txt

  1. 全部取代後所有檔案名稱會改一行呈現,此時先全選「Ctrl-A」,後再複製「Ctrl-C」。

圖一、複製檔案清單內容

  1. 再次回到 Dos 下,請先輸入 「adb install-multiple」,再執行「Ctrl-V」貼上檔案明細。執行後即可完成 Split APKs 應用程式套件安裝。

圖一、執行 adb install-multiple 指令

總結

以上兩個方式都可以有效的備份原裝置內的應用程式套件檔案,並可再次恢復於原裝置上。但以安全性而言,建議採用 adb install-multiple 方式,可確保不必要的額外程式安裝。