
डिजिटल फोरेंसिक के लिए फ़ाइल कार्विंग और इंडेक्सिंग टूल, जो हेडर/फुटर पैटर्न मिलान, रेगुलर एक्सप्रेशन, मल्टीथ्रेडिंग और वैकल्पिक GPU-त्वरित प्रोसेसिंग के आधार पर डिस्क इमेज से फ़ाइलें पुनर्प्राप्त करता है।
6/27/2013 से Scalpel को Apache 2.0 लाइसेंस के अंतर्गत जारी किया गया है और स्रोत The Sleuth Kit github रिपॉजिटरी पर उपलब्ध है।
इसका सक्रिय रूप से रखरखाव नहीं किया जा रहा है। Autopsy टीम ने इसे Java/JNI बाइंडिंग्स के माध्यम से कसकर एकीकृत करने के लिए काम शुरू किया था, लेकिन कई मेमोरी लीक का सामना करना पड़ा और यह प्रयास छोड़ दिया गया।
कोई आधिकारिक रिलीज़ नहीं की जा रही है। आप पुल रिक्वेस्ट सबमिट कर सकते हैं, लेकिन उनकी समीक्षा होने में कुछ समय लग सकता है।
Scalpel एक फ़ाइल कार्विंग और इंडेक्सिंग एप्लिकेशन है जो Linux और Windows पर चलता है। Scalpel का पहला संस्करण, जो 2005 में जारी किया गया था, Foremost 0.69 पर आधारित था। अंतिम सार्वजनिक रिलीज़, 1.60, के बाद से कई आंतरिक रिलीज़ हुई हैं, मुख्य रूप से हमारे अपने शोध का समर्थन करने के लिए। नवीनतम सार्वजनिक रिलीज़ v2.0 में कई अतिरिक्त विशेषताएं हैं, जिनमें शामिल हैं:
o न्यूनतम कार्व आकार।
o मल्टीकोर CPUs पर तेज़ निष्पादन के लिए मल्टीथ्रेडिंग।
o एसिंक्रोनस I/O जो डिस्क ऑपरेशनों को पैटर्न मिलान के साथ ओवरलैप करने की अनुमति देता है-- इसके परिणामस्वरूप प्रदर्शन में काफी सुधार होता है।
o हेडर/फुटर के लिए रेगुलर एक्सप्रेशन समर्थन।
o एम्बेडेड हेडर/फुटर मिलान, जो एम्बेडेड फ़ाइलें शामिल कर सकने वाली संरचित फ़ाइल प्रकारों के बेहतर प्रसंस्करण को सक्षम बनाता है।
o उन्नत उपयोगकर्ताओं के लिए, ग्राफिक्स प्रोसेसिंग यूनिट्स (GPUs) पर बड़े पैमाने पर थ्रेडेड निष्पादन का समर्थन। यह सुविधा केवल Linux पर उपलब्ध है और इसके लिए NVIDIA CUDA SDK की स्थापना, GPU थ्रेडिंग मोड को सक्षम करने के लिए scalpel.h में संशोधन, और CUDA टूलचेन के साथ संकलन की आवश्यकता होती है। हमारे कार्यान्वयन के लिए भी compute capability >= 1.2 वाले NVIDIA GPU की आवश्यकता होती है, इसलिए पुराने CUDA-सक्षम कार्ड शायद काम नहीं करेंगे। NVIDIA GTX 260 अपेक्षाकृत सस्ता और शक्तिशाली है और इसमें उपयुक्त compute capability है। Scalpel का GPU-संवर्धित संस्करण अधिकांश फ़ाइल सर्वरों की डिस्क बैंडविड्थ से अधिक दरों पर प्रीव्यू कार्विंग करने में सक्षम है, इसलिए बड़े कार्यों के लिए, इस सुविधा का उपयोग करने के लिए आवश्यक अतिरिक्त प्रयास सार्थक हो सकता है। ध्यान दें कि GPU त्वरण के उपयोग के दौरान रेगुलर एक्सप्रेशन-आधारित हेडर और फुटर वर्तमान में समर्थित नहीं हैं! हम भविष्य के रिलीज़ में इसे संबोधित कर सकते हैं।
Scalpel फ़ाइल कार्विंग ऑपरेशन उन पैटर्नों के आधार पर करता है जो विशेष फ़ाइल या डेटा खंड "प्रकार" का वर्णन करते हैं। ये पैटर्न या तो निश्चित बाइनरी स्ट्रिंग्स या रेगुलर एक्सप्रेशन पर आधारित हो सकते हैं। वितरण में शामिल कॉन्फ़िगरेशन फ़ाइल, "scalpel.conf" में कई डिफ़ॉल्ट पैटर्न शामिल हैं। कॉन्फ़िगरेशन फ़ाइल में टिप्पणियाँ Scalpel द्वारा समर्थित फ़ाइल कार्विंग पैटर्न के प्रारूप की व्याख्या करती हैं।
महत्वपूर्ण नोट: डिफ़ॉल्ट कॉन्फ़िगरेशन फ़ाइल, "scalpel.conf" में सभी समर्थित फ़ाइल पैटर्न कमेंट किए गए हैं-- Scalpel चलाने से पहले कुछ पैटर्न सक्रिय करने के लिए आपको इस फ़ाइल को संपादित करना होगा। केवल सभी फ़ाइल कार्विंग पैटर्न को अनकमेंट करने के आग्रह का विरोध करें; इससे समय बर्बाद होगा और बड़ी संख्या में गलत सकारात्मक परिणाम उत्पन्न होंगे। इसके बजाय, केवल उन फ़ाइल प्रकारों के पैटर्न अनकमेंट करें जिनकी आपको आवश्यकता है।
Scalpel विकल्पों का वर्णन Scalpel मैन पेज, "scalpel.1" में किया गया है। आप विकल्पों की सूची देखने के लिए Scalpel को बिना किसी कमांड लाइन तर्क के भी निष्पादित कर सकते हैं।
नोट: Unix प्लेटफ़ॉर्म और Mac OS X पर संकलन आवश्यक है। Windows प्लेटफ़ॉर्म के लिए, एक प्रीकंपाइल्ड scalpel.exe प्रदान किया जाता है। यदि आप Windows पर Scalpel को फिर से संकलित करना चाहते हैं, तो आपको एक mingw (gcc) सेटअप की आवश्यकता होगी। Scalpel Visual Studio C कंपाइलरों का उपयोग करके संकलित नहीं होगा। ध्यान दें कि Windows के लिए हमारा संकलन वातावरण वर्तमान में 32-बिट है; हमने mingw के 64-बिट संस्करण पर परीक्षण नहीं किया है, लेकिन भविष्य में इसे संबोधित करेंगे।
समर्थित प्लेटफ़ॉर्म पर संकलन निर्देश:
Linux/Mac OS X:
% ./bootstrap
% ./configure
% make
Windows (mingw): cd src mingw32-make -f Makefile.win
और आनंद लें। यदि आप बाइनरी और मैन पेज को अधिक स्थायी स्थान पर स्थापित करना चाहते हैं, तो बस "scalpel" (या "scalpel.exe") और "scalpel.1" को उपयुक्त स्थानों पर कॉपी करें, जैसे कि Linux पर क्रमशः "/usr/local/bin" और "/usr/local/man/man1" में। Windows पर, आपको pthreads और tre रेगुलर एक्सप्रेशन लाइब्रेरी dlls को "scalpel.exe" के समान निर्देशिका में कॉपी करने की भी आवश्यकता होगी।
अन्य समर्थित प्लेटफ़ॉर्म
हम वर्तमान में Linux के अलावा अन्य Unix वेरिएंट पर Scalpel का समर्थन नहीं कर रहे हैं। आगे बढ़कर ./configure और make आज़माएं और देखें कि क्या होता है, लेकिन Scalpel को प्रोडक्शन कार्य में उपयोग करने से पहले पूरी तरह से परीक्षण करना सुनिश्चित करें। यदि आप किसी वैकल्पिक प्लेटफ़ॉर्म पर Scalpel के संस्करण का समर्थन करने में रुचि रखते हैं, तो कृपया हमसे संपर्क करें। यदि आप Windows पर Scalpel के GPU-संवर्धित संस्करण का समर्थन करने में रुचि रखते हैं, तो हम भी आपसे सुनने में रुचि रखते हैं।
सीमाएँ:
Windows भौतिक और लॉजिकल डिवाइस फ़ाइलों (जैसे, \.\physicaldrive0 या \.\c:) की कार्विंग वर्तमान में समर्थित नहीं है क्योंकि इसके लिए हमें Scalpel के कुछ हिस्सों को मानक Unix कॉल के बजाय Windows फ़ाइल I/O फ़ंक्शन का उपयोग करने के लिए फिर से लिखना आवश्यक है। यह भविष्य के रिलीज़ में समर्थित हो सकता है।
ब्लॉक मैप सुविधाएं वर्तमान में अक्षम हैं, क्योंकि हम Sleuthkit के साथ अंतरसंचालनीयता बढ़ाने के लिए इस सबसिस्टम को फिर से लिख रहे हैं। ब्लॉक मैप सुविधाओं का एक बेहतर संस्करण अगले रिलीज़ में वापस आएगा। -s कमांड लाइन विकल्प ("skip") को हटा दिया गया है और इसे अगले प्रमुख रिलीज़ में एक अधिक मजबूत सुविधा से बदल दिया जाएगा।
निर्भरताएँ:
Scalpel POSIX थ्रेड्स लाइब्रेरी का उपयोग करता है। Win32 पर, Scalpel को Pthreads-win32 - POSIX Threads Library for Win32 के साथ वितरित किया जाता है, जो Copyright(C) 1998 John E. Bossom और Copyright(C) 1999,2005 by Pthreads-win32 contributors द्वारा है। यह लाइब्रेरी LGPL के अंतर्गत लाइसेंस प्राप्त है।
Win32 के लिए Scalpel tre रेगुलर एक्सप्रेशन लाइब्रेरी का उपयोग करता है और tre-0.7.5 के साथ वितरित किया जाता है, जो LGPL के अंतर्गत लाइसेंस प्राप्त है।
शुभकामनाएं,
--Golden and Vico.