User Tools

Site Tools


educare:sbloccare_android

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
educare:sbloccare_android [2019/11/24 15:49] profproeducare:sbloccare_android [2020/06/08 22:20] (current) – external edit 127.0.0.1
Line 1: Line 1:
 +======Sbloccare Android======
 +
 +Utile per chi non vuole installare Android SDK ma dispone solo di API Level 23 (Android 6.0 Marshmallow)
 +
 +https://wiki.debian.org/AndroidTools
 +
 +  * SDK Tools
 +    * sono tools indipendenti dalla piattaforma Android su cui stai sviluppando. 
 +  * Platform-tools
 +    * Sono tools personalizzati (adb, fastboot) per supportare le funzionalità dell'ultima piattaforma Android
 +  * Build-tools
 +    * è un componente di Android SDK necessario per compilare il codice delle applicazioni per Android (apksigner). 
 +=====Unlock bootloader======
 +
 +Il primo passo da fare e' unlock the bootloader (questo cencellerà tutti i dati!?)
 +
 +Tramite il bootloader si può decidere se avviare il recovery o avviare android. 
 +
 +Il bootloader non solo è bloccato ma anche criptato. 
 +Lo decide il produttore e il gestore telefonico e questo permette di controllare la versione di Android in uso: il bootloader permette di avviare solo le versioni firmate dal gestore telefonico.
 +
 +**NOTA**: NEXUS MOTOROLA E HTC si sbloccano facilmente.
 +
 +  htcdev.com/bootloader (Oops! You are not logged in.)
 +
 +Passaggi:
 +  - android modalità debug
 +  - driver 
 +  - connessione usb
 +  - sul terminale "adb devices" (lista)
 +  - un nexus puo' saltare passaggio 6.
 +  - adb reboot bootloader (riavvia in fastboot mode)
 +  - ottenere la stringa identificatrice dispositivo
 +  - comando o comandi che sbloccano
 +  - fastboot reboot
 +
 +A volte per lo sblocco del bootloader basta eseguire un'applicazione apk esterna, fornito dal produttore: dopo il riavvio, come conseguenza, lo smartphone avvisa che non può più controllare se un file è danneggiato (perché non è attivata la crittografia)
 +
 +==== Rooting ====
 +
 +  xda-developers.com/root/
 +
 +Dopo il bootloader, questo è il primo passo obbligatorio per fare altre cose.
 +Su android non è possibile accedere come utente root (il superutente).
 +Rootare un dispositivo è quell'azione che permette di eseguire anche operazioni privilegiate (come superutente) come: rimozione di applicazioni OEM e accesso a cartelle di sistema, partizioni /system (e /data)...
 +
 +  NOTA: un dispositivo può perdere la garanzia, può diventare instabile o può diventare un mattone. Roota a tuo rischio
 +
 +Alcuni metodi di rooting possono installare ulteriore software sul telefono.
 +
 +==SuperSU==
 +è una applicazione che permette acesso con privilegio di root solo alle applicazioni di tua scelta
 +
 +====Immagini deodex-ed ====
 +
 +Un'immagine ROM (o firmware) è una distribuzione Android (ufficiale del produttore o alternativa). 
 +Ma bisogna fare attenzione al malware, perché in quest'ultimo caso il software non è firmato.
 +
 +Le immagini dei sistemi operativi utilizzabili per essere installati nelle partizioni del dispositivo possono essere di due tipi:
 +  * .dex
 +  * .odex
 +
 +Gli sviluppatori indipedenti di immagini ROM preferiscono usare il primo tipo che utilizza APP con una cache interna al file
 +.apk (file classes.dex). Anche se esiste un piccolo difetto: la lentezza del primo avvio del sistema.
 +
 +Viceversa le aziende OEM preferiscono le immagini che utilizzano APP con una cache esterna al file .apk  (file.odex) che si trova nella VM. Queste app sono più difficili da modificare e sono su immagini ROM ODEX-ed.
 +
 +==Xposed==
 +Xposed è un framework che funziona egregiamente in entrambi i tipi di sistemi, dato che permette di avviare un JAR all'avvio del sistema con privilegi di amministrazione e di sostituire qualsiasi metodo in qualsiasi classe in ogni APP.
 +
 +=====Recovery mode=====
 +
 +È indispensabile conoscere il Recovery mode. È utile per fare un reset di fabbrica 
 +
 +Ad esempio: nel dispositivo *Asus z170c* si può avviare in questa modalità tenendo premuto: 
 +Power + Volume down (per 10 secondi) 
 +Invece tenendo premuto la voce "shut down" nel display, quando il sistema chiede di confermare lo spegnimento, effettua un riavvio in "modalità provvisoria"
 +
 +Recovery è il nome usato per indicare una partizione avviabile che contiene strumenti utili (come una console) per riparare l'installazione o per installare gli aggiornamenti ufficiali (combinando tasti o istruzioni CLI).
 +
 +Questi strumenti sono open source come Android, cosi che e' possibile modificarli e personalizzarli.
 +La maggior parte dei dispositivi possiedono un semplice "recovery mode" che può essere usato per recuperare o per porre il dispositivo in "fastboot" ([[educare:fastboot mode]]??) o per leggere o per eliminare i dati (factory reset).
 +
 +Esistono due tipi di Recovery
 +  * Stock recovery 
 +  * Custom recovery
 +
 +  - Stock recovery è un sistema per avviare e fare poche cose,  aggiornamenti oppure per il factory reset. Lo puoi fare anche da solo entrando in recovery mode.
 +  - Custom recovery è un sistema per eseguire un backup o un ripristino, elimina solo parzialmente i dati. Permette di fare aggiornamenti non ufficiali, non firmati. Es. Amon Ra.
 +
 +==NANDroid==
 +Per eseguire un backup completo è richiesto sempre un dispositivo rooted. Lo strumento di backup si chiama NANDroid
 +
 +=====FASTBOOT MODE=====
 +(DISATTIVATO PER ALCUNI MODELLI)
 +
 +In __alternativa__ al Recovery mode, Google fornisce con un software Android SDK un protocollo FASTBOOT.
 +Per essere usato su Windows è richiesto di installare anche dei driver per poter collegare il telefono.
 +
 +FASTBOOT Mode 
 +
 +  * permette di lavorare dal PC sul telefono
 +  * permette di aggiungere una nuova immagine ROM di recovery (per poi scrivere una nuova immagine sulla memoria)
 +  * permette di avviare il telefono anche se questo è privo di Android.
 +  * permette di rimuovere una partizione sul telefono
 +  * permette di modificare le opzioni del kernel 
 +  * permette di sviluppare tool per unlock bootloader.
 +
 +https://en.wikipedia.org/wiki/List_of_custom_Android_firmware
 +
 +Un'immagine ROM (o firmware) è una distribuzione Android (ufficiale del produttore o alternativa). 
 +Ma bisogna fare attenzione al malware, perché in quest'ultimo caso il software non è firmato.
 +
 +==Esempi di immagini==
 +
 +  * CopperheadOS è una versione android che supporta solo 8  dispositivi.
 +  * Replicant ne supporta 13 (Samsung Galaxy).
 +  * Paranoid Android