La mayoría de los discos de datos ópticos utilizan el volumen del sistema de archivos ISO 9660 y la estructura de archivos del CD-ROM para el intercambio de información , la especificación de formato de disco universal o ambos (llamado puente UDF ).
Para saber cuál, puedes ejecutar
mount
en Linux después de montar el disco para identificar el archivo del dispositivo de la unidad de disco óptico.
Salida de ejemplo:
/dev/sr0 /media/dennis/CDROM iso9660 ro,nosuid,nodev,uid=1000,gid=1000,iocharset=utf8,mode=0400,dmode=0500,uhelper=udisks2 0 0
Aquí, el archivo del dispositivo es /dev/sr0
. El comando
disktype /dev/sr0
mostrará los sistemas de archivos disponibles. Si ambos están presentes, analizar el ISO 9660 debería ser más fácil.
ISO 9660
El estándar especifica el campo Fecha y hora de creación del volumen como una representación numérica del momento de la creación del volumen, escrito en el byte 814 a 830 del Descriptor de volumen primario en el siguiente formato:
YYYYMMDDHHMMSSCCO
donde CC son centisegundos y O es el desplazamiento de GMT en intervalos de 15 minutos, almacenados como un entero de 8 bits ( representación del complemento a dos ).
ISO 9660 no utiliza los primeros 32 KiB (32.768 bytes) del disco y el descriptor anterior sigue inmediatamente al bloque no utilizado, por lo que nos interesan los 33.582 bytes y los 16 que siguen.
Esta información puede ser analizada por cualquier herramienta que pueda volcar / leer los datos en bruto en el disco óptico. En Linux, puede usar dd para volcar la parte relevante de la imagen y hexdump para ver el último byte correctamente:
dd if=/dev/sr0 bs=1 skip=33581 count=17 | hexdump -C
Para mi Ubuntu 12.04 x64 LiveCD, esto da:
00000000 32 30 31 32 30 38 32 33 31 37 31 33 34 37 30 30 |2012082317134700|
00000010 00 |.|
así que la imagen fue creada el 23 de agosto de 2012 a las 17: 13: 47.00 GMT .
UDF
El estándar especifica el RecordingDateandTime archivado como una representación binaria del momento de la creación del volumen primario, escrito en el byte 376 a 387 del Descriptor de volumen primario en el siguiente formato:
TT tT YY YY MM DD HH MM SS CC BB AA
Aquí, cada par es un octeto (byte), es decir, XX
está compuesto de dos números hexadecimales.
TT tT
es un entero de 16 bits little endian que representa el tipo y la zona horaria de la marca de tiempo.
Los 12 bits menos significativos ( TTT
) contienen la zona horaria, codificada como el desplazamiento desde UTC en minutos como un entero con signo ( representación del complemento a dos ).
Los cuatro bits más significativos ( t
) contienen el tipo (siempre 1
, que significa hora local).
YY YY
es el año codificado como un entero de 16 bits little endian firmado ( representación del complemento a dos ).
MM
, DD
, HH
MM
, SS
, CC
, BB
Y AA
son enteros sin signo de 8 bits que representan el mes, día, hora minuto, segundo, centisegundo, cientos de microsegundos y de la creación de microsegundos.
Una vez más, los primeros 32 KiB del disco no son utilizados por UDF. Además, los siguientes 32 bytes KiB están reservados para un sistema de archivos ISO 9660 heredado (que puede ocupar más espacio si está presente).
En un disco UDF "puro", el comando
dd if=/dev/sr0 bs=1 skip=65912 count=12 | hexdump -C
mostrará la marca de tiempo codificada.
Para fines de prueba, he creado una imagen UDF con K3b. El resultado del dd
comando fue el siguiente
00000000 4c 1f dd 07 03 01 0f 0b 11 00 00 00 |L...........|
0000000c
Análisis:
0xF4C (hexadecimal) es mayor que 0x800 y, por lo tanto, negativo. Descansando 0x1000 desde 0xF4C da -180 en decimal. Esto significa que la zona horaria es UTC - 3.
0x07DD es 2013 en decimal (el año de creación).
Los octetos restantes se pueden interpretar literalmente en su representación hexadecimal (0x0F, 0x0B y 0x11 son 15, 11 y 17 en decimal).
Esto significa que la imagen se creó el 1 de marzo de 2013 a las 15: 11: 17.000000 UTC + 3 .
Advertencias
Es sencillo alterar esta fecha. Todo lo que se requiere es cambiar la fecha de la computadora antes de crear la imagen.
Si la imagen se crea antes de grabarse en el disco, se grabará la primera vez. Por lo tanto, el campo es solo evidencia potencial para discos creados por el propio propietario.