Nwlapcug.com


Come proteggere i codici PIC12F675 da Hacking

Il PIC12F675 è un microcontrollore a 8 bit che può essere usato per programmare dispositivi embedded, come base cellulari, elettrodomestici e robot incaricato di semplici lavori. Il microcontrollore memorizza i dati di programma in una banca di EEPROM, che è sia leggibile e scrivibile. Se non si desidera chiunque di hackerare il vostro dispositivo e Scopri il tuo programma, è possibile attivare la funzionalità built-in "codice-protect". Questo permette alla CPU di leggere la EEPROM, ma qualsiasi risultati di lettura non autorizzata in tutti gli zeri. Non si può incidere il vostro dispositivo, quindi è possibile proteggere la proprietà intellettuale.

Istruzioni

1

Aprire l'IDE per il dispositivo. Il PIC12F675 può essere programmato in linguaggio assembly sia C. In genere, i file di linguaggio assembly impostare l'ambiente di hardware per i programmi C, che semplifica molte attività di programmazione.

2

Creare un puntatore al registro 3. Il PIC12F675, questo registro si trova in posizione di indirizzo 0x2006, che significa che è il valore esadecimale 2006. È possibile creare un puntatore a tale registro, scrivendo la seguente istruzione all'inizio del file di codice sorgente C:

volatile unsigned int reg3 = ((volatile unsigned int *) 0x2006;

3

Bit 7 del registro 3 impostato su 0. In questo modo la funzionalità di "protezione-codice", che impedisce l'accesso ai dati di altre persone. È possibile utilizzare l'operazione di spostamento di bit C per impostare questo bit. Scrivere l'istruzione seguente per impostare questo bit:

reg3 & = ~ (1 << 7);

4

Compilare e caricare il programma nel PIC12F675. La procedura esatta per questo dipende l'hardware che si utilizza per flash EEPROM e la catena di strumento che si utilizza per cross-compilare programmi. Cross-compilazione è una procedura che consente di compilare codice utilizzando un PC, ma che genera codice macchina che è leggibile dal PIC12F675. Dopo aver compilato e caricato il programma sul PIC12F675, sarà protetto dalla funzionalità "codice-protect".