Modifica del numero di serie


19

Sul forum ufficiale di raspberrypi.org , "Dom" - un moderatore ha scritto:

Ho confuso la mia scheda per avere il tuo numero di serie

Come posso modificare il numero seriale di un Raspberry Pi?


5
1. Perché? Perchè no? L'apprendimento delle cose non è il punto centrale del PI?
Un altro Simon

4
2. Ri rubare - il mio tempo vale più delle 2 sterline che vorrei risparmiare, ma sono sicuro che intendevi il generico "Tu"
Un altro Simon

3
3. Dom non è magico, ma è molto ben informato. Ha usato una versione Pi del vecchio floppy di avvio HP setsys o ha scritto dati su uno dei pin GPIO o qualcos'altro? Questa è la mia domanda
Un altro Simon

3
Ho aggiornato la mia risposta e ho aggiunto delle scuse. Non siamo qui per discutere della moralità delle cose. Siamo qui per porre domande e ottenere risposte. Inoltre, è un'ottima domanda.
Vincent P

2
Perché non compilare un kernel personalizzato che restituisce qualunque seriale ti piaccia /proc/cpuinfo? Non sono sicuro se ciò potrebbe aiutare con le chiazze del decodificatore ..
oberstet

Risposte:


9

Sto copiando questo da questo thread del forum .

Dom ha accesso a tutto il codice sorgente, al debugger Videocore ea molti strumenti specifici per VC chiusi. Il rilascio di qualsiasi informazione che consenta di modificare il numero di serie romperebbe il meccanismo di licenza del codec, quindi non accadrà mai.

Inoltre, come pubblicato nella discussione. L'unico motivo per cambiare il seriale sarebbe copiare e usare la licenza MP4 di qualcun altro. Poiché questa è la sicurezza attorno alle licenze. Il tuo seriale univoco è collegato alla licenza MP4, quindi anche se qualcuno ha la tua chiave di licenza, non sarà in grado di farci nulla (a meno che non possano cambiare il numero di serie del Raspberry Pi.

AGGIORNAMENTO: per rispondere alla domanda effettiva. Direi che Dom ha la fonte per l'attuale firmware di basso livello. Immagino che stia davvero cambiando il codice sorgente che legge il seriale e lo costringe a restituire un valore diverso. Sinceramente dubito che sia stato effettivamente modificato (sulla CPU intendo), più come se avesse cambiato parte del codice del firmware per restituire un seriale diverso. Ci scusiamo anche con il richiedente, ti abbiamo appena dato un "Perché? Non è carino. Il tuo furto" invece di rispondere alla domanda. Colpa mia.


2
Grazie per le tue scuse e il tuo tentativo di rispondere alla domanda. "Immagino che sia ..." le risposte di tipo sono ottime ai fini della discussione, ma si spera che la risposta accettata sia sotto forma di "Viene eseguita tramite l'utilità xyz che è disponibile solo per i dipendenti Broadcom ..." ecc.
Un altro Simon

2
Sono un po 'sorpreso dal fatto che il presupposto che il numero di serie venga modificato solo per scopi malvagi sia così prevalente su un dispositivo Linux. Vorrei passare a "perché dovrei consentire a una terza parte di identificare il mio sistema in modo univoco"? Lo vedo come, tra le altre cose, un problema di privacy. Perché? Sono affari miei.
bobstro,

6

Per quanto riguarda i programmi userspace, è abbastanza facile ingannarli e falsificare il contenuto di quasi tutti i file. Ad esempio, supponiamo che un programma C stia usando il /proc/cpuinfofile per verificare il numero seriale. Il programma è protetto da copia e collegato al seriale e non ho il codice sorgente. Tuttavia, posso ancora correre strace program 2>&1 | grep cpuinfo, che rivelerà qualcosa di simile:

open("/proc/cpuinfo", O_RDONLY) = 3

A questo punto, posso creare una piccola libreria, cpuinfo.socon la seguente funzione:

int open(const char *file, int flags) {
    static int (*real_open)(const char *file, int flags);
    if(!real_open) real_open = dlsym(RTLD_NEXT, "open");
    if(!strcmp(file, "/proc/cpuinfo")) file = "/tmp/cpuinfo";
    return real_open(file, flags);
}

Come puoi vedere, sto verificando se l'utente della libreria tenta di aprire /proc/cpuinfo, nel qual caso /tmp/cpuinfoinvece apro .

Quindi eseguirò il programma originale protetto da copia LD_PRELOAD=/path/to/cpuinfo.so programe leggerà felicemente il mio file falso pensando che sia /proc/cpuinfo, mentre funziona correttamente con il resto dei file.

Si noti che se il software protetto da copia include oggetti kernel, sarà molto più difficile da ingannare, poiché potrebbe accedere direttamente all'hardware. Tuttavia, tale software funzionerà anche solo con il kernel per cui è stato creato, il che rende abbastanza poco pratico la distribuzione.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.