downgrade e root con adb
I passaggi essenziali sono due:
1. downgrade da gingerbread a froyo;
2. root ed s-off
DOWNGRADE DA GINGERBREAD A FROYO
Scarichiamo i file misc_version01.zip e fre3evo.zip che trovate in allegato, ed estraiamoli nella cartella nella cartella platform-tools di sdk
se avete un cid divrso da HTC_405 (il più comune) controllate che questo rientri in questa lista: LINK. Se così non fosse create una goldcard
Per verificare che l'exploit ci consenta di accedere alle risorse che ci servono, lanciamo questo comando portandoci prima nella cartella sdk tramite il prompt dei comandi (Start-Esegui-cmd o Start-cmd nella casella "cerca programmi e file" a seconda del sistema operativo)
codice:
$ adb shell cat /dev/msm_rotator
e se ottenuiamo questa risposta è tutto ok:
codice:
/dev/msm_rotator: invalid length
A questo punto, da dentro la cartella platform-tools di sdk lanciamo fre3evo digitando i seguenti comandi:
codice:
$ adb push fre3vo /data/local/tmp
$ adb shell
$ chmod 777 /data/local/tmp/fre3vo
$ /data/local/tmp/fre3vo -debug -start FAA90000 -end FFFFFFFF
Se l'exploit ha funzionato, otterremo una videata tipo questa:
codice:
Buffer offset: 00000000
Buffer size: 8192
Scanning region fb7b0000...
Scanning region fb8a0000...
Scanning region fb990000...
Scanning region fba90000...
Potential exploit area found at address fbb4d600:a00.
Exploiting device...
e soprattutto ADB ci farà uscire dalla Shell.
A questo punto, riapriamo ADB, e se la procedura è andata a buon fine, noteremo il simbolo # invece che $, il che significa che abbiamo temporaneamente i diritti di root
Se per qualche motivo il "lancio" di fr3evo non dà la risposta sopra indicata, si possono provare ad inserire i seguento comandi, avendo cura però di riavviare il telefono ogni volta che se ne prova uno:
codice:
$ /data/local/tmp/fre3vo -debug -s tart 10000000 -end 1FFFFFFF
$ /data/local/tmp/fre3vo -debug -start 20000000 -end 2FFFFFFF
$ /data/local/tmp/fre3vo -debug -start 30000000 -end 3FFFFFFF
$ /data/local/tmp/fre3vo -debug -start F0000000 -end FFFFFFFF
$ /data/local/tmp/fre3vo -debug -start E0000000 -end EFFFFFFF
Proseguiamo ora con le operazioni di downgrade, andando a cambiare il numero di versione, e per farlo dovremo avvalerci di misc_version_01.zip che abbiamo già scommpattato nella cartella platform-tools di sdk.
Digitamo questi comandi:
codice:
$ adb push misc_version /data/local/tmp/misc_version
$ adb shell chmod 777 /data/local/tmp/misc_version
$ adb shell
# /data/local/tmp/misc_version -s 1.33.405.5
--set_version set. VERSION will be changed to: 1.33.405.5
Patching and backing up partition 17...
# sync
Avuta conferma del cambio nella versione 1.33.405, possiamo procedere al downgrade vero e proprio.
Scarichiamo il file della rom da qui:
Download 405 PC10IMG zip
e rinominiamolo in PC10IMG.zip
Tramite i seguenti comandi di ADB, copiamo nella nostra SD il file PC10IMG.ZIP e facciamo fare il reboot in modalità bootloader (nb prima uscite da adb):
codice:
adb push PC10IMG.zip /sdcard/PC10IMG.zip
adb reboot bootloader
Le operazioni di downgrade sono quindi giute alla fine.
Il palmare infatti si riavvierà in bootloader, ed effetuando l'update tramite il file PC10IMG.zip avremo la rom froyo sul nostro Desire Z
-nel caso il device non si riavvii in recovery provate con i seguenti comandi:
codice:
adb reboot bootloader
fastboot oem rebootRUU
fastboot flash zip PC10IMG.zip
--------------------------------------------------------------------------------------------------------------------------------------
ecco alcuni screenshot:
1.jpg
3.jpg
Cattura.jpg
Cattura2.jpg
ringraziamo l'utente stevazi per le immagini :P
ROOT
SCARICATE I SEGUENTI FILES:
1) GFREE_ROOT_PSN
2) PSNEUTER
3) hboot ATTENZIONE: il link fornito vi farà scaricare 2 file compressi in uno ".zip" estraeteli e usate solo "h-boot" disinteressandovi del file "recovery*.." !
4) GFREE
5) recovery
a- normal
b- touch
punto 1 -----> copiare i files nel telefono:
Prima di poter usare adb come descritto di seguito è necessario attivare il debug nelle impostazioni del telefono. In Impostazioni, andare su "Applicazioni -> Sviluppo" e controllare il "Debug USB" e nel caso attivarlo.
Collegare il telefono alla porta USB del vostro PC. Il telefono dovrà rimanere collegato durante tutta la procedura.
assicurarsi di collegare il telefono in modalità solo carica, e che il telefno possegga una sd card montata correttamente!
Nei comandi da eseguire al di sotto, $ o # rappresentano il prompt e NON devono essere inseriti come parte dei comandi (in Windows questo sarà qualcosa di simile a C: \> invece).
decomprimete tutti i files scaricati nella cartella platform-tools di sdk. poi da terminale portatevi in quella cartella (per windows se avete settato tutto correttamente seguendo la guida sopra, dovreste essere a posto)
ora date questi comandi:
codice:
$ adb push psneuter /data/local/tmp/
$ adb push gfree /data/local/tmp/
$ adb push busybox /data/local/tmp/
$ adb push hboot-eng.img /data/local/tmp/
$ adb push root_psn /data/local/tmp/
$ adb push su /sdcard/
$ adb push Superuser.apk /sdcard/
$ adb shell chmod 755 /data/local/tmp/*
e questo per la recovery (per la touch vedere sotto): nb xxxx indicano la versione della vostra cw! dunque sostituite ad esse il suddetto valore...
codice:
$ adb push recovery-clockwork-x.x.x.x-vision.img /data/local/tmp/recovery.img
e avete la touch date questo comando:
codice:
$ adb push recovery-clockwork-touch-5.8.1.0-vision.img /data/local/tmp/recovery.img
punto 2 -----> root temporaneo:
Nel terminale (o finestra di comando) eseguire questi comandi:
codice:
$ adb shell /data/local/tmp/psneuter
$ adb shell
dopo l'ultimo comando si dovrebbe avere una shell di root in adb (questo è indicato da un prompt #). Lasciare questo terminale (o finestra di comando) che contiene la shell di root aperto
punto 3 -----> s-off root e amici vari
:
Per assicurarsi poi che il hboot sia stato installato correttamente si andrà a calcolare la md5sum dell'originale hboot. Nella shell di root (indicato dal #) che avete ottenuto nella sezione root temporanea eseguire i seguenti comandi:
codice:
# cd /data/local/tmp
# ./busybox md5sum /dev/block/mmcblk0p18
copiate o scrivetevi questo numero che servirà più avanti
sempre dalla shell di root (indicato dal #) che avete ottenuto nella sezione root temporanea eseguite i seguenti comandi:
codice:
# cd /data/local/tmp
# ./gfree -f -b hboot-eng.img -y recovery.img
# ./root_psn
# sync
Attendere qualche secondo affinchè "prenda" le modifiche.
Poiché è molto importante che il hboot sia stato installato correttamente si consiglia di controllare i md5sum della partizione. Nella shell di root (indicato dal #) che avete ottenuto nella sezione root temporanea eseguire i seguenti comandi:
codice:
# cd /data/local/tmp
# ./busybox md5sum hboot-eng.img
# ./busybox md5sum /dev/block/mmcblk0p18
Noi chiameremo questi due md5_2 e md5_3 nella prossima sezione
>Se md5_3 corrisponde a md5_1 gfree: 0,7 non ha fallito, la vostra versione del software è troppo alta e non l'hai fatto downgrade (vedi sopra)
>Se md5_3 non corrisponde md5_1 e md5_3 non corrisponde md5_2: in primo luogo non RIAVVIATE e secondo chiedete aiuto qui!
>Se md5_3 corrisponde a md5_2: riavviare il telefono eseguendo il seguente comando nella shell di root (indicato dal #):
punto 4 -----> verificare il corretto funzionamento :
È possibile verificare il successo di gfree utilizzando gfree_verify.
scaricatelo da qui
e scompattatelo nella solita cartella platform-tools...
aprite il terminale e digitate i seguenti comandi:
codice:
$ adb push gfree_verify /data/local/tmp
$ adb shell chmod 755 /data/local/tmp/gfree_verify
$ adb shell
Nota: mentre avete dato questo comando, la shell esegue "su" per la prima volta. nella adb shell assicurarsi che lo schermo del del telefono sia sbloccato. Perché quando si immette il comando l'applicazione Superuser apparirà e chiederà se si desidera concedere l'accesso al superutente [app Unknown (2000)].
cliccate il pulsante "ricorda" e dategli il permesso!
codice:
$ su
# cd /data/local/tmp
# stop ril-daemon
# ./gfree_verify
dovreste vedere un' output simile a questo!:
codice:
gfree verify_cid returned:
@CID: 11111111
OK
gfree verify_secu_flag returned:
@secu_flag: 0
OK
gfree verify_simlock returned:
@SIMLOCK= 00
OK
per avviare nuovamente il layer dell'interfaccia:
codice:
# start ril-daemon
HA FUNZIONATO? QUESTO E' QUELLO CHE DEVI SAPERE:
@CID: 11111111