Come Estrarre Dati Nascosti e Telemetria da Android tramite ADB Pulito
Quando mi trovo tra le mani un dispositivo di test con un bug intermittente o un comportamento sospetto, la finestra standard di Logcat in Android Studio spesso non basta. Voglio fare rapidamente uno snapshot del sistema: quali account sono collegati, quante volte il telefono è stato riavviato, cosa gira nei servizi in background e come è stato consumato la batteria.
La maggior parte delle persone in questi casi cerca immediatamente i diritti di root o scarica utility GUI pesanti. In realtà, il bridge di debug Android standard (ADB) può produrre enormi quantità di dati senza software di terze parti. Il progetto AndroidForensics del developer Douglas Fresh Habian raccoglie tutti questi comandi in un'unica guida di riferimento e due script Bash pronti all'uso.
Cosa Contiene il Repository
Essenzialmente, il repository è un cheat sheet e un set di script di automazione per analisi forensi e diagnostica approfondita dei dispositivi Android. Il progetto si concentra sul lavoro con dispositivi senza diritti di root, anche se alcuni comandi di basso livello riveleranno di più sulle build di ingegneria.
Il repository contiene due file eseguibili principali:
extract.sh— script primario di triage e raccolta dati utente. Estrae proprietà di sistema, configurazione di rete, elenchi di pacchetti installati, servizi attivi e tenta di leggere i content provider.dumpsys.sh— collettore di telemetria di sistema. Lo script interroga oltre due dozzine di sottosistemi Android interni tramite l'utilitydumpsyse organizza i log in file di testo separati.
Ogni esecuzione crea una cartella separata con un timestamp, dove i risultati di ogni singolo comando vengono archiviati in modo ordinato. Questo elimina il disordine del terminale e aiuta a catturare immediatamente lo stato del sistema in un momento specifico.
Comandi Utili da Aggiungere al Tuo Arsenale
Il README include sia chiamate basic getprop che one-liner non ovvi con parsing dell'output tramite grep, sed e awk.
Raccolta Dati Account e Indirizzi Email
Tramite il gestore account, puoi scoprire rapidamente a quali servizi il telefono è collegato e raccogliere tutti gli indirizzi email registrati:
adb shell dumpsys account | grep -i com.*$ -o | cut -d' ' -f1 | cut -d} -f1 | grep -v com$
Per cercare indirizzi email, l'autore suggerisce una regex direttamente sul dump di sistema:
adb shell dumpsys | grep -E -o "\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}\b"
Questo comando è utile quando devi verificare rapidamente se un tester precedente ha dimenticato di disconnettersi dagli account di lavoro su un banco di test condiviso.
Contatore Riavvii e Timeline di Sistema
A volte un bug si riproduce solo dopo un riavvio a freddo, ma l'utente sostiene che il telefono non è mai stato spento. Puoi verificarlo tramite le impostazioni globali:
adb shell settings list global | grep "boot_count=" | cut -d= -f2 | head -n 1 | xargs echo "Booted:" | sed 's/$/ times/g'
E se hai bisogno di comprendere il quadro generale del consumo di risorse e dell'attività delle app nel tempo, i comandi di statistiche vengono in soccorso:
adb shell dumpsys usagestats
adb shell dumpsys batterystats
adb shell settings list system
Accesso ai Content Provider
Per estrarre contatti, cronologia chiamate e messaggi, lo script esegue query dirette agli URI di sistema:
# Список контактов и номеров телефонов
adb shell content query --uri content://contacts/phones/ --projection display_name:number
# Журнал звонков
adb shell content query --uri content://call_log/calls
# База входящих и исходящих SMS
adb shell content query --uri content://sms/
Ecco un'importante limitazione tecnica. A partire da Android 11, Google ha notevolmente rafforzato il modello di sicurezza. Nelle versioni più recenti del sistema operativo, interrogare direttamente content://sms/ o contacts tramite ADB senza permessi speciali o root risulterà in un errore di accesso. Tuttavia, sui dispositivi di test più vecchi (Android 9–10) o sulle build personalizzate per sviluppatori, questi comandi continuano a funzionare in modo affidabile.
Come Funziona l'Automazione
Se eseguire i comandi manualmente diventa noioso, gli script automatizzano la routine. Per iniziare, basta clonare il repository e concedere i permessi di esecuzione:
git clone https://github.com/DouglasFreshHabian/AndroidForensics.git
cd AndroidForensics
chmod +x extract.sh dumpsys.sh
Quando viene lanciato ./extract.sh, lo script verifica innanzitutto se adb è installato, esegue un ping dei dispositivi connessi e avvia la raccolta.
Durante il funzionamento, extract.sh esegue diverse attività in parallelo:
- Crea una directory denominata
ADB_Report_20251025_163200. - Interroga le proprietà del dispositivo (
ro.product.model,ro.build.version.release,ro.serialno). - Acquisisce uno snapshot delle ultime righe del log di sistema tramite
adb logcat -d. - In background, avvia la generazione di un report completo
adb bugreportsenza bloccare il terminale. - Al completamento, mostra una tabella riassuntiva colorata con le dimensioni di tutti i file salvati.
Il secondo script, dumpsys.sh, è focalizzato esclusivamente sulla diagnostica dei servizi di sistema. Interroga sequenzialmente meminfo, wifi, power, location, sensorservice, netstats e altri 15 servizi, salvando ogni output in wifi.txt, meminfo.txt e così via. Se un servizio non è disponibile, lo script lo contrassegna come crashed e prosegue il funzionamento.
Dove Questo Torna Utile in Pratica
Il progetto ha diversi ambiti di applicazione evidenti:
- QA e testing di app mobile. Lo script
dumpsys.shaiuta a raccogliere un contesto completo dello stato del dispositivo in un paio di secondi prima di archiviare un report dettagliato su perdite di memoria o consumo energetico. - Audit del dispositivo prima del passaggio. Se un pool di dispositivi di test circola nel team, è utile eseguire rapidamente uno script di pulizia e verifica per assicurarsi che non rimangano account di altri utenti o processi pesanti in background sullo smartphone.
- Triagge iniziale degli incidenti. Gli specialisti di sicurezza ottengono un modo rapido per catturare un dump dello stato dello smartphone senza installare APK dubbi e senza apportare modifiche non necessarie al file system.
AndroidForensics non tenta di reinventare la ruota o sostituire pacchetti forensi completi come Autopsy. Il punto di forza del repository sta altrove: prende le utility standard della riga di comando Android, le impacchetta in un formato leggibile e fa risparmiare tempo sulla scrittura manuale di pipeline bash.
Se colleghi regolarmente smartphone Android al computer per debug, testing o analisi di sicurezza, aggiungi questi script al tuo toolkit locale. Si avviano in pochi secondi e spesso trovano elementi che sfuggono durante una rapida occhiata alla GUI.
Progetti correlati