Lavoravo in un negozio di sblocco del telefono nel Regno Unito, quindi la mia conoscenza non copre nulla negli ultimi 5 anni o giù di lì, e potrebbe essere un po 'UK / euro-centrico, ma cercherò di rispondere .
Esistono due tipi principali di "sblocco". Uno è chiamato "carrier unlock", che consente di utilizzare il telefono su qualsiasi vettore. Un blocco del vettore è comunemente utilizzato sui telefoni del contratto, al fine di garantire che si continui a utilizzare il dispositivo con tale gestore se il contratto termina. L'altro tipo è chiamato "unbarring", che modifica l'IMEI del telefono in modo che non corrisponda più a uno sulla lista bloccata. Nel Regno Unito questo è illegale, perché i telefoni barrati sono quelli che sono stati segnalati come rubati.
L'IMEI non è un hash. È un identificatore (solitamente) univoco per dispositivi mobili dotati di GSM. Quando un telefono viene inserito nell'elenco escluso, i gestori ottengono tutti una copia di questo elenco e le loro torri inviano semplicemente un rifiuto "escluso" se un IMEI escluso tenta di registrarsi sul sistema. Il supporto dell'hardware per la programmazione dell'IMEI è variabile, sebbene molte implementazioni in banda base oggigiorno abbiano un blocco di scrittura che non può essere annullato una volta impostato (almeno senza gravi trucchi). Il solito modo in cui le persone aggirano gli IMEIs è quello di prendere una scheda di donatore non barrata da un altro dispositivo con gravi danni fisici (ad esempio schermo e custodia fracassati) ma con una scheda madre che funzioni in altro modo. Si tratta di un'area grigia legale, perché può essere interpretata come un trapianto di parti periferiche funzionanti da un telefono barrato su un telefono non barrato che è stato danneggiato. Alcuni vecchi telefoni possono avere il loro IMEI cambiato tramite programmazione, ma questo è completamente fuori luogo. Potrebbero esserci modi per farlo sui dispositivi moderni, ma non l'ho mai visto in azione.
Se stai parlando di uno sblocco dell'elemento portante, la risposta è (a volte, vedi commenti) semplice come un flash del firmware. Con alcuni telefoni è possibile farlo semplicemente inserendolo in una modalità di debug (ad esempio, la modalità ADB su Android, la modalità DFU su iOS) e l'utilizzo di software liberamente disponibile per il flashing di un firmware sbloccato con supporto di serie sul dispositivo. È un lavoro di cinque minuti. Su altri dispositivi, in particolare pre-smartphone in cui non utilizzi Android, iOS, ma piuttosto un sistema operativo personalizzato per quel particolare telefono o produttore, non è disponibile il supporto flash USB. In questi casi le persone dovevano entrare in possesso di diagrammi schematici trapelati e costruire dispositivi che potessero collegarsi ai punti di test sulla lavagna e far lampeggiare il firmware. Quando lavoravo alla riparazione del telefono, avevamo almeno quattro cavi e dispositivi diversi per questo scopo, ognuno dei quali aveva una gamma di dispositivi su cui poteva lavorare. Usavano anche software speciali e il processo poteva essere abbastanza complicato, di solito richiedendo almeno due o tre fasi di lampeggio, ma a volte di più; un esempio estremo è uno dei telefoni LG che ha richiesto di eseguire il flash di un vecchio firmware di base, quindi eseguire l'aggiornamento tramite ciascuno dei dieci aggiornamenti uno alla volta.
Il modo più legittimo di eseguire lo sblocco di un operatore è tramite un codice NCK. L'algoritmo del codice NCK è interamente proprietario e, laddove implementato, varia interamente sul dispositivo e sul gestore. Di solito l'algoritmo di convalida NCK è implementato nel firmware del telefono, ma questo non significa necessariamente che conoscere l'algoritmo di validazione ti fa bene. Da quanto ho letto, i moderni dispositivi iOS implementano l'NCK usando qualcosa di analogo alla crittografia a chiave pubblica, con i dati di sblocco del carrier inviati via SMS.
Nei tempi antichi (stiamo parlando dell'era del Nokia 3210) l'algoritmo NCK era noto e chiunque poteva sbloccarli, e in alcuni casi c'erano anche sequenze di tasti (come *#06#
) che potevano essere usate per fare un corriere sbloccare. Infatti, tornando alla metà degli anni '90, c'erano persino dei codici che bloccavano il "SIM clock" (non so se fosse il termine legale) per rendere le chiamate completamente gratuite, a parte il costo della connessione. Questa era, ovviamente, una frode, ma questo non ha impedito a molte persone di farlo.