[GUIDA] Downgrade del Firmware su HTC M9 anche da S-ON: guida e download

Discussione in 'Modding - HTC One M9' iniziata da uLtiMo125, 18 Feb 2018.

Condividi questa Pagina

  1. uLtiMo125

    uLtiMo125 Super Moderator Membro dello Staff

    Iscritto:
    19 Dic 2010
    Messaggi:
    7.329
    "Mi Piace":
    4.115
    INFORMAZIONE  

    Come alcuni di voi sapranno la nostra brava HTC ha posto un vincolo nell'uso delle proprie Utility di Aggiornamento ROM, le utility conosciute come RUU (acronimo di Rom Update Utility), il vincolo consiste nel fatto che SI può usare una RUU solo per fare un avanzamento di versione (Upgrade), o al massimo per reinstallare la stessa identica versione già presente sul Telefono, questo significa che ad esempio, se il nostro Device HTC attualmente si trova su Android 6.0 Marshmallow, possiamo liberamente usare la RUU con Android 7.0 Nougat ed effettuare un Aggiornamento (Upgrade), oppure al massimo usare la RUU della stessa versione (Android N), ma in condizioni normali non potremo mai usare la RUU della versione precedente con Android 5.0 Lollipop. Questo vincolo è strettamente legato ad un flag di Sicurezza impostato su On (S-ON) voluto e ben nascosto dalla casa stessa, la quale tra l'altro si impegna ad ogni nuovo Flagship a renderlo sempre più impenetrabile. Fino ad oggi l'alternativa era rimuovere il flag ed impostare lo stato di Sicurezza su Off (S-OFF).

    Per chi fosse interessato vi rimando a questa guida [TOOL] Sunshine per HTC
    vi informo che il Tool è a pagamento.​



    INFORMAZIONE  

    Abbiamo quindi visto che in condizioni normali possiamo solo usare una RUU della stessa versione in uso sul telefono, oppure usare la RUU più recente per eseguire un aggiornamento ed avanzare di versione. Ora in questa guida cercheremo di spiegare come fare un Downgrade del Firmware originale HTC anche in presenza di S-ON, e quindi senza usare il Sunshine per ottenere il S-OFF ... nello specifico vedremo come tornare da Android 7.0 Nougat ad Android 6.0 Marshmallow facendo credere alla RUU che sul Telefono ci sia Android 5.0 Lollipop.



    ATTENZIONE  

    In questa guida NON ci dilungheremo a spiegare il significato di adb/fasbooot e daremo per scontato che conosciate le nozioni di base per installare una recovery e/o un firmware



    ATTENZIONE  

    COME SEMPRE NÈ IO NÈ IL FORUM TUTTOANDROID.NET CI ASSUMIAMO ALCUNA RESPONSABILITÀ PER DANNI AL VOSTRO TERMINALE
    LA RESPONSABILITÀ È SOLO VOSTRA.



    Partiamo con il nostro HTC ONE M9 in queste condizioni:
    • il "Bootloader Sbloccato" ma ancora su "S-ON"
    • il Firmware attuale è "Nougat Europa 4.28.401.3"
    • sul PC Driver HTC correttamente installati e funzionanti
    INFORMAZIONE  

    Come già anticipato per raggiungere il nostro obbiettivo dovremo far credere alla RUU in fase di verifica che sul Telefono è in esecuzione una versione Android più vecchia della versione contenuta nella RUU stessa, così che per la RUU stiamo per eseguire un normalissimo Upgrade, nel nostro caso con il telefono su Android 8.0 andremo a modificare un file di sistema riscrivendo il numero di versione con quella di Android 6.0 e successivamente andremo ad estrapolare da una RUU sempre con Android 6.0 un file .img e lo andremo a sostituire con quello presente sul nostro Telefono, con queste due operazioni il telefono è pronto per il Downgrade e ricevere Android 7.0 per mezzo di una RUU ufficiale pur essendo in S-ON



    Il Materiale Necessario è questo:

    Questa è la Procedura nel dettaglio:
    • Colleghiamo il telefono in Modalità Download al nostro PC
    • Avviamo una finestra CMD e cerchiamo le informazioni necessarie
    • digitiamo:
    Codice:
    fastboot getvar all
    • il risultato sarà questo:
    Codice:
    INFOkernel: lk
    INFOproduct: htc_himauhl
    INFOversion: 1.0
    INFOmax-download-size: 1578400000
    INFOserialno: xxxxxxxxxx
    INFOslot-count: 0
    INFOcurrent-slot:
    INFOimei: xxxxxxxxxx
    INFOversion-main: 4.28.401.3
    INFOboot-mode: download
    INFOversion-baseband: [email protected]
    INFOversion-bootloader: 1.0.0.0000
    INFOmid: 0PJA10000
    INFOcid: HTC__034
    

    Noterete che attualmente in version-main è scritto 4.28.401.3

    • verifichiamo la presenza di S-ON sul telefono
    • digitiamo:
    Codice:
    fastboot oem readsecureflag
    • il risultato sarà questo:
    Codice:
    INFODevice security level S-ON, reboot count 0
    OKAY [  0.017s]
    finished. total time: 0.017s

    • Installiamo la TWRP Recovery
    • digitiamo:
    Codice:
    fastboot flash recovery nomerecovery.img
    • il risultato sarà questo:
    Codice:
     sending 'recovery' (58452 KB)... OKAY [  5.173s]
                writing 'recovery'... INFOHOSD CL#1012001
    [email protected]
    [email protected]%
    INFOUpdate partition OK
    [email protected]
    OKAY [  3.691s]
    finished. total time: 8.864s

    • riavviate in recovery e verifichiamo che il PC rilevi il Telefono
    • digitiamo:
    Codice:
    adb devices
    • il risultato sarà questo:
    Codice:
    adb server is out of date.  killing...
    * daemon started successfully *
    List of devices attached
    AB123CN04567    recovery
    

    • sul PC scompattiamo HTC Version Tool.zip
    • avviamo HTC_Version_Tool.exe
    • aspettiamo che rilevi il telefono e che ci indichi la nostra attuale versione firmware
    Codice:
    HTC Version Tool, code by sabpprook
    
    -- misc: /dev/block/mmcblk0p38
    -- offset: 2208
    -- version: 4.28.401.3
    
    new version:_

    INFORMAZIONE  

    Ora dobbiamo cercare di modificare la versione del firmware attuale per far credere alla RUU che sul telefono ci sia una versione precedente invece di quella attuale così che non risulti più un downgrade ma un normale avanzamento di versione



    • quindi nella finestra di HTC Version Tool
    • in basso dove c'è la richiesta "new version:"
    • andremo a scrivere 2.10.401.1

    verifichiamo che effettivamente sul telefono ora risulti la versione firmware voluta:
    • con il telefono in modalità TWRP
    • riavviamo il telefono in Modalità Download
    • quindi da CMD digitiamo
    Codice:
    adb reboot download
    • digitiamo nuovamente:
    Codice:
    fastboot getvar all
    • se abbiamo fatto tutto correttamente ora il risultato dovrebbe essere questo:
    Codice:
    INFOkernel: lk
    INFOproduct: htc_himauhl
    INFOversion: 1.0
    INFOmax-download-size: 1578400000
    INFOserialno: xxxxxxxxxx
    INFOslot-count: 0
    INFOcurrent-slot:
    INFOimei: xxxxxxxxxx
    INFOversion-main: 2.10.401.1
    INFOboot-mode: download
    INFOversion-baseband: [email protected]
    INFOversion-bootloader: 1.0.0.0000
    INFOmid: 0PJA10000
    INFOcid: HTC__034
    all:
    finished. total time: 0.000s
    
    noterete che ora in version-main è scritto 2.10.401.1

    INFORMAZIONE  

    se ora si cercasse di flashare direttamente la
    RUU Marshmallow Europa 3.35.401.12
    la RUU rileverebbe un anomalia e ci dovrebbe restituire un errore
    del tipo "ERR check AES encrypted magic string failed"
    questo perchè nel telefono risulta ancora esserci
    il file hosd_signed.img del firmware Nougat



    INFORMAZIONE  

    vediamo come estrarre il file .img dalla vecchia RUU con Android 5.0 e poi sostituirlo nel nostro Telefono su cui è in esecuzione Android 7.0


    • sul PC scompattiamo HTC RUU Decryption Tool.zip
    • recatevi nella cartella in cui avete la RUU Lollipop Europa 2.10.401.1 da cui volete estrarre il hosd_signed.img selezionatelo e trascinatelo direttamente sopra al RUU_Decrypt_Tool.exe
    • a questo punto si aprirà una finestra tipo CMD
    • con alcune richieste a cui dovrete rispondere si o no (y/n) date invio per confermare la richiesta
    • (nel nostro caso non ha molta importanza ad ogni evenienza voi fate come ho fatto io)

    Codice:
    +++ Welcome to the HTC RUU Decryption Tool 3.6.8 +++
    
    RUU identified as Normal Zip file
    
    Please enter your choices
    * Create a logfile [Y/n]: n
    * Extract system.img and boot.img [Y/n]: y
    * Extract the firmware files [Y/n]: y
    * Create an sd-card flashable zip [y/N]: N
    * Do you wish to check for new keyfiles [Y/n]: Y
    * If a new keyfile is generated, do you wish to upload it [Y/n]: Y
    * Enable debugging options [y/N]: N
    
    Downloading keyfiles...
    Connecting...
    Found 83 keyfiles
    

    a seconda della velocità del vostro PC ci vorrà qualche minuti per decomprimere il tutto
    • alla fine avrete questa situazione:
    Codice:
    Checking android-info.txt
    Information extracted from firmware/android-info.txt:
        INFO: RUU modelid: 0PJA10000
        INFO: RUU mainver: 2.10.401.1
    
    Checking keyfile state
    Keyfile used already matches one in the keyfiles folder.
    
    Restoring 'E:\HTC-RUU_Decrypt_Tool_3.6.8-WINDOWS64\0PJAIMG_HIMA_UHL_L51_SENSE70_MR_HTC_Europe_2.10.401.1_Radio_01.04_U11440601_71.02.50709G_F_release_signed.zip' to normal folder
    
    Removing unneeded work folders
    
        INFO: RUU modelid: 0PJA10000
        INFO: RUU mainver: 2.10.401.1
    
    Overall process completion time: 10 minutes 8.433 seconds.
    
    Finished: Successfully extracted zip files to
                 'E:/HTC-RUU_Decrypt_Tool_3.6.8-WINDOWS64/OUT_0PJA_2.10.401.1'
    
    Press ENTER to exit

    • Premete Enter per chiudere la finestra
    • andate nella stessa cartella da cui avevate preso la RUU destinata alla decompressione
    • ci troverete una nuova cartella chiamata OUT_0PJA_2.10.401.1 con i files estratti
    • apritela e andate nella sotto cartella firmware e cercate il nostro file hosd_signed.img

    ora è il momento di sostituire questo file
    • aprite CMD e riavviate il telefono questa volta in Modalità Bootloader
      (NO DOWNLOAD MODE)
    Codice:
    fastboot reboot-bootloader
    • flashate il file hosd.img
    Codice:
    fastboot flash hosd hosd_signed.img
    INFORMAZIONE  

    a questo punto siamo nelle condizioni di far credere alla RUU che stiamo per fare un Upgrade invece che un Downgrade e quindi riavviamo in modalità RUU



    Codice:
    fastboot oem rebootRUU
    • aspettiamo che sul telefono compaia la schermata della modalità richiesta
    • digitiamo:
    Codice:
    fastboot flash zip nomedellaRUU.zip
    ATTENZIONE  

    verrà eseguito un breve "preupdate" e restituirà un errore
    FAIL90 (hboot pre-update! please flush image again immediately)
    non vi preoccupate è normalissimo


    • ridate lo stesso comando:
    Codice:
    fastboot flash zip nomedellaRUU.zip
    questa volta il flash dovrebbe durare un po di più
    ma alla fine avrete eseguito correttamente il vostro Downgrade con il Telefono su S-ON


    ATTENZIONE  

    VI RICORDIAMO CHE SENZA LA DOVUTA AUTORIZZAZIONE
    È SEVERAMENTE VIETATA
    LA RIPRODUZIONE E/O LA COPIA
    SIA TOTALE CHE ANCHE SOLO PARZIALE
    DELLA PRESENTE GUIDA

     
    Ultima modifica: 9 Mag 2018
    A kalel77, Matty22 e Marty27 piace questo elemento.
  2. uLtiMo125

    uLtiMo125 Super Moderator Membro dello Staff

    Iscritto:
    19 Dic 2010
    Messaggi:
    7.329
    "Mi Piace":
    4.115
    RISERVATO PER USI FUTURI
     
    A kalel77, Matty22 e Marty27 piace questo elemento.
  3. fediroth

    fediroth Baby Droid

    Iscritto:
    13 Mar 2018
    Messaggi:
    13
    "Mi Piace":
    1
    salve non so se sto scrivendo nel post giusto, ma non riesco a trovare la guida che mi serve, vorrei fare la stessa cosa ma ho il telefono in S-OFF. cosa cambia ? :grazie:
     
    Ultima modifica di un moderatore: 6 Mag 2018
  4. uLtiMo125

    uLtiMo125 Super Moderator Membro dello Staff

    Iscritto:
    19 Dic 2010
    Messaggi:
    7.329
    "Mi Piace":
    4.115
    diciamo che da S-off e tutto più semplice, dicci su quale firmware sei e cosa vorresti fare ?

    Inviato dal mio HTC 10 utilizzando Tapatalk
     
    Ultima modifica: 6 Mag 2018
  5. fediroth

    fediroth Baby Droid

    Iscritto:
    13 Mar 2018
    Messaggi:
    13
    "Mi Piace":
    1
    firmware 4.28.401.3 vorrei passare all'ultima release MM, se possibile senza cambiare recovery e facendo un nandroid backup prima di tutto così in caso di problemi o ripensamenti far tornare il tutto a come era prima del downgrade.
     
  6. Marty27

    Marty27 Honorary Member

    Iscritto:
    7 Dic 2015
    Messaggi:
    3.114
    "Mi Piace":
    3.202
    Per fare e successivamente ripristinare un NANDROID BACKUP ti occorre mettere la TWRP, sbloccando per prima cosa il bootloader, trovi la guida da seguire sul forum a questo LINK.
    Per quanto rigurda il downgrade, tu avendo l'S-OFF ti basta scaricare la RUU MARSHAMALLOW a questo link:

    https://androidfilehost.com/?fid=24415232478675953

    E la installi col metodo da SD ESTERNA.
     
    Ultima modifica: 6 Mag 2018
    A uLtiMo125 piace questo elemento.
  7. fediroth

    fediroth Baby Droid

    Iscritto:
    13 Mar 2018
    Messaggi:
    13
    "Mi Piace":
    1
    perfetto tutto chiaro grazie , quindi per quanto riguarda il backup non posso farne di nessun tipo con recovery stock ?
     
  8. Marty27

    Marty27 Honorary Member

    Iscritto:
    7 Dic 2015
    Messaggi:
    3.114
    "Mi Piace":
    3.202
    La recovery originale non permette di effettuare NANDROID BACKUP, l'unico modo per farlo con il telefono stock è utilizzare l'HTC Sync Manager insieme al backup dell'account GOOGLE.
    Il problema però potrebbe essere un altro per te, nel senso che dal momento che sblocchi il bootloader il telefono si resetta e perdi tutto il contenuto, quindi non avresti più nulla da backuppare. Non so se mi sono spiegata.
     
    A kalel77 e uLtiMo125 piace questo messaggio.
  9. fediroth

    fediroth Baby Droid

    Iscritto:
    13 Mar 2018
    Messaggi:
    13
    "Mi Piace":
    1
    Ciao ho provato a fare come da te detto ma mi da errore 12_