
NTFS के लिए कमांडलाइन निम्न-स्तरीय फ़ाइल निकालने वाला
परिचय यह एक कंसोल एप्लिकेशन है जो निम्न स्तरीय डिस्क रीडिंग विधि का उपयोग करके NTFS वॉल्यूम से फाइलें कॉपी करता है।
वाक्यविन्यास RawCopy /ImageFile:FullPath\ImageFilename /ImageVolume:[1,2...n] /FileNamePath:FullPath\Filename /OutputPath:FullPath /AllAttr:[0|1] /RawDirMode:[0|1|2] /WriteFSInfo:[0|1] /TcpSend:[0|1]
पैरामीटरों की व्याख्या /ImageFile: निकालने के लिए इमेज फ़ाइल का पूर्ण पथ और फ़ाइल नाम। यदि यह पैरामीटर उपयोग किया गया है, तो /ImageVolume: सेट किया जाना चाहिए। वैकल्पिक। /ImageVolume: निकालने के लिए वॉल्यूम संख्या। यदि वॉल्यूम NTFS नहीं है, तो कुछ भी निकाला नहीं जाएगा। केवल /ImageFile: के साथ उपयोग किया जाता है। /FileNamePath: निकालने के लिए फ़ाइल का पूर्ण पथ और फ़ाइल नाम। Volume:MftRef के रूप में भी हो सकता है। अनिवार्य। /OutputPath: फ़ाइल निकालने का आउटपुट पथ। वैकल्पिक। यदि छोड़ा गया, तो निकालने का पथ डिफ़ॉल्ट रूप से प्रोग्राम निर्देशिका होगा। /OutputName: आउटपुट फ़ाइल नाम। वैकल्पिक। यदि छोड़ा गया, तो फ़ाइल नाम मूल फ़ाइल नाम होगा। केवल मूल फ़ाइल नाम को ओवरराइड करने के लिए उपयोग किया जाता है। /AllAttr: सभी विशेषताओं को निकालने के लिए बूलियन फ़्लैग। वैकल्पिक। डिफ़ॉल्ट 0 है। /RawDirMode: एक वैकल्पिक निर्देशिका सूची मोड। 0 प्रिंट न करें। 1 विस्तृत प्रिंट। 2 बुनियादी प्रिंट। यदि छोड़ा गया, तो डिफ़ॉल्ट 0 होता है। अन्य पैरामीटरों के साथ संयोजन में उपयोग किया जा सकता है, हालांकि इसके लिए FileNamePath को MftRef के साथ परिभाषित करना संभव नहीं है। /WriteFSInfo: परिभाषित आउटपुट निर्देशिका में VolInfo.txt में कुछ वॉल्यूम जानकारी के साथ एक फ़ाइल लिखने के लिए एक वैकल्पिक बूलियन फ़्लैग। /TcpSend यह इंगित करने के लिए एक वैकल्पिक बूलियन फ़्लैग कि आउटपुट नेटवर्क पर भेजा जाना चाहिए। यदि यह फ़्लैग सेट है, तो /OutputPath: मान IP:PORT या DOMAIN:PORT होना चाहिए।
यह उपकरण आपको उन फ़ाइलों को कॉपी करने देगा जो आमतौर पर सुलभ नहीं हैं क्योंकि सिस्टम ने उन्हें लॉक कर दिया है। उदाहरण के लिए रजिस्ट्री हाइव्स जैसे SYSTEM और SAM। या "System Volume Information" के अंदर फ़ाइलें। या pagefile.sys। या फ़ाइलसिस्टम पर कोई भी फ़ाइल।
यह इनपुट फ़ाइल को या तो पूर्ण फ़ाइल पथ द्वारा, या इसके $MFT रिकॉर्ड नंबर (इंडेक्स नंबर) द्वारा निर्दिष्ट करने का समर्थन करता है।
तो आप किसी दी गई फ़ाइल का इंडेक्स नंबर कैसे प्राप्त करेंगे जो ज्ञात सिस्टम फ़ाइलों में से एक नहीं है? संस्करण 1.0.0.13 से RawDir की कार्यक्षमता को RawCopy में स्थानांतरित कर दिया गया। इस तरह, कोई भी निर्देशिकाओं जैसे "System Volume Information" (RawCopy.exe /FileNamePath:"c:\System Volume Information" /RawDirMode:2) में खोज कर सकता है।
इमेज फ़ाइलों के लिए /FileNamePath: पैरामीटर में वॉल्यूम अक्षर को अनदेखा किया जाता है।
/FileNamePath में डिवाइस पथ निर्दिष्ट करते समय, बिना किसी माउंटेड वॉल्यूम के संलग्न उपकरणों तक पहुंच संभव है। उदाहरण हैं HarddiskVolume1, Harddisk0Partition2, HarddiskVolumeShadowCopy1, PhysicalDrive1।
एक इमेज फ़ाइल के अंदर एक शैडो कॉपी से फ़ाइलें निकालने के लिए, आपको इमेज फ़ाइल को पहले माउंट करना होगा ताकि विंडोज शैडो कॉपी के लिए एक प्रतीकात्मक लिंक प्रस्तुत करे जैसे \?\GLOBALROOT\Device\HarddiskVolumeShadowCopy60। इमेज को Arsenal Image Mounter (जो मुफ्त है) जैसे टूल से माउंट करने की अनुशंसा की जाती है।
/WriteFSInfo: पैरामीटर स्क्रिप्टिंग के दौरान उपयोगी हो सकता है क्योंकि SectorsPerCluster और MFTRecordSize का उपयोग LogFileParser और Mft2Csv के साथ किया जाता है।
/TcpSend:1 का उपयोग करके नेटवर्क पर आउटपुट भेजने के लिए, आपके पास स्पष्ट रूप से गंतव्य पर कुछ सुनने वाला होना चाहिए जैसे netcat। फिलहाल, डेटा नेटवर्क पर बिना एन्क्रिप्टेड भेजा जाता है।
यह संस्करण Windows 2000 / NTFS 3.0 के साथ असंगत है। मैंने v1.0.0.19 से एक विशेष बिल्ड तैयार किया है जिसका उपयोग वहां किया जा सकता है; https://github.com/jschicht/RawCopy/releases/download/1.0.0.19/RawCopy_v1.0.0.19_.Win2000.zip पहले के संस्करणों का परीक्षण नहीं किया गया है।
नमूना उपयोग
चल रहे सिस्टम से हाइबरनेशन फ़ाइल कॉपी करने और इसे E:\output\hiberfil_c.sys पर सहेजने का उदाहरण RawCopy.exe /FileNamePath:C:\hiberfil.sys /OutputPath:E:\output /OutputName:hiberfil_c.sys
चल रहे सिस्टम से SYSTEM हाइव कॉपी करने का उदाहरण RawCopy.exe /FileNamePath:C:\WINDOWS\system32\config\SYSTEM /OutputPath:E:\output
$MFT को उसके इंडेक्स नंबर निर्दिष्ट करके प्रोग्राम निर्देशिका में निकालने और डिफ़ॉल्ट आउटपुट फ़ाइल नाम को MFT_C.bin में ओवरराइड करने का उदाहरण। RawCopy.exe /FileNamePath:C:0 /OutputName:MFT_C.bin
MFT संदर्भ संख्या 30224 और $DATA सहित सभी विशेषताओं को निकालने, और इसे C:\tmp में डंप करने का उदाहरण: RawCopy.exe /FileNamePath:C:30224 /OutputPath:C:\tmp /AllAttr:1
एक डिस्क इमेज तक पहुंचने और वॉल्यूम नंबर 2 से MftRef ($LogFile) निकालने का उदाहरण। RawCopy.exe /ImageFile:e:\temp\diskimage.dd /ImageVolume:2 /FileNamePath:c:2 /OutputPath:e:\out
एक पार्टीशन/वॉल्यूम इमेज तक पहुंचने और file.ext निकालने तथा इसे E:\out में डंप करने का उदाहरण। RawCopy.exe /ImageFile:e:\temp\partimage.dd /ImageVolume:1 /FileNamePath:c:\file.ext /OutputPath:e:\out
c:$Extend में विस्तृत मोड में एक रॉ डायरेक्टरी लिस्टिंग करने का उदाहरण: RawCopy.exe /FileNamePath:c:$Extend /RawDirMode:1
एक डिस्क इमेज फ़ाइल के अंदर c:\System Volume Information में बुनियादी मोड में एक रॉ डायरेक्टरी लिस्टिंग करने का उदाहरण: RawCopy.exe /ImageFile:e:\temp\diskimage.dd /ImageVolume:1 /FileNamePath:"c:\System Volume Information" /RawDirMode:2
एक शैडो कॉपी के अंदर रूट स्तर पर विस्तृत मोड में एक रॉ डायरेक्टरी लिस्टिंग करने का उदाहरण: RawCopy.exe /FileNamePath:\.\HarddiskVolumeShadowCopy1❌\ /RawDirMode:1
हार्डडिस्क 1 पर पार्टीशन 2 से $MFT निकालने और इसे e:\out में डंप करने का उदाहरण: RawCopy.exe /FileNamePath:\.\Harddisk0Partition2:0 /OutputPath:e:\out
PhysicalDrive0 पर दूसरे वॉल्यूम से $MFT निकालने, और इसे E:\out\MFT_Pd0Vol2.bin के रूप में सहेजने का उदाहरण: RawCopy.exe /FileNamePath:\.\PhysicalDrive0:0 /ImageVolume:2 /OutputPath:e:\out /OutputName:MFT_Pd0Vol2.bin
सिस्टम वॉल्यूम से $LogFile निकालने और इसे नेटवर्क पर भेजने का उदाहरण: RawCopy.exe /FileNamePath:c:$LogFile /TcpSend:1 /OutputPath:10.10.10.10:6666 RawCopy.exe /FileNamePath:c:$LogFile /TcpSend:1 /OutputPath:www.mypublicdomain.com:6666