
FAT फ़ाइल सिस्टम का अन्वेषण, निष्कर्षण, मरम्मत और फोरेंसिक उपकरण

यह उपकरण FAT फ़ाइल सिस्टम में हेरफेर करने के लिए डिज़ाइन किया गया है, ताकि उनका अन्वेषण, निष्कर्षण, मरम्मत, पुनर्प्राप्ति और फोरेंसिक किया जा सके। यह वर्तमान में FAT12, FAT16 और FAT32 का समर्थन करता है।
आप fatcat को इस प्रकार बना सकते हैं:
mkdir build
cd build
cmake ..
make
और फिर इसे स्थापित करें:
make install
Fatcat एक इमेज को तर्क के रूप में लेता है:
fatcat disk.img [options]
नोट: आपके बिल्ड के अनुसार, आपको disk.img से पहले विकल्प निर्दिष्ट करने की आवश्यकता हो सकती है, अर्थात fatcat [options] disk.img
आप फ़ाइल में -O के साथ एक ऑफ़सेट निर्दिष्ट कर सकते हैं, यह तब उपयोगी हो सकता है जब किसी ब्लॉक डिवाइस पर कई विभाजन हों, उदाहरण के लिए:
fatcat disk.img -O 1048576 [options]
यह fatcat को 1048576वें बाइट से शुरू करने का निर्देश देगा। विभाजन ट्यूटोरियल पर एक नज़र डालें।
आप -l विकल्प का उपयोग करके FAT विभाजन का अन्वेषण कर सकते हैं:
$ fatcat disk.img -l /
Listing path /
Cluster: 2
d 24/10/2013 12:06:00 some_directory/ c=4661
d 24/10/2013 12:06:02 other_directory/ c=4662
f 24/10/2013 12:06:40 picture.jpg c=4672 s=532480 (520K)
f 24/10/2013 12:06:06 hello.txt c=4671 s=13 (13B)
आप -l /some/directory जैसा पथ भी प्रदान कर सकते हैं।
-L का उपयोग करके, आप पथ के बजाय एक क्लस्टर नंबर प्रदान कर सकते हैं, यह कभी-कभी उपयोगी हो सकता है।
यदि आप -d जोड़ते हैं, तो आप हटाई गई फ़ाइलें भी देखेंगे।
सूची में, उपसर्ग f या d है जो बताता है कि पंक्ति किसी फ़ाइल या निर्देशिका से संबंधित है।
c= क्लस्टर नंबर को इंगित करता है, s= बाइट्स में आकार को इंगित करता है (जो ठीक बाद दिए गए सुंदर आकार के समान होना चाहिए)।
अंत में h अक्षर इंगित करता है कि फ़ाइल छिपी हुई मानी जाती है।
अंत में d अक्षर इंगित करता है कि फ़ाइल हटा दी गई थी।
आप -r का उपयोग करके फ़ाइल पढ़ सकते हैं, फ़ाइल मानक आउटपुट पर लिखी जाएगी:
$ fatcat disk.img -r /hello.txt
Hello world!
$ fatcat disk.img -r /picture.jpg > save.jpg
-R का उपयोग करके, आप पथ के बजाय एक क्लस्टर नंबर प्रदान कर सकते हैं, लेकिन फ़ाइल आकार की जानकारी खो जाएगी और फ़ाइल को उसके अनुरूप क्लस्टरों की संख्या तक गोल किया जाएगा, जब तक कि आप पढ़ने के लिए फ़ाइल आकार निर्दिष्ट करने के लिए -s विकल्प प्रदान न करें।
आप -x का उपयोग करके FAT फाइलसिस्टम निर्देशिकाओं को एक निर्देशिका में निकाल सकते हैं:
fatcat disk.img -x output/
यदि आप एक निश्चित क्लस्टर से निकालना चाहते हैं, तो -c के साथ प्रदान करें।
यदि आप निकालने के लिए -d प्रदान करते हैं, तो हटाई गई फ़ाइलें भी निकाली जाएंगी।
जैसा कि ऊपर बताया गया है, हटाई गई फ़ाइलों को -d प्रदान करके सूची में पाया जा सकता है:
$ fatcat disk.img -l / -d
f 24/10/2013 12:13:24 delete_me.txt c=5764 s=16 (16B) d
आप एक फ़ाइल या एक दिलचस्प हटाई गई निर्देशिका का अन्वेषण और पता लगा सकते हैं।
हटाई गई फ़ाइल को पुनर्प्राप्त करने के लिए, बस -r का उपयोग करके इसे पढ़ें। ध्यान दें कि उत्पन्न फ़ाइल मूल FAT सिस्टम से लगातार पढ़ी जाएगी और टूटी हुई हो सकती है।
हटाई गई निर्देशिका को पुनर्प्राप्त करने के लिए, इसका क्लस्टर नंबर नोट करें और इसे ऊपर दिए गए अनुसार निकालें:
# If your deleted directory cluster is 71829
fatcat disk.img -x output/ -c 71829
यह भी देखें: अनडिलीट ट्यूटोरियल
मान लें कि आपकी डिस्क में टूटे हुए सेक्टर हैं, तो आप उस पर पुनर्प्राप्ति करना चाह सकते हैं।
पहली सलाह है कि ddrescue का उपयोग करके अपने डेटा की एक प्रति बनाएं, और अपनी डिस्क को दूसरी डिस्क या एक स्वस्थ फ़ाइल में सहेजें।
जब सेक्टर टूट जाते हैं, तो उनके बाइट्स को ddrescue इमेज में 0s से बदल दिया जाएगा।
एक पहला तरीका यह है कि ऊपर दिए गए अनुसार -l का उपयोग करके अपनी इमेज का अन्वेषण करने का प्रयास करें और -i जांचें कि क्या fatcat डिस्क को FAT सिस्टम के रूप में पहचानता है।
फिर, आप -2 पर एक नज़र डाल सकते हैं, यह जांचने के लिए कि क्या फ़ाइल आवंटन तालिकाएं भिन्न हैं, और यदि यह विलय योग्य दिखती है। यह बहुत संभावना है कि यह विलय योग्य होगी, इस स्थिति में, आप FAT तालिकाओं को विलय करने के लिए -m का प्रयास कर सकते हैं, इससे पहले बैकअप लेना न भूलें (नीचे देखें)।
जब आपका फ़ाइल सिस्टम टूट जाता है, तो ऐसी फ़ाइलें और खोई हुई फ़ाइलें और निर्देशिकाएँ होती हैं जिन्हें हम "अनाथ" कहते हैं, क्योंकि आप सामान्य सिस्टम से उन तक नहीं पहुँच सकते।
fatcat आपको उन नोड्स को खोजने का एक विकल्प प्रदान करता है, यह आपके सिस्टम का एक स्वचालित विश्लेषण करेगा और आपके फ़ाइल सिस्टम के आवंटित सेक्टरों का अन्वेषण करेगा, यह -o के साथ किया जाता है।
आपको निर्देशिकाओं और फ़ाइलों की एक सूची मिलेगी, इस प्रकार:
There is 2 orphaned elements:
Directory clusters 4592 to 4592: 2 elements, 49B
File clusters 4611 to 4611: ~512B
फिर आप सीधे -L और -R का उपयोग करके उन फ़ाइलों और निर्देशिकाओं को देख सकते हैं:
$ fatcat disk.img -L 4592
Listing cluster 4592
Cluster: 4592
d 23/10/2013 17:45:06 ./ c=4592
d 23/10/2013 17:45:06 ../ c=0
f 23/10/2013 17:45:22 poor_orphan.txt c=4601 s=49 (49B)
ध्यान दें कि अनाथ फ़ाइलों का अज्ञात आकार होता है, इसका मतलब है कि यदि आप इसे पढ़ते हैं, तो आपको एक फ़ाइल मिलेगी जो क्लस्टर आकारों का गुणज है।
यह भी देखें: अनाथ फ़ाइल ट्यूटोरियल
आप अपने FAT फ़ाइल सिस्टम को हैक करने के लिए fatcat का उपयोग कर सकते हैं
-i फ़्लैग आपको फ़ाइल सिस्टम के बारे में बहुत सारी जानकारी प्रदान करेगा:
fatcat disk.img -i
यह आपको सेक्टर आकार, FAT आकार, डिस्क लेबल आदि जैसा हेडर डेटा देगा। यह डिस्क के उपयोग का अनुमान लगाने के लिए FAT तालिका भी पढ़ेगा।
आप -@ का उपयोग करके एक विशिष्ट क्लस्टर के बारे में जानकारी भी प्राप्त कर सकते हैं:
fatcat disk.img -@ 1384
यह आपको क्लस्टर पता (फ़ाइल सिस्टम में क्लस्टर का ऑफ़सेट) और दो FAT तालिकाओं में अगले क्लस्टर का मान देगा।
आप अपनी FAT तालिकाओं का बैकअप लेने के लिए -b का उपयोग कर सकते हैं:
fatcat disk.img -b backup.fats
और इसे वापस लिखने के लिए -p का उपयोग करें:
fatcat disk.img -p backup.fats
आप -w और -v के साथ FAT तालिकाओं में लिख सकते हैं:
fatcat disk.img -w 123 -v 124
यह 123 के अगले क्लस्टर के मान के रूप में 124 लिखेगा।
आप -t के साथ तालिका भी चुन सकते हैं, 0 दोनों तालिकाओं के लिए, 1 पहली और 2 दूसरी के लिए।
आप -2 का उपयोग करके दो FATs के अंतर को देख सकते हैं:
# Watching the diff
$ fatcat disk.img -2
Comparing the FATs
FATs are exactly equals
# Writing 123 in the 500th cluster only in FAT1
$ fatcat disk.img -w 500 -v 123 -t 1
Writing next cluster of 500 from 0 to 123
Writing on FAT1
# Watching the diff
$ fatcat disk.img -2
Comparing the FATs
[000001f4] 1:0000007b 2:00000000
FATs differs
It seems mergeable
आप -m का उपयोग करके दो FATs को विलय कर सकते हैं। तालिका में प्रत्येक भिन्न प्रविष्टि के लिए, यदि एक शून्य है और दूसरा नहीं है, तो गैर-शून्य मान चुना जाएगा:
$ fatcat disk.img -m
Begining the merge...
Merging cluster 500
Merge complete, 1 clusters merged
यह भी देखें: FAT ठीक करने का ट्यूटोरियल
Fatcat टूटी हुई FAT चेनिंग वाली निर्देशिकाओं को ठीक कर सकता है।
ऐसा करने के लिए, -f का उपयोग करें। पूरे फ़ाइल सिस्टम ट्री को चला जाएगा और वे निर्देशिकाएँ जो FAT में आवंटित नहीं हैं लेकिन fatcat पढ़ सकता है, FAT में ठीक कर दी जाएंगी।
आप -e के साथ एक प्रविष्टि के बारे में जानकारी प्राप्त कर सकते हैं:
fatcat disk.img -e /hello.txt
यह प्रविष्टि का पता (स्वयं फ़ाइल नहीं), क्लस्टर संदर्भ और फ़ाइल आकार (यदि निर्देशिका नहीं है) प्रदर्शित करेगा।
आप प्रविष्टि के क्लस्टर को बदलने के लिए -c [cluster] फ़्लैग और प्रविष्टि आकार बदलने के लिए -s [size] फ़्लैग जोड़ सकते हैं।
यह भी देखें: FAT के साथ मज़ा ट्यूटोरियल
आप क्लस्टर संदर्भ खोजने के लिए -k का उपयोग कर सकते हैं।
आप असंबद्ध सेक्टर डेटा को शून्य के साथ -z का उपयोग करके, या यादृच्छिक डेटा का उपयोग करके -S के साथ मिटा सकते हैं।
उदाहरण के लिए, हटाई गई फ़ाइलें तब अपठनीय हो जाएंगी।
यह MIT लाइसेंस के अंतर्गत है