HTC Desire: S-OFF, di che si tratta

È la prima volta che faccio un post relativo ad un solo terminale, ma bisogna anche capire la circostanza: odio riferirmi ad una sola branca dell’utenza di un sistema operativo, e così come quando parlo di Linux cerco di essere il più possibile “distro-agnostic”, anche quando parlo di Android (che alla fine è sempre Linux) cerco di prescindere dal tipo di terminale che maneggio.

Tuttavia, la circostanza richiede un post apposito, sia perchè molte case non bloccano sino a questo punto il bootloader dei loro dispositivi, sia perchè alcune delle procedure descritte sono valide per il solo Desire. Ma iniziamo, parliamo di S-OFF.

Cos’è S-OFF?

S-ON, il contrario di S-OFF, è un modo molto carino per ricordare a te, povero utente sfigato, che polvere sei e polvere ritornerai. In poche parole, S-ON è la sigla che corrisponde ad un bootloader dotato di misure di sicurezza tali da impedire l’installazione di immagini (recovery, system e quant’altro) non firmate. Quindi, in parole povere, niente smanettamenti paurosi tramite fastboot, e niente mount in scrittura di /system, /cache, e così via. Il motivo per cui tutto ciò è importante, è che tramite la possiblità di scrittura in /system si aprono un sacco di possibilità a livello di hacking, permettendo la manipolazione del filesystem di Android e di ogni file del proprio dispositivo, senza limitazioni.

S-OFF è la sigla che corrisponde ad un bootloader sbloccato, che permette di fare tutto ciò. Per ora AlphaRev, un hacker della comunità XDA, ha rilasciato il proprio tool per la procedura di S-OFF funzionante con HTC Desire, Legend ed Espresso; il processo è piuttosto semplice, e basta fare riferimento a questa pagina che, seppur nella sua mediocrità estetica, risulta piuttosto utile a livello di contenuti.

Effettuare la procedura di S-OFF

S-OFF può essere facilmente raggiunto scaricando l’immagine ISO del toolkit, e masterizzandolo su un CD. Io per comodità ho creato una pendrive USB da cui fare il boot, anche perchè reputo il CD-ROM un mezzo piuttosto antiquato, e dire che ho dovuto usarlo per presentare il mio progetto di Ingegneria degli Algoritmi. Dicevamo, la ISO: masterizziamola, copiamola, scriviamola da qualche parte e bootiamola: ci ritroveremo in un ambiente basato su CrunchBang Linux, nel quale girerà subito in automatico lo script di AlphaRev: ci basterà collegare il nostro dispositivo con il debug USB abilitato, e in qualche minuto (più un paio di reboot) avremo il nostro dispositivo completamente sbloccato.

Come accorgersene? Facile: riavviando in Bootloader Mode, vedremo la scrittina viola “Alpharev” sopra tutto, e avviando in maniera normale anzichè il solito bootscreen di HTC avremo Heat Ledger nei panni del Joker che ci saluta con la manina. Bene, a questo punto, abbiamo fatto l’S-OFF. Che fare?

Divertirsi con Fastboot e ADB

Io personalmente ho flashato subito una recovery custom. Direte “e beh, ma che differenza c’è, lo facevi anche prima” ma… non è proprio così: AmonRA 2.0.0 infatti necessita di S-OFF per poter essere flashata in maniera tradizionale, e siccome Unrevoked non ne vuol più sapere di funzionare in maniera decente sulle mie macchine, ho deciso di usare le maniere forti.

Cambiare HBOOT

Questo è meglio se non lo fate, dato che cambiare HBOOT è una procedura un po’ rischiosa per il dispositivo. L’HBOOT è quell’affascinante cosa che tra una riga di codice e l’altra definisce, nella memoria interna, quanto spazio assegnare al sistema operativo e quanto ai dati dell’utente. Una sorta di tabella delle partizioni, ecco.

Capita quindi che usando ROM più piccoline di quella stock, ci si ritrovi con comunque poco spazio per i dati: si può cambiare HBOOT con un altro che abbia un’allocazione di spazio per l’OS minore, per ritrovarsi così con una memoria interna leggermente più capiente. Dato però che il reflash dell’HBOOT è una di quelle due o tre procedure che se non vanno a buon fine trasformano il telefono in un sasso molto costoso, per ora non voglio arrischiarmi. E non fatelo neanche voi. Ho scritto tutto ciò solo a titolo informativo.

Pastrugnare /system

Adesso che siete S-OFF potete giocare come vi pare e piace con il vostro sistema: cambiare bootscreen, cambiare boot animation e soprattutto modificare qualunque tipo di file residente in /system, come ad esempio qualche script che non vi piace e che volete migliorare. Magari, dopo cento e più edit, l’OS sarà più simile ad una ROM cucinata da voi che all’originale :D

In ogni caso, la procedura è semplice; c’è sempre da stare attenti mentre la si esegue dato che viene riflashato l’HBOOT con i rischi scritti su, quindi magari è meglio stare all’erta, in ogni caso è tutto abbastanza facile e indolore. Happy hacking ;)

  • Banjo

    Grande Blaster, ottimo articolo!
    Hai un desire brand o no brand? io ho un brand e sta cosa della goldcard mi annoia parecchio :-)
    Altra cosa, della rom originale che era presente nel tuo telefono che ne hai fatto?

  • http://dottorblaster.it/ Bl@ster

    Io ho il Desire preso con Tre però non penso che ci sia una brandizzazione sopra :D
    Comunque, la ROM originale risiede in un Nandroid backup che ho sul fisso, anche se presto farà un volo in /dev/null :D

  • Banjo

    il mio è fastweb ed è evidentemente brand. la possibilità di salvare l’ originale è un’ ottima cosa

  • http://dottorblaster.it/ Bl@ster

    Si, ti basta un Nandroid backup per avere tutto ciò che avevi al momento del root in una comoda directory ripristinabile all’occorrenza :)
    Per il brand, si, Fastweb è l’unica che ancora fa questi scherzi -.-

  • Banjo

    Infatti è una cosa molto fastidiosa, però per il prezzo a cui l’ ho preso e per i prezzi del loro abbonamento direi che ne vale la pena :-)

  • Banjo

    Ciao Blaster, scusa se ti rompo ancora ma visto che sto pensando di fare il root al mio desire e tu mi sembri decisamente più competente di me volevo farti alcune domande:

    1)Da quel che ho capito tu hai usato unrewoked, come ti sei trovato? è veramente semplice come dicono?
    2)unrewoked lascia s-on ma questo permetterà lo stesso di installare custom rom??tipo la cm7 o la miui? e di poter fare nandroid backup della rom originale?
    3)che recovery installa unrewoked, clockwork o amon-ra?
    4)sul sito di unrewoked dicono che “unrevoked3 will permanently unlock NAND write protection by default on the following phones:” immagino si riferiscano appunto all’ s-off che sfortunatamente non è supportato per desire gsm
    5)è possibile rimuovere unrewoked? alla fine, parlando tecnicamente, cosa installa?
    6)c’ è bisogno di una versione particolare di froyo e un hboot particolare per unrewoked?(non ho idea di dove trovare la versione di hboot) perchè per il root da console (diciamo manuale) vedo che richiedono il download degli script in base alle varie versioni
    7)unrewoked ti permette anche di fare upgrade/cambio radio?

    Ti ringrazio in anticipo e mi scuso per l’ invadenza

  • Banjo

    Mi sono documentato tutta la notte e ho trovato risposta (credo ) a gran parte delle domande, sarei comunque interessato alle tue di risposte, soprattutto alla possibilità di poter rimuovere il root fatto con unrevoked e se questo sia possibile senza dover flashare room ” estranee ” magari utilizzando la nostra originale backuppata con nandroid

    grazie ancora ciao

  • http://dottorblaster.it/ Bl@ster

    1- si, è semplicissimo, ti basta avviarlo da root e collegare il terminale.
    2- si. Quelle sono tutte cose che si fanno semplicemente dalla recovery custom che viene flashata con unrevoked.
    3- unrevoked flasha la Clockwork di default, ma puoi usarne una personalizzata.
    4- esatto, lì devi usare Alpharev come scritto nel post (altro tool del tipo collega e vai)
    5- “srootare” il telefono è possibile flashando una RUU, sono degli exe (sfortunatamente devi avere un Windows a portata di mano) che si occupano di riportare il telefono allo stato di fabbrica.
    6- mi pare di no. Io ho provato qualche tempo fa (un paio di mesi, sotto capodanno) e andava.
    7- quella roba falla tu, o ti perdi il divertimento :D (comunque no.)

  • Banjo

    Fatto, devo dire che è stato abbastanza semplice anche se dopo il nadroid backup ho avuto un bel loop di riavvio, fortunatamente ho letto che è normale e basta fare il restore della rom appena backuppata, per il resto grazie blaster, devo dire che uno dei grossi limiti dei terminali android è che le case produttrici non forniscono i file per un ripristino delle condizioni di fabbrica, cosa che con iphone si può fare tranquillamente

  • Banjo

    Ciao Blaster, mi sono messo ovviamente a smanettare con la nuova vita del mio terminale, ho fatto un netstat e ho notatoche c’è un servizio in ascolto sulla porta udp 13010 in ascolto, è presente anche da te? sapresti dirmi a cosa si riferisce? lo trovo abbastanza strano

  • http://dottorblaster.it/ Bl@ster

    dopo mi installo il terminal emulator (ho brasato un po’ di roba) e provo, comunque credo che sia la backdoor di Google per la rimozione dei malware :)

  • Banjo

    Grazie, fammi sapere, ho letto un po’ in giro e sembra (sembra niente di sicuro pare) che sia la porta in ascolto per ad esempio software come chrome to phone o per poter installare le app usando il browser.
    Fammi sapere cosa riesci a scoprire tu e soprattutto se è presente anche da te ;-)

    grazie ancora

  • Banjo

    ah puoi farlo anche senza terminale, tramite adbshell con il telefono connesso al computer

  • Banjo

    qualche novità?

  • http://dottorblaster.it/ Bl@ster

    Ce l’ho anch’io, dovrebbe essere la porta in ascolto per i servizi di Google, si :D

  • Banjo

    Grazie blaster, ho fatto un po’ di controlli ma sinceramente non ho travato nessuna spiegazione attendibile, solo speculazioni e chiedendo in giro ho trovato gente che non ha questa porta, penso dipenda dal root, chi non ha root mi ha detto di non avere questa porta, pensavo potesse dipendere da chrome to phone ma ho bloccato la porta e chrome to phone funziona lo stesso, mah…

  • http://dottorblaster.it/ Bl@ster

    magari è relativa all’exploit che usa unrevoked ._.

  • Banjo

    infatti stavo cercando news proprio su quello, certo non è il massimo avere una porta in ascolto che non sai a cosa fa riferimento

  • Banjo

    non è il root, ho ripristinato la vecchia room e non è presente

  • Banjo

    anche la redux appena provata ha quella porta ma questa volta chiusa

  • Lellods

    Ciao blaster ti volevo chiedere una cosa io ho rootato il mio desire con unrevoked e installato la clockwork da rom manager( mi chiedeva di farlo..) volevo sapere se e come è possibile tornare a froyo senza permessi( ho solo i permessi ma mantenuto rom originale)

  • http://dottorblaster.it/ Bl@ster

    in pratica come tornare alla rom de-rootata?
    Ti basta riflashare una RUU :)
    http://forum.xda-developers.com/showthread.php?t=695667

  • Lellods

    Mi basta riflashare una ruu qualsiasi o una in particolare?? E poi per riflashare una ruu si fa da cell spento??

  • http://dottorblaster.it/ Bl@ster

    Su questo non so niente perchè riflashare una RUU è una cosa che non ho mai fatto.
    Comunque, se vuoi mandarlo in garanzia puoi riflasharne una qualsiasi, magari che sia 2.2 :D

  • Lellods

    Grazie per il tempo è solo che avevo letto che rootare con unrevoked impediva poi di ritornare allo stato di fabbrica perché modificava la recovery in modo permanente :S

  • http://dottorblaster.it/ Bl@ster

    Nono, la recovery viene flashata normalmente e ti basta la RUU per tornare allo stato di fabbrica.

  • Lellods

    Grazie per il tempo e per la disponibilità sei stato davvero molto gentile!!!

  • http://www.facebook.com/enri.martino Enrico Martino

    si può montare con virtual clone drive invece di masterizzarla?

  • sky

    salve a tutti ma è possibile usare s-off su un qualsiasi tablet android o è solo per htc?

  • http://dottorblaster.it/ Bl@ster

    Guarda sinceramente non lo so, comunque è una prassi la secureflag per HTC.
    A cosa ti riferisci?

  • http://dottorblaster.it/ Bl@ster

    Scusa per il ritardo!
    No, perchè poi devi avviarla su una macchina fisica.

  • sky

    ciao blaster grazie per avermi risposto,in pratica vorrei editare dei parametri in system/build.prop   sul mio tablet ma non avendo i permessi non me li salva, premetto che di android ne sò poco e sto cercando di capirne qualkosa per farlo funzionare come telefono visto che è dotato di modulo sim 3g

  • http://dottorblaster.it/ Bl@ster

    Che tablet è?
    Magari flashando il file da recovery…

  • sky

    bl@ster è un Junpad M7012A Android 2.2 Samsung S5PV210

  • http://dottorblaster.it/ Bl@ster

    Non hai modo di riflasharlo in qualche maniera?
    O comunque pushargli il file con adb? Dove si trova in genere il build.prop, non me lo ricordo O.o

  • sky

    Cosa intendi flesharlo con una rom nuova e libera?hai la possibilità di dirmi i passaggi su come fleshare con rom nuova?

  • http://dottorblaster.it/ Bl@ster

    No, anche solo flashargli dentro il build.prop, ma mi sa che non hai una recovery custom vero?

  • sky

    No,ho solo la possibilità di editare dentro il tablet con jota text editor però al momento di salvare mi dice non accesibile ma è normale pechè non ho i permessi di amministratore giusto?

  • http://dottorblaster.it/ Bl@ster
  • mrc0

    Ciao Blaster.
    Scusa l’ignoranza,  ma non capisco che immagine dici di scaricare (scaricando l’immagine ISO del toolkit) 
    intendi quelle presenti su http://alpharev.nl/? e se si quale tra quelle presenti?

    grazie mille,
    non sono pratico e stò impazzendo!