Mi senti adesso? Come modificare il telefono cellulare Nokia 6210 Introduzione Il telefono cellulare è al giorno d’oggi uno degli apparecchi elettronici più diffusi e al contempo più complessi in circolazione. Se per un verso i telefoni cellulari somigliano sostanzialmente a radio molto progredite, per un altro sono veri e propri computer in miniatura. Le funzionalità di un telefono cellulare sono controllate sia dall’hardware dell’apparecchio sia dal suo firmware/software interno. Di conseguenza, oltre a vedere come modificare realmente l’hardware di un cellulare, esamineremo anche alcuni metodi che consentono di modificarne il software, sempre con l’ausilio di dispositivi hardware. Per la descrizione degli hacking di questo capitolo, ci avvarremo del telefono cellulare GSM Nokia 6210 (Figura 1). Questo cellulare, commercializzato nel 2001, è stato uno dei primi a supportare la navigazione in Internet tramite il protocollo WAP (Wireless Access Protocol, protocollo di accesso dei dispositivi wireless). Nokia è uno dei più rinomati produttori di telefoni cellulari al mondo. Questa società finlandese cominciò le sue attività nel settore del cartaceo, producendo in un secondo momento prodotti in gomma e passando infine all’energia e alle telecomunicazioni, accaparrandosi una fetta tra il 40% e il 50% del mercato della telefonia mobile. Nokia produce svariati modelli di telefoni cellulari all’incirca dal 1984. Il primo hacking di questo capitolo riguarda la modifica del colore della luce di sfondo del cellulare. La sostituzione dei LED (light-emitting diode, diodo a emissione luminosa) è un’operazione alla portata di qualsiasi appassionato, purché dotato di un piccolo ferro saldatore e di una mano ferma. Vedremo in seguito come interfacciare questo telefono cellulare con il PC mediante vari tipi di cavi. I cavi per il passaggio di dati aprono numerose possibilità di interazione con il telefono e di modifica del suo software interno. Il tipo di cavo da utilizzarsi con i telefoni Nokia dipende da parecchi fattori, per esempio dal modello del cellulare e dall’operazione che si desidera effettuare (scaricare la rubrica, utilizzare il telefono come modem e così via). Un cavo dati può anche essere impiegato per attivare una modalità diagnostica, grazie alla quale è possi- 2 Hardware hacking Figura 1 Il cellulare Nokia 6210. bile capire più a fondo il funzionamento interno dell’apparecchio e scoprire i protocolli radio che utilizza. Nel caso del Nokia 6210, si possono utilizzare due cavi: il cavo DAU-9P e il cavo DLR-3P. Un terzo tipo di cavo, il cavo per il flashing, consente poi di riprogrammare la ROM Flash del cellulare. Come modificare i LED del Nokia 6210 L’obiettivo principale di questo hacking è la modifica del colore dei LED del cellulare, che è predefinito di fabbrica. Sebbene il modello che utilizziamo in questo esempio sia il Nokia 6210, l’operazione che andiamo a esaminare può essere effettuata su un’ampia gamma di marchi e di modelli di telefoni cellulari. Preparazione al lavoro Per prepararvi al lavoro, dovete innanzitutto decidere e fare un ordinativo dei LED con cui desiderate sostituire quelli originali presenti nel telefono. Mi senti adesso? Come modificare il telefono cellulare Nokia 6210 3 La scelta del colore dei LED è ovviamente una questione di preferenze personali. Assicuratevi soltanto che le dimensioni dei LED che scegliete vadano bene per il vostro particolare modello di telefono, poiché non tutti i modelli prevedono la stessa dimensione dei LED. La grandezza dei LED (e di altri componenti discreti a montaggio superficiale, come resistori e condensatori) è definita da un codice standard industriale (Tabella 1). La Tabella 2 elenca le dimensioni dei LED che vanno bene per alcuni modelli di telefoni Nokia. Tabella 1 I codici di tipo dei LED e le rispettive dimensioni Indicazione del tipo Dimensione (Lunghezza × Larghezza) 0402 0603 0802 0805 1104 1106 1206 1208 1,0 mm × 0,5 mm 1,6 mm × 0,8 mm 2,1 mm × 0,7 mm 2,0 mm × 1,25 mm 3,0 mm × 1,0 mm 3,0 mm × 1,5 mm 3,2 mm × 1,6 mm 3,2 mm × 2,0 mm Tabella 2 Numero e dimensioni dei LED relativi ad alcuni modelli di cellulari Nokia Modello N. Tipo Nokia 3210 Nokia 33xx Nokia 51xx Nokia 5210 Nokia 5510 Nokia 61xx Nokia 62xx/63xx Nokia 71xx 10 8 12 11 8 12 10 4 6 12 10 12 14 oppure 16 0603 oppure 0805 1206 oppure 0805 0603 oppure 0805 0603 1206 oppure 0805 0603 oppure 0805 1206 oppure 0805 1206 0603 oppure 0805 0603 0603 0603 0603 Nokia 82xx Nokia 83xx Nokia 8810 Nokia 8850/90 La Figura 2 illustra lo schema di un LED a montaggio superficiale. Sul retro di un componente, è presente un simbolo, un puntino o un altro segno che indica quale sia l’anodo e quale il catodo del diodo. Nella stessa figura, potete vedere il simbolo universale che indica un LED. Come potete vedere dalla Tabella 2, il Nokia 6210 ha bisogno di 10 LED del tipo 0805 oppure 1206. In questo caso, sono stati acquistati LED 0805 blu ultralumi- 4 Hardware hacking Figura 2 Il simbolo del LED e uno schizzo della sua struttura interna. anode T cathode nosi (Figura 3) da un negozio locale di articoli elettronici. Questo hacking è semplice da effettuare, ma è utile per raffinare la propria destrezza con il saldatore. La striscia di LED 0805 blu utilizzata nell’hacking. Figura 3 Bisogna saperlo... Prima di aprire il cellulare, assicuratevi di effettuare un back-up sicuro di tutti i dati che vi sono conservati. A seconda del marchio e del modello di telefono che possedete, potete avvalervi di software proprietario e di un cavo dati apposito. In altri casi, invece, dovrete salvare le informazioni Mi senti adesso? Come modificare il telefono cellulare Nokia 6210 5 presenti nella rubrica copiandole dalla memoria del telefono in una scheda SIM. Non dimenticate di annotare eventuali impostazioni che solitamente non sono copiate in un back-up, come le informazioni per la connessione ai servizi WAP o GPRS, il numero per la posta vocale e così via. Il coperchio del telefono Nokia è mantenuto saldo da quattro viti di tipo Torx, per cui è necessario un cacciavite di dimensione T-6. Come svolgere il lavoro La procedura di sostituzione dei LED si suddivide in cinque fasi, riepilogate di seguito. 1. L’apertura del telefono. 2. La rimozione dei LED originali. 3. L’inserimento dei nuovi LED. 4. L’aumento della potenza dei LED. 5. Il riassemblaggio del telefono. L’apertura del Nokia 6210 Per aprire il cellulare, eseguite le operazioni descritte di seguito. 1. Per aprire il telefono, dovete rimuovere la batteria, poiché dal suo vano potrete accedere alle quattro viti Torx sopra menzionate (Figura 4). Rimuovete la batteria semplicemente premendo sulla sua molla di chiusura e facendo scivolare via la batteria dal telefono. Il retro del Nokia 6210 dopo la rimozione della batteria; sono visibili le quattro viti Torx. Figura 4 6 Hardware hacking 2. Dopo avere rimosso le viti, i coperchi superiore e inferiore del telefono saranno ancora attaccati. Ciò è dovuto a cinque piccole alette che fanno parte della custodia esterna di plastica. Inserendo un piccolo cacciavite nelle posizioni giuste, potete creare lentamente abbastanza spazio da aprire un po’ di più il telefono (Figure 5 e 6). Figura 5 Fase 1: fate aprire le alette che serrano la custodia esterna del telefono facendole scattare su un lato. Figura 6 Fase 2: fate aprire allo stesso modo le alette che si trovano sul lato opposto. 3. Sebbene il telefono sia quasi aperto, serve un’ulteriore operazione. Muovete lentamente di fianco la parte inferiore e quella superiore della custodia, fino a sentire lo scatto delle piccole alette superiori (Figura 7). Le tre alette superiori sono collegate al coperchio superiore e potrebbero richiedere una certa fatica per scattare via. Evitate assolutamente di forzarle durante l’operazione, poiché potreste danneggiarle. 4. Quando avete finalmente aperto del tutto il cellulare, vi resteranno in mano due pezzi: quello del retro in plastica e quello superiore, contenente il circuito stampato (Figura 8). Come potete vedere, in gran parte il circuito del telefono è ricoperto da una schermatura metallica. Negli apparecchi radio, questa schermatura è importante per ridurre le interferenze elettriche. Mi senti adesso? Come modificare il telefono cellulare Nokia 6210 7 Figura 7 Fate aprire le alette superiori. Figura 8 Il Nokia 6210 dopo l’apertura. 5. Il PCB è attaccato al coperchio superiore del telefono tramite una sola vite Torx, che è collegata a sua volta anche all’antenna. Questa parte dovrebbe essere rimossa come illustra la Figura 9. Figura 9 Rimuovete l’antenna. 8 Hardware hacking 6. A questo punto non vi rimane che il PCB e un tastierino di plastica collegato a esso. Il tastierino è attaccato con quattro alette al PCB, come mostra la Figura 10. Potete rimuovere il tastierino rilasciando prima le due alette di plastica inferiori, come mostra la Figura 11. A quel punto, le due alette di metallo superiori si apriranno abbastanza facilmente. Figura 10 Il circuito stampato: sono visibili le alette del tastierino. Figura 11 Sollevate le alette del tastierino. Prima di potere procedere e mettere le mani sui LED, dobbiamo anche necessariamente rimuovere la schermatura del PCB, che è semplicemente fissata sui lati, saldati sul PCB stesso. Le lamine schermanti presentano lati ripiegati con piccoli intagli che scendono lungo i bordi. Utilizzando un piccolo cacciavite, potete semplicemente fare uscire un incavo alla volta, finché a un certo punto tutta la schermatura verrà via dai bordi. I LED si trovano proprio sotto la schermatura, assieme ai contatti della SIM, ma per lavorare più agevolmente è bene rimuovere completamente le lamine. 7. Purtroppo svariati LED (sei di dieci) si trovano proprio sotto i bordi di una delle lamine schermanti di metallo. Ovviamente essa va rimossa, altrimenti Mi senti adesso? Come modificare il telefono cellulare Nokia 6210 9 diventa quasi impossibile rimuovere i LED originali e sostituirli con i nuovi. Per fortuna, questa lamina si può rimuovere abbastanza facilmente. Nella Figura 12, potete vedere come rimuoverne i bordi, incidendo due piccoli tagli su ciascuno degli angoli. Ripetete l’operazione per il bordo inferiore, che copre altri due LED. A questo punto, scuotete lentamente il bordo con un paio di pinze finché la saldatura non salta via, consentendovi di tirarlo via facilmente (Figura 13). Figura 12 Rimuovete i lati delle lamine schermanti. Figura 13 Le lamine schermanti dopo la rimozione. 8. La lamina metallica schermante deve essere modificata leggermente per essere rimessa con sicurezza al suo posto al termine dell’hacking. Dato che i bordi della lamina sono stati intaccati come abbiamo visto, c’è il rischio che essa vada in corto circuito con altri componenti del PCB. Di conseguenza, riprendete le pinze e tagliate via le piccole alette che si trovano lungo il perimetro della schermatura metallica (Figura 14): in questo modo, sarete sicuri che la lamina non entri mai in contatto con alcun altro componente. 10 Hardware hacking Eliminazione delle alette dal perimetro di una lamina schermante. Figura 14 La rimozione dei LED originali Prima di continuare con questo hacking, non dimenticatevi di annotare l’orientamento dei LED originali. I nuovi LED, infatti, dovranno essere disposti esattamente secondo la stessa configurazione, altrimenti non funzioneranno. Fate una fotografia alla scheda circuitale o uno schizzo della configurazione dei LED nel vostro telefono. La Figura 15 mostra un’immagine dettagliata della posizione e dell’orientamento dei LED nel cellulare Nokia 6210. Osservate, inoltre, che i LED emettono la luce dall’altra parte del PCB, attraverso un foro. La Figura 15 mostra il lato a cui i LED sono attaccati, ma la luce passa dall’altro lato della scheda. Figura 15 I LED del Nokia 6210 (notate il loro orientamento). 1. È giunto il momento di affrontare la dissaldatura dei LED. Per questa operazione serve un ferro saldatore con una punta molto piccola. Aiutandovi con un piccolo cacciavite o con uno stuzzicadenti, imprimete una leggera pressione sulla parte posteriore del PCB, applicando al contempo il calore sui bordi dei LED (Figura 16). Mi senti adesso? Come modificare il telefono cellulare Nokia 6210 11 Pericolo di danni all’hardware Imprimete una pressione molto leggera quando cercate di rimuovere i LED. Se premete oltre misura con il ferro saldatore, potreste strappare via del tutto il LED dalla scheda, causando eventualmente danni irreparabili al circuito stampato. Inoltre, assicuratevi di non piegare la scheda circuitale, poiché ciò potrebbe causare rotture nelle tracce, rendendo inservibile il vostro cellulare. Figura 16 Dissaldate i LED esistenti applicando una leggera pressione dal lato inferiore della scheda durante l’applicazione del calore. L’inserimento dei nuovi LED Dopo avere rimosso tutti i LED originali, dovete prepararvi a inserire nel telefono quelli nuovi. 1. Non dimenticate di rimuovere la lega di saldatura in eccesso dai cuscinetti a cui erano attaccati i LED originali che avete appena rimosso. Utilizzate quindi un po’ di alcol o di prodotto per la rimozione del flux, ripulendo l’area da qualsiasi residuo. 2. Quando siete soddisfatti della pulizia della scheda, potete finalmente introdurvi i nuovi LED. È importante che ricordiate che i LED emettono la luce attraverso un foro verso il lato opposto del PCB rispetto a quello a cui sono saldati. Per controllare che essi siano perfettamente adatti alla scheda circuitale, collocate un LED su uno dei fori (attraverso i quali passa la luce) aiutandovi con un paio di pinzette. Nel caso del nostro hacking, è risultato subito evidente come, nonostante fossero giuste le dimensioni dei cuscinetti di saldatura dei LED, la parte centrale del LED fosse troppo grande rispetto ai fori. Per risolvere questo problema, è stata utilizzata una limetta per allargare i fori presenti sulla scheda (Figura 17). 3. Dopo avere opportunamente modificato il PCB per accomodarvi i nuovi LED, è possibile passare alla loro saldatura. Per effettuare l’operazione, recuperate innanzitutto le vostre note sull’orientamento dei LED originali. Posizionate il PCB orizzontalmente, in modo che i LED restino al loro posto quando cercate di saldarli. Quando li saldate, applicate soltanto il calore 12 Hardware hacking Figura 17 Allargate i fori del PCB per consentire un’agevole sistemazione dei LED. sufficiente per creare una buona saldatura: una quantità di calore eccessiva potrebbe danneggiare i LED. Come mostra la Figura 18, un paio di pinzette può essere utile per tenere fermo il LED al suo posto durante l’operazione di saldatura. Figura 18 Saldate i nuovi LED al loro posto. Come aumentare la potenza dei LED A seconda del tipo di telefono e di LED, l’intensità dei nuovi LED potrebbe risultare eccessiva o insufficiente. Ciò è dovuto in genere alla tensione di conduzione, alla corrente di conduzione e all’efficienza dei LED. Per controllare la corrente che passa attraverso i LED, si introducono dei resistori di limitazione della corrente, collocati in serie (per ulteriori informazioni sulla teoria dei circuiti elettronici, si veda il Capitolo 2 del libro). Nel caso del Nokia 6210, lo schema delle connessioni dei LED è illustrato nella Figura 22. In questo schema, potete distinguere due gruppi di LED: a sinistra c’è un gruppo di sei LED, per il tastierino, mentre a destra c’è un gruppo di quattro LED, per il display. Mi senti adesso? Come modificare il telefono cellulare Nokia 6210 13 Per aumentare la caduta di tensione sui LED, dobbiamo cambiare il valore totale della resistenza (cioè il valore combinato dei due resistori in parallelo) nella parte superiore dello schema, portandolo a 2,2 ohm per i LED del tastierino e a 3,3 ohm per i LED del display. Tuttavia, dati i valori bassi di questi resistori, date le tolleranze in generale e per un fatto di convenienza, si è deciso alla fine di utilizzare dei jumper direttamente sui 3,6 volt. Se volete fare lo stesso, dovete porre in corto soltanto un resistore, sia per i LED del display sia per quelli del tastierino. Se esaminiamo il PCB del cellulare, possiamo trovare i resistori sul lato in cui sono collocati i LED, nella stessa area. La posizione esatta dei resistori è illustrata nella Figura 19. Possiamo quindi saldare un piccolo segmento di filo sulle due estremità del resistore. Date le dimensioni di cui stiamo parlando, spesso andrà bene anche una piccola goccia di lega di saldatura o un piccolo filo. Fate attenzione a non riscaldare eccessivamente il resistore, poiché potrebbe venire via del tutto dalla scheda. Pericolo di danni all’hardware Se impiegate delle scorciatoie anziché installare resistori dai valori appropriati, correte il rischio di danneggiare i LED. In questo caso tale rischio è limitato, ma nel caso di altri cellulari la situazione potrebbe essere diversa. Inoltre, saldate con molta attenzione i componenti di dimensioni così ridotte, come questi resistori. Servitevi di una lente per controllare di non mandare in cortocircuito accidentalmente alcuni componenti. Figura 19 La posizione dei resistori di limitazione della corrente che giunge ai LED. Il riassemblaggio del telefono Dopo avere saldato tutti i nuovi LED al loro posto, dovreste accendere l’apparecchio per controllare che tutti i LED si illuminino prima di ricomporne la custodia esterna. Per accenderlo, dovete semplicemente rimettere la batteria sui contatti di metallo appositi del PCB principale. Assicuratevi di allineare la batteria al PCB nel modo appropriato. Dopo avere collocato la batteria, premete il piccolo pulsante di accensione che si trova sul lato superiore della scheda circuitale. Se l’hacking è riuscito, i 10 LED emetteranno una luce brillante, come testimonia la Figura 20. 14 Hardware hacking Figura 20 L’hacking è riuscito: i nuovi LED emettono luce attraverso i fori del circuito stampato. La ricomposizione del cellulare è l’operazione esattamente contraria all’apertura, che abbiamo visto all’inizio di questo capitolo. 1. Rimettete al loro posto tutte le lamine schermanti di metallo. Assicuratevi che le alette di ogni lamina non vadano in corto circuito con altri componenti del PCB. Collegate, quindi, nuovamente il tastierino al PCB. Controllate che i contatti che si trovano nella parte superiore del tastierino siano saldamente collegati alle aree di rame del PCB. Rimettete il coperchio del tastierino e infilate il PCB nuovamente nella custodia esterna anteriore del telefono. 2. Dal lato opposto, ricollegate l’antenna al PCB e riavvitate saldamente la vite Torx. Infine, riattaccate la custodia posteriore del telefono a quella anteriore e applicate una certa pressione. Dovreste avvertire distintamente un “clic” quando le alette delle due parti scattano, richiudendo il telefono. Riavvitate le quattro viti Torx esterne e rimettete al suo posto la batteria. Se tutto è andato secondo i piani, quando accendete il telefono, dovreste vedere un display illuminato di un colore diverso, come mostra la Figura 21. Approfondimento sul lavoro La Figura 22 mostra uno schema dei collegamenti dei LED all’interno del telefono. I LED sono contrassegnati con i simboli D1-D10, i resistori di limitazione della corrente con R1-R4 e i transistor con Q1 e Q2. I transistor sono utilizzati come interruttori, in quanto permettono alla corrente di scorrere verso i diodi, illuminandoli. Questo hacking è molto semplice, anche perché in fin dei conti prevede soltanto la sostituzione di alcuni LED sul circuito stampato. Il flusso della corrente verso i LED va regolato a seconda della luminosità che desideriamo ottenere. A questo scopo, va modificato il valore dei resistori di limitazione della corrente, secondo il calcolo che ci è permesso dalla Legge di Ohm. Nel caso del Nokia 6210, la tensione di alimentazione VCC è di 3,6 V. Ciascun gruppo di LED è collegato in parallelo (un gruppo di sei e un altro di quattro), per Mi senti adesso? Come modificare il telefono cellulare Nokia 6210 15 Figura 21 L’hacking è riuscito: il telefono dopo il riassemblaggio. cui la corrente che scorre attraverso i resistori di limitazione è uniformemente distribuita sui LED. Ciò detto, presumendo una tipica corrente di conduzione di 7 mA su ciascun LED (che in generale non è in grado di produrre una luce eccessiva) e una tensione di conduzione di 3,5 V nel caso di un LED blu, la resistenza va calcolata come descritto di seguito. Notate che nel caso di un LED rosso, la tensione di conduzione è tipicamente di 2 V, mentre nel caso di uno verde essa è di 2,2 V: insomma, LED di diversi colori sono caratterizzati da cadute di tensione diverse, per cui molto spesso non è possibile sostituire semplicemente un LED di un colore con un LED di un altro ottenendo la stessa luminosità e senza rischiare di danneggiare il componente. Tornando al calcolo: R=V×I dove: • R = resistenza (ohm) • V = tensione (V) • I = corrente (A) Gruppo 1: R = Resistenza effettiva di R1 e R2 = (VCC – VF) / IF = (3,6 – 3,5) / (0,007 × 6) = 2,38 ohm Il valore standard di resistore che si avvicina di più è 2,2 ohm, con una tolleranza del 5%. 16 Hardware hacking Gruppo 2: R = Resistenza effettiva di R3 e R4 = (VCC – VF) / IF = (3,6 – 3,5) / (0,007 × 4) = 3,57 ohm Il valore standard di resistore che si avvicina di più è 3,3 ohm, con una tolleranza del 5%. Come potete vedere da questi calcoli, i valori dei resistori risultanti sono molto modesti. Per questo motivo, e per il fatto che le tolleranze di produzione generalmente consentono un piccolo carico aggiuntivo, si è deciso di sostituire i resistori con dei jumper (Figura 22). Il risultato sarà una luminosità dei LED leggermente superiore. VCC Shortcut R1 PNP BCE Figura 22 D2 R4 D8 D9 PNP BCE Q1 D1 R3 Shortcut R2 Q2 D3 D4 D5 D6 D7 D10 Lo schema dell’illuminazione in un telefono Nokia (con l’indicazione dei jumper). L’hacking del software: i cavi dati Come è stato detto all’inizio di questo capitolo, la maggior parte degli hacking che riguardano i telefoni cellulari è di tipo software anziché di tipo hardware. Proprio l’hardware di questi apparecchi, molto specifico, assieme alle tecnologie di montaggio superficiale implementate, rende molto complesso qualsiasi hacking puramente hardware. Questo paragrafo vuole approfondire proprio il livello software dei cellulari. Anche qui utilizziamo il Nokia come esempio, ma molte altre marche di telefoni presentano possibilità di hacking analoghe. Mi senti adesso? Come modificare il telefono cellulare Nokia 6210 17 I cavi dati si utilizzano per interfacciarsi con un PC utilizzando funzionalità speciali del telefono. I cavi possono essere standard, rivenduti dal produttore del telefono (per esempio per la sincronizzazione dei dati, per i back-up, per il caricamento di nuove suonerie e così via), o possono essere realizzati in proprio. I cavi dati aprono numerose possibilità di interazione con il telefono e di modifica del software. Un cavo dati può essere utilizzato anche per attivare una modalità diagnostica, consentendo di conoscere di più il funzionamento interno del cellulare e i protocolli radio che esso utilizza. Come già detto in precedenza, un altro tipo di cavo è quello destinato al flashing, che consente di riprogrammare la ROM Flash del telefono. Prima di addentrarci nel discorso sui cavi, dobbiamo chiarire alcuni punti riguardo i modelli di cellulari Nokia. Nel corso degli anni, Nokia ha prodotto varie gamme di telefoni, ognuna dotata di svariate funzionalità e opzioni. Tuttavia, molti di questi telefoni hanno alcune caratteristiche in comune, per esempio il modo in cui opera il software sottostante. Il Nokia 6210 fa parte della generazione DCT-3 di telefoni Nokia. I modelli di telefoni Nokia più recenti, prodotti a partire dal 2002, appartengono invece alla generazione DCT-4. La Tabella 3 riepiloga vari modelli di telefoni Nokia appartenenti alla generazione DCT-3. Le informazioni relative ai cavi che discuteremo in questo capitolo valgono per la serie DCT-3. La generazione DCT-4 prevede alcuni miglioramenti nei meccanismi di sicurezza, che complicano l’accesso al software e l’hacking, ma non ne parleremo qui (tuttavia molte informazioni sono reperibili sul Web). Tabella 3 Elenco dei modelli più comuni di telefoni Nokia della generazione DCT-3 Modello Tipo Nokia 2100 3210 3310 3315 3330 3350 3410 3610 3810 5110 5110i 5210 5510 6090 6110 6110i 6150 NAM-2 NSE-8 NHM-5 NHM-5 NHM-6 NHM-9 NHM-2 NAM-1 NHE-9 NSE-1 NSE-2 NSM-5 NPM-5 NME-3 NSE-3 NSE-3i NSM-1 (Segue) 18 Tabella 3 Hardware hacking (Continua) Elenco dei modelli più comuni di telefoni Nokia della generazione DCT-3 Modello Tipo Nokia 6210 6250 7110 8210 8250 8810 8850 8855 9000 9000i 9110 9110i NPE-3 NHM-3 NSE-5 NSM-3 NSM-2 NSE-6 NSM-2 NSM-4 RAE-1N RAE-4 RAE-2 RAE-2i I cavi dati I cavi dati si possono suddividere da un punto di vista logico in due parti: • il cavo fisico; • il protocollo trasmesso lungo il cavo stesso. I telefoni Nokia adottano e comprendono due protocolli distinti: • MBUS; • FBUS. MBUS è il protocollo meno recente ed è piuttosto lento. Esso utilizza un solo pin per trasmettere e ricevere i dati e un pin per la terra. Si tratta di un protocollo half-duplex che viaggia sui 9600 b/s. Il protocollo FBUS è più recente e più veloce: utilizza due pin per trasmettere in full-duplex dati seriali a una velocità di 115,2 kb/s e un pin per la terra. Il formato del protocollo è diverso in MBUS e in FBUS. FBUS è stato studiato e analizzato con il reverse-engineering da svariati gruppi nel corso degli anni. Le implementazioni open source più conosciute di questi protocolli sono Gnokii (www.gnokii.org) e Gammu (www.mwiacek.com/gsm/gammu/gammu.html). Il cavo fisico utilizzato per collegare il telefono alla porta seriale del PC contiene parti attive, che generalmente servono per la conversione dei livelli, ma che talvolta prevedono anche una logica più complessa. Nel caso del Nokia 6210, sono disponibili due tipi di cavi: uno è il cavo DAU-9P, che permette di utilizzare sia MBUS sia FBUS, mentre l’altro è il cavo DLR-3P, che prevede un’interfaccia di comandi AT, proprio come un normale modem Hayes. Esso consente di utilizzare il 6210 come un modem senza la necessità di ulteriori driver. Tuttavia, per consentire ciò, il cavo DLR-3P contiene una logica più avanzata, che include tra l’altro un microprocessore. Il sito web non ufficiale dei cavi dati Mi senti adesso? Come modificare il telefono cellulare Nokia 6210 19 per Nokia, www.atrox.at/datacable/index.html, è gestito da Adrian Dabrowski e descrive nel dettaglio i vari tipi di cavi e i protocolli. Per esaminare in maggiore dettaglio il funzionamento dei cavi, dobbiamo analizzare innanzitutto il connettore che si trova nella parte inferiore del telefono cellulare (Figura 23), a cui va collegato il cavo dati. La Tabella 4 elenca le uscite dei pin del connettore (secondo le indicazioni di www.nobbi.com/steck-nok.htm). Questo connettore presenta nove pin di utilizzo generale, per la comunicazione tramite MBUS e FBUS, connessioni accessorie e alimentazione/ricarica. 1 2 3 4 5 Figura 23 Le uscite dei contatti nel connettore del Nokia 6210. Tabella 4 Le funzioni dei conduttori per il Nokia 6210 6 7 8 9 Pin Nome Funzione In/Out 1 2 3 CHARGE CCONTROL MIC / XMIC 4 AGND 5 EAR / XEAR 6 7 8 9 MBUS FBUS RX FBUS TX SGND Tensione di carica In Controllo di carica Out Ingresso audio analogico In Esclusione degli accessori Out Rilevamento delle cuffie In Terra analogica Fonte di alimentazione per il cavo DLR-3P Out Uscita audio analogica Out Rilevamento degli accessori In Bus seriale bidirezionale In/out Ingresso dati seriali In Uscita dati seriali Out Terra per il segnale/terra per l’alimentazione di carica Se esaminiamo i cavi, il più semplice dei due è senz’altro il cavo DAU-9P (il cui schema è illustrato nella Figura 24). Il cavo è sostanzialmente utilizzato soltanto per la conversione dei livelli tra i segnali RS232 che provengono dal PC e i se- 20 Hardware hacking gnali destinati al telefono Nokia. Il dispositivo Maxim MAX3232 è un “convertitore di livello” standard per RS232, nel senso che porta i livelli di RS232 su tensioni gestibili dai telefoni Nokia. Anche il circuito incorporato nel cavo è alimentato mediante la porta RS232 e passa le tensioni dalla porta a un regolatore di tensione 78L02, per creare una tensione VCC di 2,6 V. C1 0.1uF C2 0.1uF U1 MAX3232 1 3 4 5 1 6 2 7 3 8 4 9 5 D1 D2 14 7 13 8 1N4148 VCC C1+ VCC C1- GND C2+ V+ V- 16 15 2 6 C2T1OUT T2OUT R1IN R2IN T1IN T2IN R1OUT R2OUT C3 0.1uF C4 0.1uF 11 10 12 9 1N4148 U2 78L02 1 VCC IN OUT D3 BAT41 1 2 3 4 5 6 7 8 9 3 C5 0.1uF 2 C6 0.1uF GND DB9F To Nokia 51xx/61xx JP1 MBUS Jumper 1 2 Figura 24 Lo schema di un cavo DAU-9P (cortesia di Adrian Dabrowski, www.atrox.at/ datacable). La differenza principale tra i cavi DLR-3P e DAU-9P sta nel fatto che il cavo DLR-3P effettua attivamente in parte la negoziazione prevista dal protocollo FBUS all’interno del cavo (lo schema illustrato nella Figura 25). Portando il contatto 3 del telefono a un livello logico LOW, esso segnala al telefono di dare alimentazione al contatto 4. Questa alimentazione viene quindi utilizzata per attivare il circuito che si trova nel cavo. A quel punto, il telefono comincia a comunicare mediante il protocollo MBUS; il processore Microchip PIC16F84 riceve comandi e risponde con una conferma. Quando il telefono riceve le conferme dal processore PIC, passa a una modalità in cui può accettare i normali comandi AT in stile modem Hayes da un PC sulle linee FBUS. I cavi per il flashing I cavi per il flashing si utilizzano per riprogrammare il dispositivo ROM basato su tecnologia Flash che si trova all’interno del telefono. Questi cavi sono utilizzati principalmente dal produttore stesso o da personale di assistenza, per aggiornare il software/firmware del cellulare. Il cavo per il flashing può anche permettere di conoscere dati di calibrazione e altre informazioni di debugging. Benché Nokia non sostenga in alcun modo l’impiego di un cavo 21 Mi senti adesso? Come modificare il telefono cellulare Nokia 6210 1k 100 1k 1k 15k VCC 1 2 3 4 5 6 7 8 9 To Nokia 6210/7100 VCC C3 0.1uF 28 24 C4 0.1uF 1 VCC 2 14 4 VDD MCLR RB4 RB5 C1 30pF 15 OSC1 Y1 8MHz RA1 16 C2 RA0 30pF OSC2 RA2 RA3 5 GND RA4 10 11 C1+ 26 22 VCC SHDN C1C2+ EN GND C2V+ D1 BAT41 V- 23 25 27 C5 0.1uF 3 C6 0.1uF 17 19 18 14 13 12 R1OUT 2 T1IN T2IN T3IN 3 U2 MAX3241 1 R1IN T1OUT T2OUT T3OUT 4 9 10 11 1 6 2 7 3 8 4 9 5 DB9F U1 PIC16F84 Figura 25 Lo schema di un cavo DLR-3P (cortesia di Adrian Dabrowski, www.atrox.at/ datacable). per flashing sui propri telefoni, ormai la procedura è divenuta di pubblico dominio. I cavi per il flashing che esamineremo in questo capitolo sono rivolti alla generazione DCT-3 di telefoni. I telefoni della generazione DCT-4 incorporano nuovi metodi di crittografia e di firma del codice, per cui modificare la ROM Flash è diventato più complicato (e non ne discuteremo in dettaglio). I cavi per il flashing adottano la stessa interfaccia del connettore illustrata nella Figura 23. Tuttavia, i contatti sono utilizzati in modo diverso rispetto ai “normali” cavi DAU-9P e DLR-3P. Il protocollo utilizzato per la comunicazione tra il cellulare e il PC è simile al protocollo seriale I2C. Essendo la sincronizzazione un elemento critico di questo protocollo, non può essere utilizzata la porta seriale. Questi cavi, invece, sono controllati dalla porta parallela del PC, che è più adatta per le applicazioni sensibili alla sincronizzazione. Lo schema di un cavo per flashing adatto a un telefono DCT-3 è illustrato nella Figura 26. Il software relativo è reperibile sul sito web di Dejan Kaljevic, all’URL http:// users.net.yu/~dejan. All’accensione, il telefono Nokia effettua un controllo sulla linea MBUS. Quando MBUS si trova a un livello logico LOW anziché seguire il normale percorso verso il telefono, quest’ultimo entra in una modalità di avvio (bootstrap) che gli permette di accettare il codice trasmesso dal PC. Il codice del flashing inviato al telefono è sostanzialmente un sistema operativo in miniatura, che riporta lo stato del telefono, legge il contenuto della memoria Flash ed elimina/sovrascrive blocchi di memoria Flash. 22 Hardware hacking To Nokia Phone 4.7k 0.1uF 100 VPP 13 25 12 24 11 23 10 22 9 21 8 20 7 19 6 18 5 17 4 16 3 15 2 14 1 14 To PC Parallel Port 12 2 x 1N4148 13 5 6 3 4 1 2 DB25M FBUS TX BTEMP FBUS RX MBUS 7 74HC14 GND Figura 26 Lo schema di un cavo per il flashing di un telefono della generazione DCT-3 (cortesia di Dejan Kaljevic, http://users.net.yu/~dejan). La modalità diagnostica “Net Monitor” Una delle funzionalità più interessanti incorporate nei telefoni Nokia della generazione DCT-3 è la modalità “Net Monitor”. Si tratta di un’utilità diagnostica che consente di testare e monitorare svariati aspetti dell’apparecchio. Questa funzionalità è stata poi eliminata dai telefoni della generazione DCT-4. Il menu di “Net Monitor” consente di esaminare la funzionalità interna del telefono e la rete GSM a cui esso è collegato. È possibile perfino modificare il modo in cui l’apparecchio opera sulla rete GSM. Per attivare questa modalità, serve un cavo dati e un software speciale. A questo scopo sono state realizzate diverse utilità, la maggior parte delle quali è facilmente reperibile su Internet con una ricerca basata su termini come “NMonitor” o “Net Monitor Activator”. Mi senti adesso? Come modificare il telefono cellulare Nokia 6210 23 Uno dei software più utilizzati è “Logo Manager” (la cui versione demo si può scaricare dal sito www.logomanager.co.uk). Questo software invia al telefono un comando speciale FBUS di sicurezza, che attiva una nuova voce di menu sull’apparecchio. Ciò avvenuto, quando scorrete ciclicamente i menu del telefono, dovreste trovarvi davanti a una schermata come quella illustrata nella Figura 27. Da questo menu potete quindi partire per l’esplorazione di diverse opzioni. Figura 27 Il menu della modalità “Net Monitor”. Le opzioni previste da “Net Monitor” sono denominate “Test” e ciascuna di esse è identificata da un numero. Quando premete Select nel menu, vi sarà presentata una schermata in cui potete digitare il numero del test (Figura 28). Figura 28 Digitate il numero del test che desiderate effettuare. Digitate il numero di test 01 e premete OK. Vi sarà presentata una schermata contenente blocchi di lettere e di numeri (Figura 29). 24 Hardware hacking Pericolo di danni all’hardware Non digitate un numero di test arbitrario nel menu apposito, a meno che sappiate esattamente di che test si tratti. Alcune funzionalità dei test possono alterare il funzionamento del telefono, impedendogli di operare correttamente. Due delle risorse più esaustive sui test di “Net Monitor” sono reperibili agli URL seguenti: 1) www.mwiacek.com/gsm/netmon/faq_net0.htm ; 2) www.nobbi.com/download/nmmanual.pdf. Figura 29 Il test 01: i parametri GSM del telefono. Nell’angolo a sinistra in alto della schermata è visualizzato il numero di test. Gli altri numeri sul display sono informazioni correlate al collegamento corrente con la rete GSM. Questo collegamento è stabilito con una stazione base e il display ci informa che in questo momento è sul canale CCCH (Common Control Channel, canale di controllo comune). Le altre informazioni sono le seguenti (cortesia del sito http://home.tiscali.cz:8080/ca517880/netmon_0.8.doc): ++++++++++++++ ############## +abbb ccc ddd+ #CH RxL TxPwr # + e ff g mmmm+ #TS TA RQ RLT # + nnn + ppp+ # C1 oooo + # C2 CHT # # ++++++++++++++ ############## a H, se i numeri del carrier scorrono quando è attivo l’hopping (variazione di frequenza). Altrimenti ' '. bbb Quando il telefono è sul canale TCH: Numero DCH del carrier in formato decimale. Mi senti adesso? Come modificare il telefono cellulare Nokia 6210 25 Quando il telefono non è sul canale TCH: CH è il numero del carrier in formato decimale. Se è attivo l’hopping, scorrimento dei canali utilizzati durante l’aggiornamento del display. ccc Livello rx in dBm, il segno meno non è visualizzato se il valore <= -100 ddd Livello di alimentazione tx. Se il trasmettitore è attivo, il simbolo * è visualizzato davanti al valore del livello di alimentazione. e Slot temporale, nell’intervallo 0 - 7 ff Avanzamento della sincronizzazione, nell’intervallo 0 – 63 g Qualità rx (sub), nell’intervallo 0 - 7 mmmm Valore del timeout del collegamento radio. Se il valore è negativo, è visualizzato 0. Il valore massimo è 64. Quando il telefono non è sul canale TCH, è visualizzato xx. nnn Valore del criterio di perdita del percorso (C1). L’intervallo di validità è -99 - 999. oooo Tipo del canale corrente: THR0 : TCH HR sottocanale 0 THR1 : TCH HR sottocanale 1 TFR : TCH FR TEFR : TCH EFR F144 : TCH FR (canale dati), velocità 14,4 kb/s F96 : TCH FR (canale dati), velocità 9,6 kb/s F72 : TCH FR (canale dati), velocità 7,2 kb/s F48 : TCH FR (canale dati), velocità 4,8 kb/s F24 : TCH FR (canale dati), velocità 2,4 kb/s H480 : TCH HR (canale dati), velocità 4,8 kb/s, sottocanale 0 26 Hardware hacking H481 : TCH HR (canale dati), velocità 4,8 kb/s, sottocanale 1 H240 : TCH HR (canale dati), velocità 2,4 kb/s, sottocanale 0 H241 : TCH HR (canale dati), velocità 2,4 kb/s, sottocanale 1 FA : TCH FR solo per il segnale di controllo (FACCH) canale FAH0 : TCH HR solo per il segnale di controllo (FACCH) canale, sottocanale 0 FAH1 : TCH HR solo per il segnale di controllo (FACCH) canale, sottocanale 1 SDCC : SDCCH AGCH : AGCH CCCH : CCCH CBCH : CCCH e ricezione dei broadcast di cella (attivazione) BCCH : BCCH SEAR : SEARCH NSPS : MS è nello stato “No Serv Power Save” (Servizio assente, risparmio energia) ppp Valore del criterio di rielezione della cella (C2). L’intervallo di validità è -99 - 999. Se il telefono è in fase 1, è visualizzato il valore C1. Per mostrarvi che effettivamente le informazioni visualizzate sono quelle riepilogate, è stato catturato nella Figura 30 lo stesso test, ma stavolta su un altro telefono cellulare. Il livello di alimentazione della trasmissione non risulta visualizzato qui, mentre vediamo le informazioni sulla sincronizzazione e un diverso tipo di canale. Una delle caratteristiche interessanti di “Net Monitor” è la possibilità di modificare perfino l’operatività del telefono tramite test. Per esempio, è possibile fare sì che il telefono utilizzi soltanto le cosiddette stazioni base “vietate”. Queste sono stazioni base che l’operatore di rete (cioè il carrier prescelto) non desidera che siano utilizzate. Le ragioni potrebbero essere molteplici, tra cui anche la loro manutenzione o il testing. La stazione base è contrassegnata da un segnale di divieto che, normalmente, il telefono cellulare onora. Effettuando il test 19 sul telefono, possiamo cambiare il comportamento dell’apparecchio, invertendo l’effetto del contrassegno e utilizzando praticamente soltanto le stazioni base vietate (CELL BARR REVERSE), oppure possiamo ignorare il contrassegno e utilizzare sia le stazioni normali sia quelle vietate (CELL BARR DISCARD). Digi- Mi senti adesso? Come modificare il telefono cellulare Nokia 6210 27 Figura 30 Il test 01: le informazioni visualizzate dal telefono durante una chiamata. tando il numero di test 19 nel menu due volte di seguito, ci troveremo di fronte alla schermata catturata nella Figura 31. Figura 31 Il test 19: le stazioni base vietate sono ignorate. Per scoprire se nelle vicinanze ci sono stazioni base vietate, possiamo avvalerci dei test 03, 04 e 05, che elencano le informazioni relative alle altre stazioni base raggiungibili dalla portata del telefono. Un telefono cellulare non fa che monitorare continuamente la presenza di altre celle oltre a quella a cui è collegato in un dato istante, in modo da passare a una nuova cella se la ricezione si degrada al di sotto di un certo livello. Nella Figura 32, potete vedere le celle vicine, una delle quali è vietata (identificata da una B, per Barred, anziché da una N, per Normal). Ci sono molte altre modalità di test interessanti in “Net Monitor”: • Test 11 Visualizza i parametri di rete; • Test 20 Visualizza lo stato della carica del telefono; • Test 23 Visualizza le informazioni sulla batteria; • Test 88 Visualizza le versioni correnti del software/firmware MCU e DSP. 28 Hardware hacking Figura 32 Il test 03: le stazioni base che si trovano nelle vicinanze del telefono. • • Test 241 Disattiva il menu di “Net Monitor” (dopo di che è necessario utilizzare un software speciale per riattivarlo). Test 242 Consente soltanto l’esecuzione dei test compresi tra 01 e 19. Altri hacking e risorse Questo capitolo ha illustrato soltanto una piccola parte della gamma di hacking ed esperimenti possibili sui telefoni cellulari. Visitate i siti menzionati di seguito se siete interessati ad approfondire l’argomento. • NUUKIAWORLD, www.panuworld.net/nuukiaworld/index.htm Si tratta di uno dei migliori siti di hacking dell’hardware di apparecchi Nokia. • Embedtronics, www.embedtronics.com/nokia/fbus.html Si tratta di un altro sito di hacking dell’hardware, descrive in dettaglio i protocolli FBUS e SMS. • JBPhonetech, www.burrillj.fsnet.co.uk È un servizio di sostituzione dei LED colorati che retroilluminano il display. Indica anche come modificare in proprio i LED. • Nobbi’s GSM Site, www.nobbi.com/monitor/index_en.htm Il sito contiene informazioni dettagliate sulla modalità “Net Monitor”, oltre a un software che consente di attivarla. • Project Blacksphere, www.blacksphere.tk È un database di conoscenza, oltre che una comunità di hacker di telefoni cellulari e di appassionati del reverse engineering; contiene svariati software e molte informazioni. • MADos, http://gsmfreeboard.eu.org, www.nokiaport.de/RE, http://nokiafree.org/forums MADos è un sistema operativo completamente nuovo per i telefoni Nokia. Potete reperire ulteriori informazioni nei forum indicati.