14 votes

Comment savoir quand un disque (DVD) a été écrit/gravé ?

Existe-t-il un moyen/outil permettant de déterminer la date et l'heure auxquelles un disque a été gravé/brûlé avec une grande certitude ? Il s'agit de la médecine légale des données et cela devrait être une preuve solide. J'ai déjà essayé IsoBuster, mais il ne m'a pas montré la date/heure à laquelle la piste a été écrite.

19voto

Dennis Points 46916

La plupart des disques de données optiques utilisent le ISO 9660 système de fichiers standard Structure des volumes et des fichiers des CD-ROM pour l'échange d'informations le Spécification du format de disque universel ou les deux (appelé Pont UDF ).

Pour savoir lequel, vous pouvez exécuter

mount

sous Linux après que le disque ait été monté afin d'identifier le fichier de périphérique du lecteur de disque optique.

Exemple de sortie :

/dev/sr0 /media/dennis/CDROM iso9660 ro,nosuid,nodev,uid=1000,gid=1000,iocharset=utf8,mode=0400,dmode=0500,uhelper=udisks2 0 0

Ici, le fichier du dispositif est /dev/sr0 . La commande

disktype /dev/sr0

affichera les systèmes de fichiers disponibles. Si les deux sont présents, l'analyse du système ISO 9660 devrait être plus facile.

ISO 9660

La norme spécifie le champ Date et heure de création du volume comme une représentation numérique du moment de la création du volume, inscrite dans les 814e à 830e octets de l'adresse de l'utilisateur. Descripteur de volume primaire dans le format suivant :

YYYYMMDDHHMMSSCCO

CC sont des centisecondes et O est le décalage par rapport à GMT par intervalles de 15 minutes, stocké sous forme d'un nombre entier de 8 bits ( représentation en complément à deux ).

Les 32 premiers KiB (32 768 octets) du disque ne sont pas utilisés par l'ISO 9660 et le descripteur ci-dessus suit immédiatement le bloc inutilisé, nous sommes donc intéressés par le 33 582ème octet et les 16 qui suivent.

Ces informations peuvent être analysées par tout outil capable de vider/lire les données brutes sur le disque optique. Sous Linux, vous pouvez utiliser dd pour vider la partie pertinente de l'image et hexdump pour visualiser correctement le dernier octet :

dd if=/dev/sr0 bs=1 skip=33581 count=17 | hexdump -C

Pour mon LiveCD Ubuntu 12.04 x64, cela donne :

00000000  32 30 31 32 30 38 32 33  31 37 31 33 34 37 30 30  |2012082317134700|
00000010  00                                                |.|

L'image a donc été créée le 23 août 2012, à 17:13:47.00 GMT .

UDF

La norme spécifie le dépôt Date et heure d'enregistrement comme une représentation binaire du moment de la création du volume primaire, inscrite dans le 376e à 387e octet de l'en-tête de l'ordinateur. Descripteur de volume primaire dans le format suivant :

TT tT YY YY MM DD HH MM SS CC BB AA

Ici, chaque paire est un octet (byte), c'est-à-dire.., XX est composé de deux nombres hexadécimaux.

  • TT tT est un little-endian Nombre entier de 16 bits représentant le type et le fuseau horaire de l'horodatage.

    Les 12 bits les moins significatifs ( TTT ) contiennent le fuseau horaire, encodé comme le décalage par rapport à UTC en minutes sous la forme d'un nombre entier signé ( représentation en complément à deux ).

    Les quatre bits les plus significatifs ( t ) tiennent le type (toujours 1 c'est-à-dire l'heure locale).

  • YY YY est l'année encodée sous la forme d'un code signé little-endian Entier de 16 bits ( représentation en complément à deux ).

  • MM , DD , HH MM , SS , CC , BB y AA sont des entiers non signés de 8 bits représentant le mois, le jour, l'heure, la minute, la seconde, la centième seconde, les centaines de microsecondes et la microseconde de la création.

Encore une fois, les 32 premiers KiB du disque ne sont pas utilisés par UDF. De plus, les 32 KiB suivants sont réservés à un système de fichiers ISO 9660 (qui peut occuper plus d'espace s'il est présent).

Sur un disque UDF "pur", la commande

dd if=/dev/sr0 bs=1 skip=65912 count=12 | hexdump -C

affichera l'horodatage codé.

A des fins de test, j'ai créé une image UDF avec K3b. La sortie de l'image dd était la suivante

00000000  4c 1f dd 07 03 01 0f 0b  11 00 00 00              |L...........|
0000000c

Analyse :

  • 0xF4C (hexadécimal) est plus grand que 0x800 et - donc - négatif. En retirant 0x1000 de 0xF4C, on obtient -180 en décimal. Cela signifie que le fuseau horaire est UTC - 3.

  • 0x07DD est 2013 en décimal (l'année de la création).

  • Les autres octets peuvent être interprétés littéralement dans leur représentation hexadécimale (0x0F, 0x0B et 0x11 correspondent à 15, 11 et 17 en décimal).

    Cela signifie que l'image a été créée le 1er mars 2013, à 15:11:17.000000 UTC - 3 .

Avertissements

  • Il est facile d'altérer cette date. Il suffit de modifier la date de l'ordinateur avant de créer l'image.

  • Si l'image est créée avant d'être effectivement gravée sur le disque, le temps antérieur sera enregistré. Ainsi, le champ n'est qu'une preuve potentielle pour les disques qui ont été créés par le propriétaire lui-même.

-1voto

Volodymyr Molodets Points 1548

Si, il y en a un : date y time Les attributs sont ce que vous recherchez. Il suffit de changer la vue du dossier et de vérifier les propriétés du fichier.

J'ai vérifié il y a une minute un disque sur W7 et Mac OS X. Voir les captures d'écran ci-dessous..

enter image description hereenter image description here

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X