Protezione da scrittura a livello hardware per un CD-R

4

Diciamo che masterizzi un CD-R ed è finalizzato. Più tardi, se lo metti in un lettore CD con qualche sistema operativo in esecuzione, è possibile che il sistema operativo lo scriva?

Ovviamente, questo in genere non dovrebbe accadere, a causa di alcune convenzioni che sono in genere seguite. Ma queste convenzioni possono essere disobbedite da alcuni software, forse dannosi? Oppure la regola di sola lettura viene applicata a livello hardware (dall'unità CD)?

Nota: con "write to it", intendo cambiare qualsiasi bit che è già stato scritto o aggiungere un nuovo bit. Inoltre, il sistema operativo include anche il BIOS.

    
posta onelineproof 12.06.2013 - 12:04
fonte

2 risposte

10

Un masterizzatore CD funziona sparando raggi precisi di radiazioni laser IR o UV in un punto mirato sulla superficie del disco, dove interagisce con un colorante chimico. Questo colorante cambia la riflettività ottica quando esposto a tali radiazioni, da qui il termine "combustione". Durante la lettura, un raggio di intensità inferiore (di solito a una diversa lunghezza d'onda elettromagnetica) esegue la scansione sul disco e interpreta i livelli di riflettività come un segnale. Se interpretato in modo appropriato, produce un flusso di 0 e 1.

Esistono due modi principali per codificare tali dati. Il primo è semplicemente assegnare direttamente "riflessivo" e "non riflettente" come 0 o 1. Uno svantaggio di questo è che è soggetto a errori. Un granello di polvere o un piccolo graffio potrebbe corrompere i dati, pertanto è necessario includere blocchi di dati dettagliati di rilevamento e correzione degli errori (ad esempio parità). Un metodo alternativo consiste nell'utilizzare la codifica transitoria , che converte la transizione del riflettente in non riflettente e viceversa come 0 e 1 bit. Questo aiuta a migliorare il rilevamento e la correzione degli errori perché le lunghe sequenze di risposte riflessive o non riflettenti vengono semplicemente ignorate. La parità è ancora richiesta, ma in misura minore.

Se si utilizza il metodo precedente, può essere possibile incidere più bit non riflettenti (se sono determinati come 0 o 1, non sono sicuro). Tuttavia, a mio avviso, questa semplice versione di codifica non è comunemente usata.

Se si usa il secondo metodo, le cose si complicano. Causando un bit riflettente per diventare non-riflettente, si interromperà la transizione (ad esempio, si avrà un non-riflettente seguito da non-riflettente) e semplicemente si distruggerà il bit. La parità correggerebbe quindi l'errore, supponendo che ci siano abbastanza dati rimanenti. Poiché il controller di lettura è consapevole della sua posizione sul cilindro, provare a danneggiare un singolo paio di bit nella speranza di compensare i dati in un modo che consentisse di controllare non funzionerebbe, in quanto riconoscerebbe che il bit-bit la coppia è stata distrutta e passa alla successiva coppia di bit, invece di spostare il flusso di un bit.

L'unico trucco che ho visto essere fattibile è quello di distruggere i dati fino al punto in cui la correzione della parità produce dati errati, ma questo non ti permetterebbe di alterare arbitrariamente i dati - i risultati sarebbero vincolati a un insieme rigoroso di risultati, basati sul calcolo della parità. In quanto tale, è relativamente poco fattibile modificare i dati sul disco in modo significativo.

    
risposta data 12.06.2013 - 13:30
fonte
5

Se ricordo correttamente, questo è forzato fisicamente poiché il colorante usato sul CD è diverso tra un CD-R e un CD-RW. Il CD-R ha solo una mano di lega semi-metallo, in cui un CD-RW ha più di una. Quindi fisicamente è impossibile sovrascrivere un CD-R (cambiando un po ') potresti essere in grado di aggiungere bit (bruciando buchi extra) ma non ne sono sicuro.

    
risposta data 12.06.2013 - 12:16
fonte

Leggi altre domande sui tag