La maggior parte dei dischi di dati ottici utilizza il volume del file system ISO 9660 standard e la struttura dei file del CD-ROM per lo scambio di informazioni , la specifica del formato disco universale o entrambi (chiamati bridge UDF ).
Per scoprire quale, è possibile eseguire
mount
su Linux dopo che il disco è stato montato per identificare il file del dispositivo dell'unità disco ottico.
Esempio di output:
/dev/sr0 /media/dennis/CDROM iso9660 ro,nosuid,nodev,uid=1000,gid=1000,iocharset=utf8,mode=0400,dmode=0500,uhelper=udisks2 0 0
Qui, il file del dispositivo è /dev/sr0
. Il comando
disktype /dev/sr0
visualizzerà i file system disponibili. Se sono presenti entrambi, l'analisi dell'ISO 9660 dovrebbe essere più semplice.
ISO 9660
Lo standard specifica il campo Data e ora di creazione del volume come rappresentazione numerica del momento della creazione del volume, scritto nell'814 ° - 830 ° byte del descrittore del volume primario nel seguente formato:
YYYYMMDDHHMMSSCCO
dove CC sono centisecondi e O è l'offset da GMT a intervalli di 15 minuti, memorizzato come numero intero a 8 bit ( rappresentazione del complemento a due ).
I primi 32 KiB (32.768 byte) del disco non sono utilizzati da ISO 9660 e il descrittore sopra segue immediatamente il blocco inutilizzato, quindi siamo interessati 33.582 ° byte e i 16 che seguono.
Queste informazioni possono essere analizzate da qualsiasi strumento in grado di scaricare / leggere i dati grezzi sul disco ottico. Su Linux, puoi usare dd per scaricare la parte rilevante dell'immagine ed hexdump per visualizzare correttamente l'ultimo byte:
dd if=/dev/sr0 bs=1 skip=33581 count=17 | hexdump -C
Per il mio LiveCD Ubuntu 12.04 x64, questo dà:
00000000 32 30 31 32 30 38 32 33 31 37 31 33 34 37 30 30 |2012082317134700|
00000010 00 |.|
così l'immagine è stata creata il 23 agosto 2012, alle 17: 13: 47.00 GMT .
UDF
Lo standard specifica RecordingDateandTime archiviato come rappresentazione binaria del momento della creazione del volume primario, scritto nel 376 ° -387 ° byte del descrittore del volume primario nel seguente formato:
TT tT YY YY MM DD HH MM SS CC BB AA
Qui, ogni coppia è un ottetto (byte), cioè XX
è composto da due numeri esadecimali.
TT tT
è un numero intero a 16 bit little endian che rappresenta il tipo e il fuso orario del timestamp.
I 12 bit meno significativi ( TTT
) contengono il fuso orario, codificato come offset da UTC in minuti come numero intero con segno ( rappresentazione del complemento a due ).
I quattro bit più significativi ( t
) mantengono il tipo (sempre 1
, che significa ora locale).
YY YY
è l'anno codificato come intero a 16 bit little endian con segno ( rappresentazione del complemento a due ).
MM
, DD
, HH
MM
, SS
, CC
, BB
E AA
sono interi a 8 bit senza segno che rappresenta il mese, giorno, ora minuti, secondi, centesimi di secondo centinaia di microsecondi e microsecondo della creazione.
Ancora una volta, i primi 32 KiB del disco non sono utilizzati da UDF. Inoltre, i seguenti 32 byte di KiB sono riservati per un file system ISO 9660 legacy (che può occupare più spazio se presente).
Su un disco UDF "puro", il comando
dd if=/dev/sr0 bs=1 skip=65912 count=12 | hexdump -C
visualizzerà il timestamp codificato.
A scopo di test, ho creato un'immagine UDF con K3b. L'output del dd
comando era il seguente
00000000 4c 1f dd 07 03 01 0f 0b 11 00 00 00 |L...........|
0000000c
Analisi:
0xF4C (esadecimale) è maggiore di 0x800 e - quindi - negativo. Il riposo 0x1000 da 0xF4C fornisce -180 in decimale. Ciò significa che il fuso orario è UTC - 3.
0x07DD è il 2013 in decimale (l'anno di creazione).
Gli ottetti rimanenti possono essere interpretati letteralmente nella loro rappresentazione esadecimale (0x0F, 0x0B e 0x11 sono 15, 11 e 17 in decimale).
Ciò significa che l'immagine è stata creata il 1 marzo 2013, alle 15: 11: 17.000000 UTC + 3 .
Avvertenze
È semplice manomettere questa data. Tutto ciò che serve è cambiare la data del computer prima di creare l'immagine.
Se l'immagine viene creata prima di essere effettivamente masterizzata sul disco, la prima volta verrà registrata. Pertanto, il campo è solo una potenziale prova per i dischi creati dal proprietario stesso.