अधिकांश ऑप्टिकल डेटा डिस्क्स आईएसओ 9660 फ़ाइल सिस्टम मानक वॉल्यूम और सूचना इंटरचेंज के लिए सीडी-रोम की फ़ाइल संरचना , यूनिवर्सल डिस्क प्रारूप विशिष्टता या दोनों (जिसे यूडीएफ पुल कहा जाता है ) का उपयोग करते हैं।
यह पता लगाने के लिए कि आप किस पर अमल कर सकते हैं
mount
डिस्क पर ऑप्टिकल डिस्क ड्राइव की डिवाइस फ़ाइल की पहचान करने के लिए डिस्क को माउंट करने के बाद।
उदाहरण आउटपुट:
/dev/sr0 /media/dennis/CDROM iso9660 ro,nosuid,nodev,uid=1000,gid=1000,iocharset=utf8,mode=0400,dmode=0500,uhelper=udisks2 0 0
यहां, डिवाइस फ़ाइल है /dev/sr0
। आदेश
disktype /dev/sr0
उपलब्ध फ़ाइल सिस्टम प्रदर्शित करेगा। यदि दोनों मौजूद हैं, तो आईएसओ 9660 का विश्लेषण करना आसान होना चाहिए।
आईएसओ 9660
मानक फ़ील्ड के निर्माण की तारीख और समय को वॉल्यूम के निर्माण के क्षण के संख्यात्मक प्रतिनिधित्व के रूप में निर्दिष्ट करता है , जो निम्न प्रारूप में प्राथमिक वॉल्यूम डिस्क्रिप्टर के 830 वें बाइट के माध्यम से 814 वें को लिखा गया है :
YYYYMMDDHHMMSSCCO
जहाँ CC सेंटीसेकंड और O 15 मिनट के अंतराल में GMT से ऑफसेट होता है, उसे 8-बिट पूर्णांक ( दो का पूरक प्रतिनिधित्व ) के रूप में संग्रहीत किया जाता है ।
डिस्क के पहले 32 KiB (32,768 बाइट्स) का उपयोग ISO 9660 द्वारा नहीं किया जाता है और उपरोक्त डिस्क्रिप्टर तुरंत अप्रयुक्त ब्लॉक का अनुसरण करता है, इसलिए हम 33,582 वीं बाइट और 16 का अनुसरण करते हैं।
इस जानकारी का विश्लेषण किसी भी उपकरण द्वारा किया जा सकता है जो ऑप्टिकल डिस्क पर कच्चे डेटा को डंप / रीड कर सकता है। लिनक्स पर, आप अंतिम बाइट को ठीक से देखने के लिए छवि के प्रासंगिक भाग को डंप करने के लिए dd का उपयोग कर सकते हैं :
dd if=/dev/sr0 bs=1 skip=33581 count=17 | hexdump -C
मेरे Ubuntu 12.04 x64 LiveCD के लिए, यह देता है:
00000000 32 30 31 32 30 38 32 33 31 37 31 33 34 37 30 30 |2012082317134700|
00000010 00 |.|
इसलिए यह चित्र 23 अगस्त 2012 को 17: 13: 47.00 GMT पर बनाया गया था ।
यूडीएफ
मानक प्राथमिक रिकॉर्डिंग के निर्माण के क्षण के द्विआधारी प्रतिनिधित्व के रूप में दायर रिकॉर्डिंगडॉटएंडटाइम को निर्दिष्ट करता है , जो निम्न प्रारूप में प्राथमिक वॉल्यूम डिस्क्रिप्टर के 376 वें से 387 वें बाइट को लिखा गया है :
TT tT YY YY MM DD HH MM SS CC BB AA
यहां, प्रत्येक जोड़ी एक ओकटेट (बाइट) है, अर्थात, XX
दो हेक्साडेसिमल संख्याओं से बना है।
TT tT
टाइमस्टैम्प के प्रकार और समय क्षेत्र का प्रतिनिधित्व करने वाला एक छोटा-सा एंडियन 16-बिट पूर्णांक है।
12 कम से कम महत्वपूर्ण बिट्स ( TTT
) समय क्षेत्र को धारण करते हैं, एक हस्ताक्षरित पूर्णांक ( दो पूरक प्रतिनिधित्व ) के रूप में यूटीसी से ऑफसेट के रूप में इनकोडिंग ।
चार सबसे महत्वपूर्ण बिट्स ( t
) प्रकार (हमेशा 1
, स्थानीय समय का अर्थ है ) को पकड़ो ।
YY YY
वर्ष हस्ताक्षरित लिटिल-एंडियन 16-बिट पूर्णांक ( दो का पूरक प्रतिनिधित्व ) के रूप में एन्कोड किया गया है ।
MM
, DD
, HH
MM
, SS
, CC
, BB
और AA
अहस्ताक्षरित 8 बिट पूर्णांकों का प्रतिनिधित्व कर रहे हैं माह, दिन, घंटे मिनट, सेकंड, centisecond, माइक्रोसेकंड और सृष्टि के माइक्रोसेकंड के सैकड़ों।
फिर, डिस्क के पहले 32 KiB का उपयोग UDF द्वारा नहीं किया जाता है। इसके अलावा, निम्नलिखित 32 KiB बाइट्स एक विरासत ISO 9660 फ़ाइल सिस्टम के लिए आरक्षित हैं (जो वर्तमान में अधिक स्थान घेर सकते हैं)।
"शुद्ध" UDF डिस्क पर, कमांड
dd if=/dev/sr0 bs=1 skip=65912 count=12 | hexdump -C
एन्कोडेड टाइमस्टैम्प प्रदर्शित करेगा।
परीक्षण उद्देश्यों के लिए, मैंने K3b के साथ एक UDF छवि बनाई है। dd
कमांड का आउटपुट निम्नलिखित था
00000000 4c 1f dd 07 03 01 0f 0b 11 00 00 00 |L...........|
0000000c
विश्लेषण:
0xF4C (हेक्साडेसिमल) 0x800 से बड़ा है और इसलिए - नकारात्मक। 0xF4C से 0x1000 को आराम करना, दशमलव में -180 देता है। इसका अर्थ है कि समयक्षेत्र UTC - 3 है।
0x07DD दशमलव (सृजन का वर्ष) में 2013 है।
शेष ओकटेट्स को उनके हेक्साडेसिमल प्रतिनिधित्व (0x0F, 0x0B और 0x11 दशमलव में 15, 11 और 17 हैं) में शाब्दिक रूप से व्याख्या की जा सकती है।
इसका मतलब है कि छवि 1 मार्च 2013 को 15: 11: 17.000000 UTC + 3 पर बनाई गई थी ।
चेतावनियां
इस तिथि के साथ छेड़छाड़ करना सीधा है। छवि बनाने से पहले कंप्यूटर की तारीख को बदलना आवश्यक है।
यदि वास्तव में डिस्क को जलाने से पहले छवि बनाई गई है, तो पूर्व समय रिकॉर्ड किया जाएगा। इस प्रकार, क्षेत्र केवल डिस्क के लिए संभावित सबूत है जो स्वयं स्वामी द्वारा बनाए गए थे।