Introduzione
Oggi è sempre più difficile estrarre prove da smartphone con Android 7 o superiore e non sempre è così facile ottenere i privilegi di root per eseguire un'estrazione filesystem o meglio eseguire un'estrazione fisica decriptata del dispositivo.
Fare un'estrazione logica con gli strumenti di backup forniti dal costruttore, Samsung Kies/Smart Switch, Huawei HiSuite, Xiaomi Mi Backup, etc. o semplicemente sfruttare il backup nativo Android via ADB può portare a un risultato che non è quello tanto "sperato", l'amato/odiato WhatsApp per esempio è escluso dal backup nativo.
Non resta che tentare di scalare le app di interesse ed eseguire il backup nativo, metodo noto come APK downgrade.
Procedura manuale del downgrade (singolo package)
Prima di procedere al downgrade manuale bisogna verificare se il dispositivo è sbloccato o quantomeno essere in possesso del PIN e/o password di sblocco, attivare le opzioni sviluppatore, nello specifico abilitare Debug USB, modificare tutte le opzioni che permettono di rendere possibile l'estrazione dei dati senza intoppi (modalità aereo, resta attivo etc.)...già fatto? vero! hai provato già gli altri metodi di estrazione.
Proviamo a scalare l'applicazione Vinted: vendi e compra vestiti utilizzando la vecchia versione 6.19.2.0 precedentemente scaricata e salvata sul computer con il nome del file "com.vinted.old.apk".
Eseguire il prompt dei comandi.
Lista dei package installati di terze parti
adb shell pm list packages -3
package:com.whatsapp
package:fr.vinted
Lista path del package fr.vinted
adb shell pm path fr.vinted
package:/data/app/fr.vinted-vui9dpo9lDF-F3aDKrvrSA==/base.apk
Copia dell'apk originale sulla workstation
adb pull -a /data/app/fr.vinted-vui9dpo9lDF-F3aDKrvrSA==/base.apk
/data/app/fr.vinted-vui9dpo9lDF-F3aDKrvrSA==/base.apk: 1 file pulled, 0 skipped. 110.4 MB/s (33533699 bytes in 0.290s)
Disinstallazione dell'app originale dal dispositivo preservando i dati dell'utente
adb shell pm uninstall -k fr.vinted
Success
Riavvio del dispositivo
adb reboot
Questo permette di bypassare il seguente messaggio di errore "Failure [INSTALL_FAILED_VERSION_DOWNGRADE]" generato quando si tenta di installare la vecchia versione senza riavviare.
Downgrade
adb push fr.vinted.old.apk /data/local/tmp/fr.vinted.old.apk: 1 file pushed, 0 skipped. 518.3 MB/s (14644009 bytes in 0.027s)adb shell pm install /data/local/tmp/fr.vinted.old.apkSuccessadb shell rm /data/local/tmp/fr.vinted.old.apk
Backup
adb backup -f vinted.ab -apk -obb -keyvalue fr.vintedWARNING: adb backup is deprecated and may be removed in a future release
Now unlock your device and confirm the backup operation...
Inserire la password per esempio "1234". Il backup può essere eseguito anche (consigliato) utilizzando direttamente l'utility di backup bu.
Ripristino dell'applicazione originale
adb push base.apk /data/local/tmp/
base.apk: 1 file pushed, 0 skipped. 240.2 MB/s (33533699 bytes in 0.133s)
adb shell pm install -r /data/local/tmp/base.apkSuccess
adb shell rm /data/local/tmp/base.apk
Android Backup (.ab)
Il file di backup .ab (Android Backup) è proprietario con magic numbers "ANDROID BACKUP", dati compressi con algoritmo deflate e cifrati con AES CBC se impostata la password di backup. Esistono vari tool per convertire il file .ab in .tar, uno di questi è Android Backup Extractor oppure con il tool integrato in dfAPKdngrader.
0 comments:
Posta un commento