Bir diskin yüksek bir kesinlikle yazıldığı / yazıldığı tarihi ve saati belirlemenin bir yolu / aracı var mı? Bu veri adli tıpla ilgilidir ve sağlam bir kanıt olmalıdır. IsoBuster'ı zaten denedim, ancak parçanın yazıldığı tarihi / saati göstermedi.
Bir diskin yüksek bir kesinlikle yazıldığı / yazıldığı tarihi ve saati belirlemenin bir yolu / aracı var mı? Bu veri adli tıpla ilgilidir ve sağlam bir kanıt olmalıdır. IsoBuster'ı zaten denedim, ancak parçanın yazıldığı tarihi / saati göstermedi.
Yanıtlar:
Çoğu optik veri diski , bilgi değişimi , Evrensel Disk Biçimi Belirtimi veya her ikisi ( UDF köprüsü olarak adlandırılır ) için CD-ROM'un ISO 9660 dosya sistemi standardı Birim ve dosya yapısını kullanır .
Hangisini bulmak için,
mount
disk takıldıktan sonra Linux'ta optik disk sürücünün aygıt dosyasını tanımlamak için.
Örnek çıktı:
/dev/sr0 /media/dennis/CDROM iso9660 ro,nosuid,nodev,uid=1000,gid=1000,iocharset=utf8,mode=0400,dmode=0500,uhelper=udisks2 0 0
Burada cihaz dosyası /dev/sr0
. Komuta
disktype /dev/sr0
kullanılabilir dosya sistemlerini görüntüler. Her ikisi de mevcutsa, ISO 9660'ı analiz etmek daha kolay olmalıdır.
Standart, Birim Oluşturma Tarihi ve Saati alanını , Birimin Birim Oluşturma anının sayısal bir temsili olarak, Birincil Birim Tanımlayıcı'nın 814. ila 830. baytına aşağıdaki biçimde yazıldığını belirtir :
YYYYMMDDHHMMSSCCO
burada CC santisaniyedir ve O , 8 bitlik bir tamsayı ( ikinin tamamlayıcı gösterimi ) olarak saklanan 15 dakikalık aralıklarla GMT'den ofsettir .
Diskin ilk 32 KiB'si (32.768 bayt) ISO 9660 tarafından kullanılmaz ve yukarıdaki tanımlayıcı hemen kullanılmayan bloğu takip eder, bu nedenle 33.582. bayt ve sonraki 16'sı ilgilendirir.
Bu bilgiler, optik diskteki ham verileri dökebilen / okuyabilen herhangi bir araçla analiz edilebilir. Linux'ta kullanabileceğiniz dd düzgün son byte görüntülemek için görüntü ve HexDump ilgili parçasını dökümü:
dd if=/dev/sr0 bs=1 skip=33581 count=17 | hexdump -C
Ubuntu 12.04 x64 LiveCD'm için:
00000000 32 30 31 32 30 38 32 33 31 37 31 33 34 37 30 30 |2012082317134700|
00000010 00 |.|
böylece görüntü 23 Ağustos 2012 saat 17: 13: 47.00 GMT'de oluşturuldu .
Standart belirtir dosyalanmış RecordingDateandTime ait 387 byte için 376 yazılır birincil birimin yaratılış anında, bir ikili temsili olarak Birincil Cilt Tanımlayıcısı'ndaki aşağıdaki biçimde:
TT tT YY YY MM DD HH MM SS CC BB AA
Burada, her bir çift bir sekizli (bayt), yani XX
iki onaltılık sayıdan oluşur.
TT tT
zaman damgasının türünü ve saat dilimini temsil eden küçük bir endian 16 bitlik tam sayıdır.
En az anlamlı 12 bit ( TTT
), işaretli bir tam sayı ( ikinin tamamlayıcı gösterimi ) olarak UTC cinsinden dakika olarak ofset olarak kodlanan zaman dilimini tutar .
En önemli dört bit ( t
) türü tutar (her zaman 1
yerel saat anlamına gelir).
YY YY
işaretli bir küçük endian 16 bit tam sayı ( ikinin tamamlayıcı gösterimi ) olarak kodlanan yıl .
MM
, DD
, HH
MM
, SS
, CC
, BB
Ve AA
temsil işaretsiz 8 bit tam sayılardır ay, gün, saat dakika, saniye, centisecond, mikrosaniye ve yaratılış mikrosaniye yüzlerce.
Yine, diskin ilk 32 KiB'si UDF tarafından kullanılmaz. Ayrıca, aşağıdaki 32 KiB bayt, eski bir ISO 9660 dosya sistemi için ayrılmıştır (varsa daha fazla yer kaplayabilir).
"Saf" bir UDF diskte, komut
dd if=/dev/sr0 bs=1 skip=65912 count=12 | hexdump -C
kodlanmış zaman damgasını görüntüler.
Test amacıyla, K3b ile bir UDF görüntüsü oluşturdum. dd
Komutun çıktısı şuydu:
00000000 4c 1f dd 07 03 01 0f 0b 11 00 00 00 |L...........|
0000000c
Analiz:
0xF4C (onaltılık) 0x800'den büyük ve bu nedenle - negatif. 0x1000 0xF4C'den istirahat edildiğinde ondalık sayı -180 olur. Bu, saat diliminin UTC - 3 olduğu anlamına gelir.
0x07DD, ondalık olarak 2013 (oluşturma yılı).
Geri kalan sekizliler, onaltılık gösterimlerinde tam anlamıyla yorumlanabilir (0x0F, 0x0B ve 0x11, ondalık olarak 15, 11 ve 17'dir).
Bu, resmin 1 Mart 2013'te 15: 11: 17.000000 UTC + 3'te oluşturulduğu anlamına gelir .
Bu tarihle uğraşmak kolaydır. Gereken tek şey görüntüyü oluşturmadan önce bilgisayarın tarihini değiştirmek.
Görüntü gerçekte diske yazılmadan önce oluşturulursa, önceki zaman kaydedilir. Bu nedenle, alan yalnızca sahibinin kendisi tarafından oluşturulan diskler için potansiyel bir kanıttır.
dd if=/dev/disk4 | tail -c +33144 | head -c 17 | hexdump -C
. Ama sadece sıfır alırım. Hesaplamam 32.768 + 376 doğru mu veya kullanılmayan UDF bloğu farklı boyutta mı? Google'ı aradım, ancak bir şey bulamadım.
--- /dev/disk4 Block device, size 4.383 GiB (4706074624 bytes) disktype: Data read failed at position 4706070528: Input/output error UDF file system Sector size 2048 bytes Volume name "Alenander" UDF version 1.02 disktype: Data read failed at position 4706009088: Input/output error
Evet, var: date
ve time
aradığınız özellikler. Sadece klasörün görünümünü değiştirin ve dosyanın özelliklerini kontrol edin.
Bir dakika önce W7 ve Mac OS X'te bir disk kontrol edildi. Aşağıdaki ekran görüntülerine bakın ..