In questo articolo mostro come ripristinare un EFI bios su un MacBook bloccato all’avvio. Il caso che tratto è solo un esempio e per effettuare questo intervento ho fatto alcuni studi su come funziona il reset | ripristino | recovery Bios EFI e l’ho applicato su un Apple MacBook Air 13 modello A1369 di un cliente che aveva erroneamente attivato questo blocco. Il caso che tratto è stato risolto mediante sostituzione dell’eeprom, cosa non alla portata di tutti.
Tuttavia ho preso spunto da questo tentativo di sblocco per fornire qualche informazione raccolta su internet su questo argomento: potrebbe essere di interesse malgrado la sua complessità.
La procedura qui esposta permette di recuperare una macchina che richiede password o PIN all’avvio oppure che non si avvia per problemi all’EFI (brick, mancato aggiornamento, anomalie di boot);
Tutto è partito da un cliente che mi ha consegnato una macchina che all’avvio richiedeva una password. Normalmente sono poco propenso a trattare argomenti simili poichè sono border-line, ai militi del legale.
Tuttavia il cliente ha impostato una password per errore e non la ricordava quindi mi sono studiato l’argomento, scoprendo che è davvero molto vasto e complesso.
So che in questo caso particolare al cliente sarebbe bastato rivolgersi ad un centro Apple per ricevere forse un’assistenza gratuita: ma si è fidato di me e io ho colto l’occasione per studiarmi il caso.
E ho visto che dietro di esso c’è davvero un mondo… nonchè come su tutte le cose, un business non indifferente.
Economia a parte, mi interessava capire come funzionava e quali sono i metodi più diffusi per risolvere il problema. In parte mi sono fatto una cultura, in altro modo c’è ancora da studiare. Aggiornerò questo articolo di tanto in tanto.
Nota: i possessori di MacBook Pro 13 con display retina e con problemi simili di richiesta password o EFI corrotto, possono leggere un altro mio articolo:
Problema accensione Apple MacBook 13 retina A1502 A1425
Inoltre se volete assistenza per questo problema sul vostro MacBook contattatemi per un preventivo! Carlo 393.593.35.22 | assistenza@informaticanapoli.com
Ma proseguiamo ora con l’articolo.
PREMESSA – ATTENZIONE – LEGGERE ATTENTAMENTE!
Il blocco dei dispositivi Mac e la conseguente richiesta di password (o PIN) è spesso legata ad un servizio Apple che permette di bloccare da remoto unità smarrite o rubate. Sbloccare macchine di questo tipo con un’alterazione del BIOS è un atto illegale e potenzialmente perseguibile dalla legge. Le informazioni qui riportate sono a puro scopo informativo.
In nessun caso mi ritengo responsabile di qualsiasi attività illegale di sblocco di dispositivi Apple non autorizzati dal legittimo proprietario.
Non fornisco alcun tipo di supporto su macchine di dubbia provenienza o bloccate da remoto (iCloud)
Tutto parte da una richiesta di password sul Mac…
In molti casi potremmo ritrovarci con la nostra macchina bloccata da una richiesta di codice di sblocco all’avvio. Questa non è la classica richiesta password dell’utente all’avvio di Mac OSX ma è una richiesta di codice o password a livello di boot cioè gestita nel codice del firmware EFI.
Potremmo ad esempio aver impostato una password nel firmware del Mac; oppure a causa di una corruzione del Bios EFI il Mac potrebbe richiedere improvvisamente una password all’avvio che però non abbiamo mai impostato.
Ma cos’è l’EFI?
Se chiedete ad un utente Mac affezionato (per non dire fissato) se la loro macchina abbia un BIOS probabilmente farà subito un paragone con una macchina Windows e dirà: certamente e assolutamente NO.
Niente di più sbagliato!! In realtà tutti i dispositivi – comprese le recenti lavatrici – hanno un software simile: che lo si voglia chiamare firmware, EFI, UEFI, BIOS, ecc. il discorso non cambia. Trattasi di uno strato software che permette lo start di un dispositivo con relativo controllo e check dell’hardware all’avvio.
Certo possono esserci Bios più o meno evoluti e strutturati: ma di base il funzionamento è quello.
Sui Mac l‘EFI non è altro che un’evoluzione del firmware BIOS ed è praticamente il primo strato software che viene eseguito per iniziare la fase di boot e controllo hardware: il firmware EFI è normalmente installato su una EEPROM cioè una memoria contenuta in un piccolo chip saldato su scheda logica.
Non solo i Mac hanno tutti un Bios: ma quelli costruiti attorno a chip Intel hanno anche parte delle istruzioni dei Bios dei PC tradizionali… altrimenti non potrebbero avviare sistemi Windows.. (Boot Camp).
Ecco infatti cosa riporta la fonte Wikipedia, tradotta in italiano:
Con il cambio di architettura (da piattaforme PowerPC ad Intel) è stato necessario un cambio nel firmware. L’ Extensible Firmware Interface (EFI) è una alternativa basata su base firmware per i PC BIOS di Intel. Sviluppato sempre dalla Intel, fu scelta da Apple per sostituire l’ Open Firmware utilizzato nelle architetture PowerPC. Poichè molti sistemi operativo come Windows XP e successive versioni di Vista sono incompatibili con l’EFI dei PowePc, Apple ha rilasciato un aggiornamento firmware che possa fornire una compatibilità con i set di istruzioni del BIOS Intel per permettere una compatibilità del Boot Camp (avvio ambiente Windows su piattaforme Apple Intel).
Alcuni dei metodi trovati su Web per sbloccare password EFI
Una sostituzione del chip che contiene l’EFI o un suo aggiornamento possono eludere questa password e ripristinare il Mac….ma attenzione: come già spiegato nella premessa iniziale ribadisco che in alcuni casi, come ad esempio per dispositivi di dubbia provenienza, questa procedura può essere considerata ILLEGALE.
E’ possibile attivare questo blocco in diversi modi: Apple fornisce maggiori informazioni sull’uso di una password del firmware su Mac: clicca qui per leggere l’informativa.
Ho avuto modo di farmi un giro sul web per capire come funziona il sistema di protezione e come alcuni saltano questo tipo di blocco presente a livello BIOS.
Nel momento in cui scrivo questo articolo esistono diversi modi per aggirare l’ostacolo; ma nessuno è semplice e sopratutto dobbiamo considerare che non esiste una modalità universale (mediante l’uso ad esempio di generatori di codice) perchè ci sono diversi tipi di blocco e la gestione di questi non è identica su tutti i Mac.: l’argomento è davvero complesso.
Ne elenco alcuni trovati su Web.
Aggiunta o rimozione quantità RAM
Uno dei metodi semplici per disattivare la password nell’ EFI, ma che purtroppo funziona solo su una generazione vecchia di Mac, sembra essere quella di modificare la quantità di RAM a disposizione della macchina. Sembra strano ma sembra funzionare…
E’ applicabile ovviamente solo sui sistemi che dispongono di moduli RAM estraibili, quindi quelli di ‘vecchia’ generazione, credo fino al 2011-2012.
Basta infatti modificare temporaneamente la quantità di RAM letta dal sistema all’avvio, aggiungendo o rimuovendo uno dei moduli RAM e successivamente effettuare tre reset PRAM / EFI di seguito per ‘fregare’ l’EFI e forzarne un reset profondo che eliminerà ogni traccia di richiesta password.
Purtroppo – ripeto – non funziona sempre e non su tutti i modelli di Mac, specie quelli recenti che dispongono di una eeprom aggiornata (chip Atmel).
Sblocco mediante SCBO file
Alcuni hanno studiato come generare un file di sblocco da dare in pasto al Mac, a partire da un codice generato (tramite combinazione di tasti) dalla macchina stessa; il file si chiama SCBO e su questo sito potrete trovare informazioni molto interessanti su un reverse engineering:
Apple EFI firmware passwords and the SCBO myth
E’ molto probabile che questo sia il sistema utilizzato dall’assistenza Apple per sbloccare le sue macchine, su richiesta.
Brute force per la richiesta codice a 4 cifre
Alcune risorse invece vendono questo servizio di sblocco o apparecchiature per generare codici di sblocco.
Si sono inventati di tutto: apparecchietti che emulano una tastiera e l’inserimento di tutta la sequenza di codici da 0000 a 9999; per questo brute force ci vorranno alcuni giorni… per i codici a 6 cifre immagino sia più complesso il discorso… però davvero lode all’ingegno!
Alcuni però sono andati oltre: addirittura vendono dispositivi che sbloccano l’EFI di alcuni tipi di MacBook Pro / Air vendendo a caro prezzo l’hardware e fornendo una licenza per un numero finito di applicazioni (di solito 2 sole programmazioni)… praticamente limitano l’uso del dispositivo costringendo ad acquistare da loro la chiave d’uso (altrimenti non funziona ovviamente).
Geniale.. anche se davvero poco corretto vendere licenze per ripulire apparati ‘bloccati’…
Saldatura chip EFI pronto all’uso
In vendita qualcuno propone chip pronti da saldare: pappa pronta, insomma. Non so che grado di garanzia ci sia e se possa funzionare al primo colpo, di solito le programmazioni Bios necessitano di più tentativi e rifiniture… anche solo per per identificare il firmware giusto..
Per chi sta in panne può acquistare cmq un qualcosa di già pronto o quasi: spesso infatti occorre comunque inviare il proprio Bios letto dal proprio chip e ciò vuol dire che dobbiamo agire dal punto di vista hardware, lavorando prima sull’eeprom attuale.
Modello su cui ho ripristinato il Bios EFI:
Apple MacBook Air 13 A1369 EMC 2469
Problema riscontrato:
Il MacBook Air 13 A1369 necessita di reset password EFI
Ci sono alcuni casi in cui il vostro MacBook Air da 13 pollici siglato A1369 EMC 2469 del 2011 potrebbe richiedere un ripristino dell’EFI o meglio una programmazione totale dell’eeprom o addirittura una sua sostituzione.
Il modello in questione è un Air middle 2011 con display da 13.3 pollici mosso da un processore Intel Dual Core I5, dispone di 4GB di RAM, una SSD da 128GB ed un chipset con reparto grafico Intel HD Graphics 3000.
Armiamoci di cacciaviti e… apriamo!
Sempre la solita premessa: aprire queste macchine è sempre a vostro rischio, il mio sincero consiglio è quello di affidarle a mani esperte, laboratori preparati, gente che mastica Mela tutti i giorni.
Dopotutto siamo a risolvere un problema… non a crearne altri…
Iniziamo a dissassemblare il MacBook Air A1369, posizioniamolo su una superficie morbida e pulita, onde evitare di graffiarne la preziosa e gradevole scocca.
Per la rimozione delle viti esterne è necessario possedere un apposito cacciavite Pentalobe di tipo torx progettato anche per altri dispositivi mobile (iPad, iPhone).
Rimuoviamo le viti esterne e stacchiamo la scocca di copertura che nasconde la scheda logica e tutto l’hardware dell’ Apple MacBook Air 13 A1369 EMC 2469.
La prima cosa da fare senza perdere tempo è staccare il connettore della batteria: è importantissimo farlo subito, prima di toccare accidentalmente qualche parte dell’hardware e creare drammatici e irrecuperabili corto circuiti!
Successivamente possiamo rimuovere il gruppo batteria: basta rimuovere la vite di fissaggio centrale e quelle presenti lungo il bordo.
Dopo la rimozione della batteria possiamo lavorare sulla scheda logica. Considerate che il chip EFI è posizionato sull’altra faccia della scheda quindi dobbiamo di fatto smontare l’intera scheda dalla scocca.
Possiamo osservare la scheda logica di dimensioni ridotte affiancata dagli speaker laterali. Si possono inoltre notare in alto la schedina AirPort e al centro una scheda che rappresenta il disco SSD. Più in basso notiamo l’elettronica del trackpad da cui in serie è collegato il flat della tastiera.
Procediamo a smontare le varie parti; particolare attenzione va al gruppo ventolina – dissipatore poichè queste sono fissate da varie viti di diversa misura e il flat della ventola è molto delicato quindi estrema attenzione nella sua rimozione! Inoltre c’è una parte in gomma che circonda il dissipatore che andrà fissata sotto la scheda logica quindi prima di rimuovere il tutto vediamo come sono incastrate le varie parti in modo da ricomporle perfettamente dopo il lavoro. Stacchiamo con delicatezza il fermo del connettore video e sganciamolo con altrettanta cura.
Tra i vari spinotti e flat da rimuovere c’è quello sotto, relativo all’illuminazione della tastiera.
Rimuoviamo lo speaker di sinistra staccandone anche il connettore…. attenzione che è fissato con del biadesivo abbastanza forte quindi è necessario usare uno strumento in plastica senza forzare ma smorzando il biadesivo facendo leva in più punti. Attenzione a non infilare nulla nella parte alta dello speaker poichè è proprio lì che c’è il cuore del componente: potremmo rovinarlo!!
Rimuovo l’hard disk SSD: basta svitare una piccola vite col solito torx.
Inizio poi a smontare il gruppo ventola dissipatore, tenendo traccia della posizione di ogni singola vitina.
Il grosso flat – che collega la scheda logica alla schedina laterale che contiene anche il connettore di alimentazione – va rimosso.
Tocca allo spinotto dello speaker di destra….
….e ovviamente rimuoviamo anche lo speaker.
Rimuovo la vite che fissa la schedina laterale.
Proseguo con il distacco del cavo di alimentazione della scheda logica.
Nella prossima foto si vede il connettore del flat della ventola: bisogna alzare il fermo e – una volta liberata la ventola – tirare delicatamente verso l’esterno il flat. In tutti i casi dobbiamo sempre usare esclusivamente attrezzi in plastica onde evitare di fare danni.
Rimuoviamo le viti che fissano il dissipatore: occhio alla gomma che lo sovrastra, è bloccata al di sotto della scheda logica.
Smontiamo il dissipatore rimuovendolo delicatamente..
…e passiamo poi alla rimozione della ventolina.
Libero poi tutti i vari flat e connettori tra cui quello della tastiera / tochpad.
Tocca ora al modulo AirPort: stacchiamo i due spinotti dell’antenna, poi rimuoviamo l’unica vite che fissa la schedina e stacchiamo il modulo.
Rimuoviamo tutte le viti che fissano la scheda logica alla scocca, ce ne sono diverse lungo i bordi e nella zona interna.
Infine, una volta liberata la scheda logica, possiamo rimuoverla dalla scocca.
La serigrafia sulla scheda logica riporta la sigla 820-3023-A: informazione fondamentale quando ricercheremo il giusto file Bios EFI da caricare nel chip CMOS.
Ecco il lato ‘B’ della scheda, dove sono saldati tutti i moduli RAM e sopratutto il componente su cui dovremo lavorare, indicato da un riquadro rosso:
L’eeprom della Macronix è siglata MX25L6406EZ ed è da 64 M-BIT. Il datasheet lo trovate QUI. Il formato di questo SMD è 8-WSON senza piedini che fuoriescono ed è saldato direttamente sulla piedinatura.
Il chip va rimosso, riprogrammato e risaldato: oppure possiamo scegliere di sostituirlo completamente con lo stesso modello (nel caso fosse difettoso) oppure potremmo osare una sostituzione con un formato differente tipo 8-SOP, certamente più diffuso, ma più alto poichè dispone di piedinatura.
Eventualmente se disponiamo solo di 8-SOP potremmo posizionarlo in modo differente utilizzando fili adatti per trasporto segnali: considerate che lo spazio in questo MacBook AIR è ridotto ai minimi termini una posizione alternativa potrebbe essere sull’altra facciata della scheda logica, nei pressi del modulo AirPort.
Nella foto che segue potete vedere un chip già dissaldato in precedenza da qualcun altro: il cliente in questo caso mi ha riferito di un intervento non riuscito di un precedente tecnico…
Lo scopo è dissaldare questo componente e riprogrammarlo con una versione di flash EFI aggiornato privo di password impostata all’avvio.
La prima cosa da fare, poichè userò temperature elevate per dissaldare il chip SMD, è proteggere la scheda logica e per farlo utilizzo speciale nastro alluminio. Fodero tutte le parti adiacenti con questo nastro che proteggerà i vari componenti dall’eccessivo calore.
Inizio quindi la fase di dissaldatura con lift del componente….
Eccolo che viene via…
Scelgo di riprogrammare la stessa CMOS serial Flash (tanto per chiamarla in maniera differente…. come da manuale) quindi non avendo un’interfaccia apposita preferisco saldare gli 8 fili ad una schedina inserita nel programmatore. Effettuo una lettura e backup del firmware attuale… poi successivamente programmo il componente.
Per prima cosa dobbiamo avviare il riconoscimento del giusto componente. Dopo la scelta della giusta versione di chip, per sicurezza effettuiamo procedura di lettura dell’attuale codice memorizzato nell’eeprom.
Il problema del numero seriale originale: bisogna editare il firmware per sovrascriverlo
Normalmente per evitare errori faccio almeno 3 diverse letture del firmware bios presente nell’eeprom: salvo i rispettivi file e poi procedo alla fase di preparazione del firmware finale da caricare: posso usarne uno già pronto ma otterrei poi come risultato un MacBook che nel pannello di configurazione mostrerà un seriale differente dall’originale.
Per risolvere il problema conviene quindi analizzare il file bios originale ed editare il firmware con un apposito programma editor esadecimale (oppure potremmo usare lo stesso software del programmatore…se evoluto) per sovrascrivere alcune stringhe che contengono informazioni utili come il seriale originale del MacBook Pro retina 13 che stiamo riparando.
Ecco un esempio di modifica di un seriale Apple in un bios EFI da me letto…
E nella prossima foto riscrivo con il seriale definitivo…
Infine procedo con la scrittura del nuovo file EFI: il processo di scrittura prevede prima la cancellazione dell’eeprom poi la sua riscrittura; l’ultima fase è quella di verifica.
Terminata la programmazione posso reinstallare il componente..
Risaldo il componente e ho finito. Se ci facciamo caso, osservando la successiva foto, possiamo vedere che ad ogni pin del chip corrisponde un pad sulla scheda: la prossima volta proverò a programmare il chip senza dissaldarlo dalla scheda… sfrutterò proprio questi pad!
Programmazione Bios tramite programmatore SPI o Raspberry Pi e interfaccia EasyFlash
L’approccio che ho illustrato fino ad ora ha previsto la rimozione (dissaldatura) del componente e una sua programmazione stand-alone. Esistono tuttavia delle interfacce che permettono di far dialogare direttamente il programmatore EEPROM con il chip tramite un piccolo connettore predisposto sulla scheda logica, quindi senza necessità di fare alcuna saldatura o rimozione invasiva.
Ho avuto modo di utilizzare queste interfacce (ce ne sono di diversi tipi) e devo dire che, se configurate ed alimentate esternamente mediante un alimentatore da banco (di solito con tensione 3.3 V) funzionano bene.
Ecco l’interfaccia che utilizzo sia sui MacBook Air che pro che montano questa porta.
Per programmare chip in formato SOC8 ‘classico’ (quelli montati dai MacBook fino al 2011 e in genere sui PC laptop non-Apple) possiamo utilizzare il programmatore SPI con molletta o una scheda Raspberry al posto del classico programmatore; per i chip WSON8, come quello del MacBook Air, che non hanno piedinatura esterna, applicare una molletta è impossibile.
Su queste schede logiche esistono, nei pressi del chip EFI, dei pad e punti su cui si possono saldare direttamente i fili per interfacciare il chip EEPROM: personalmente ho provato più di una volta questa strada e la sconsiglio: saldare tanti fili sulle piccolissime piste e pad presenti sulla scheda logica è pericoloso e delicato… senza contare che si crea un casino di fili come mostro nella seguente foto:
Su alcuni MacBook Air e MacBook Pro retina invece c’è un’interfaccia apposita che qualcuno vende e che fa da ponte tra il programmatore SPI e questi Mac, evitando di dissaldare o smontare nulla, eccone alcuni esempi di interfaccia:
Anche per questo tipo di interfacce, di solito fatte ‘in casa’, esistono alcune varianti dovute principalmente al più recente connettore implementato sui MacBook Air, marcato HIROSE (HRS) e siglato DF40C (riconoscibile da due piccoli rialzi all’interno del connettore femmina). Un esempio di connettore:
Ecco un esempio di programmazione da me effettuata su un MacBook pro con display retina 13:
Come software di programmazione di solito si usano quelli comuni per programmatori SPI oppure flashrom in ambiente Linux/Mac.
Occorrono anche programmi editor avanzati per file BIN come solo per citarne alcuni: HexEdit, Cygnus Hex Editor, UltraEdit, iHex, ecc. Talvolta i software dei programmatori hanno un editor incluso non molto evoluto ma praticissimo per le operazioni più comuni.
Come ho spiegato in questo articolo il firmware da programmare sull’EEPROM deve essere manipolato perchè potremmo trovarci con il MacBook che non si avvia oppure con un seriale errato.
Alcuni blog o forum forniscono informazioni e addirittura file di Bios già puliti da usare come base; ma sono file grezzi devono essere aggiornati e quasi sicuramente lavorati con le informazioni (seriale innanzitutto) della macchina su cui si sta lavorando.
Uno di questi siti è: GhostlyHaks.com. Ho fatto una stampa in PDF della pagina di interesse, è una stampa grezza e la trovate QUI.
Fasi finali
Durante il riassemblaggio della scheda logica approfitto per sostituire la pasta termica sulla CPU:applico della nuova pasta termica ad elevate prestazioni.
Un’altra controllatina generale poi faccio un primo test di accensione…
Risultato??
l’ Apple MacBook Air A1369 si avvia regolarmente!
Il MacBook si avvia senza alcuna richiesta password o PIN !!
Tuttavia una fase accurata di test è necessaria, il nuovo bios potrebbe non essere pienamente compatibili con la scheda logica…. anche se di norma queste anomalie o difformità vengono comunque fuori durante il primo boot che in caso di anomalie può presentare subito una schermata di errore che indica incompatibilità ad esempio con la CPU… o chipset.
In questo caso tutto ok…
Oltre a questa anomalia ho risolto molti problemi con Apple MacBook Air A1369 come problemi di backlight, corto circuito logic board, danni da liquido o sostituzione tastiera.
Alcune risorse consultate:
https://ghostlyhaks.com/blog/blog/hacking/18-apple-efi-bypass
http://applemacbiosefiscbobinaryfileunlock.blogspot.it/2015/08/macbook-efi-password-passcode-icloud.html
_____
Per qualsiasi problema con il vostro Apple MacBook Air A1369 contattatemi pure!
Fornisco assistenza in tutta Italia mediante corriere.
Contattatemi per maggiori info: assistenza@informaticanapoli.com | 393.593.35.22