
यह डेवलपमेंट ट्री है। प्रोडक्शन डाउनलोड यहाँ उपलब्ध हैं:
bulk_extractor एक उच्च-प्रदर्शन डिजिटल फोरेंसिक दोहन उपकरण है। यह एक "साक्ष्य प्राप्त करें" बटन है जो किसी भी प्रकार के इनपुट (डिस्क इमेज, फ़ाइलें, फ़ाइलों की निर्देशिकाएँ, आदि) को तेज़ी से स्कैन करता है और फ़ाइल सिस्टम या फ़ाइल सिस्टम संरचनाओं को पार्स किए बिना ईमेल पते, क्रेडिट कार्ड नंबर, JPEG और JSON स्निपेट जैसी संरचित जानकारी निकालता है। परिणाम टेक्स्ट फ़ाइलों में संग्रहीत किए जाते हैं जिन्हें आसानी से निरीक्षण, खोज, या अन्य फोरेंसिक प्रसंस्करण के लिए इनपुट के रूप में उपयोग किया जा सकता है। bulk_extractor कुछ प्रकार की विशेषताओं के हिस्टोग्राम भी बनाता है जिन्हें वह खोजता है, जैसे Google खोज शब्द और ईमेल पते, क्योंकि पिछले शोध ने दिखाया है कि ऐसे हिस्टोग्राम जांच और कानून प्रवर्तन अनुप्रयोगों में विशेष रूप से उपयोगी होते हैं।
अन्य डिजिटल फोरेंसिक उपकरणों के विपरीत, bulk_extractor डेटा के प्रत्येक बाइट की जाँच करता है कि यह किसी ऐसे अनुक्रम की शुरुआत है या नहीं जिसे विघटित या अन्यथा डीकोड किया जा सकता है। यदि ऐसा है, तो डीकोड किए गए डेटा की पुनरावर्ती रूप से पुनः जाँच की जाती है। परिणामस्वरूप, bulk_extractor BASE64-एन्कोडेड JPEG और संपीड़ित JSON ऑब्जेक्ट जैसी चीज़ें ढूँढ सकता है जिन्हें पारंपरिक कार्विंग उपकरण नहीं खोज पाते।
यह सोर्स ट्री bulk_extractor 2.2.0 बनाता है। उत्पादन उपयोग के लिए, https://github.com/simsong/bulk_extractor/releases से परीक्षित रिलीज़ को प्राथमिकता दें।
bulk_extractor का निर्माणहम स्रोतों से निर्माण करने की सलाह देते हैं। हम etc/ निर्देशिका में कई bash स्क्रिप्ट प्रदान करते हैं जो एक स्वच्छ वर्चुअल मशीन कॉन्फ़िगर करेंगी:
git clone https://github.com/simsong/bulk_extractor.git
./bootstrap.sh
./configure
make
make check
make install
पैकेज स्थापित करने और bulk_extractor बनाने के विस्तृत निर्देशों के लिए, यह विकी पृष्ठ पढ़ें: https://github.com/simsong/bulk_extractor/wiki/Installing-bulk_extractor
bulk_extractor के बारे में अधिक जानकारी के लिए, देखें: https://forensics.wiki/bulk_extractor
जेनरेट की गई PDF मैनुअल परिवर्तनों के main में विलय होने के बाद https://simsong.github.io/bulk_extractor/ पर प्रकाशित की जाती हैं। इसमें 2.2 ऑपरेटिंग और डेवलपर मैनुअल शामिल हैं। पुल रिक्वेस्ट को वर्कफ़्लो आर्टिफैक्ट के रूप में समान PDF प्राप्त होती हैं।
bulk_extractor की यह रिलीज़ C++17 की आवश्यकता रखती है। वर्तमान मान्यता इन्हें कवर करती है:
make distcheck, 2026-07-19)etc/ के अंतर्गत पुराने प्लेटफ़ॉर्म तैयारी स्क्रिप्ट वर्तमान CI समर्थन के समकक्ष नहीं हैं और उन्हें रखरखाव की आवश्यकता हो सकती है।
यदि आप एक वैज्ञानिक पेपर लिख रहे हैं और bulk_extractor का उपयोग कर रहे हैं, तो कृपया इसे इस प्रकार उद्धृत करें:
Garfinkel, Simson, Digital media triage with bulk data analysis and bulk_extractor. Computers and Security 32: 56-72 (2013)
@article{10.5555/2748150.2748581,
author = {Garfinkel, Simson L.},
title = {Digital Media Triage with Bulk Data Analysis and Bulk_extractor},
year = {2013},
issue_date = {February 2013},
publisher = {Elsevier Advanced Technology Publications},
address = {GBR},
volume = {32},
number = {C},
issn = {0167-4048},
journal = {Comput. Secur.},
month = feb,
pages = {56–72},
numpages = {17},
keywords = {Digital forensics, Bulk data analysis, bulk_extractor, Stream-based forensics, Windows hibernation files, Parallelized forensic analysis, Optimistic decompression, Forensic path, Margin, EnCase}
}
bulk_extractor के संचालन को बदलने के लिए निम्नलिखित पर्यावरण चर सेट किए जा सकते हैं:
अन्य डिबगिंग संकेत:
bulk_extractor -P या BE_PATH के साथ दी गई निर्देशिकाओं से scan_.so (या macOS पर scan_.dylib और Windows पर scan_*.dll) नामक स्कैनर मॉड्यूल लोड करता है। एक मॉड्यूल इस C-लिंकेज फैक्ट्री को निर्यात करता है:
extern "C" scanner_t *bulk_extractor_scanner_v1();
फैक्ट्री एक सामान्य scanner_t फ़ंक्शन लौटाती है। मॉड्यूल को bulk_extractor के उसी सोर्स संस्करण के विरुद्ध बनाएं जो निष्पादन योग्य का है; स्कैनर का PHASE_INIT हैंडलर sp.check_version() को कॉल करना चाहिए। मॉड्यूल तब तक लोडेड रहते हैं जब तक स्कैनर क्लीनअप पूर्ण नहीं हो जाता।
bulk_extractor के मूल विंडोज़ निर्माण वर्तमान में समर्थित नहीं हैं।
Windows MinGW build GitHub Actions वर्कफ़्लो प्रत्येक पुल रिक्वेस्ट के लिए Ubuntu पर निष्पादन योग्य को क्रॉस-कंपाइल करता है और bulk_extractor-windows-x86_64 आर्टिफैक्ट में bulk_extractor64.exe अपलोड करता है। वर्कफ़्लो सत्यापित करता है कि PE निष्पादन योग्य MinGW, RE2, Abseil, Expat, zlib, या GNU crypto रनटाइम DLLs आयात नहीं करता है। एक Windows रनर उस सटीक आर्टिफैक्ट को यूनिकोड फ़ाइलनाम वाली निर्देशिका के विरुद्ध डाउनलोड करके चलाता है। वर्कफ़्लो x86_64 MinGW-w64 POSIX टूलचेन और एक पिन किए गए vcpkg चेकआउट से स्टैटिक Expat, RE2, और Abseil का उपयोग करता है। CI आर्टिफैक्ट वर्तमान में libewf के बिना बनाया गया है, इसलिए इसमें E01 समर्थन शामिल नहीं है, यह हस्ताक्षरित नहीं है, और यह रिलीज़ इंस्टॉलर नहीं है। वर्कफ़्लो फ़ाइल और उसके रखरखाव नोट्स .github/workflows/mingw.yml और doc/mingw_notes.txt हैं।
be20 API और उसके सोर्स निर्भरताओं को bulk_extractor सोर्स ट्री में एकीकृत किया गया, जिससे पुनरावर्ती सबमॉड्यूल सेटअप समाप्त हो गया। एकीकृत निर्माण अब bulk_extractor, be20, और DFXML को एक साथ मान्य करता है और पूर्ण-इमेज परीक्षण तथा AddressSanitizer द्वारा खोजे गए थ्रेड-पूल शटडाउन दोषों को ठीक करता है।
jpeg_carved फीचर रिकॉर्डर का नाम बदलकर jpeg कर दिया गया, ताकि jpeg carve मोड को -S jpeg_carve_mode=2 के साथ सेट किया जा सके, न कि -S jpeg_carved_carve_mode=2 के साथ, जो भ्रमित करने वाला था।
bulk_extractor 2.0 (BE2) अब कार्यशील है। यद्यपि यह Java-आधारित व्यूअर के साथ काम करता है, हमारे पास वर्तमान में Windows पर चलने वाला कोई इंस्टॉलर नहीं है।
BE2 को संकलित करने के लिए C++17 की आवश्यकता है। be20 स्कैनर API, dfxml_cpp, utfcpp, और DFXML स्कीमा स्रोत सीधे इस रिपॉजिटरी में बनाए रखे गए हैं; किसी पुनरावर्ती सबमॉड्यूल चेकआउट की आवश्यकता नहीं है।
परियोजना में अपेक्षा से अधिक समय लगा। C++17 में अद्यतन करने के अलावा, इसे बड़े पैमाने पर कोड रिफैक्टरिंग और कोड गुणवत्ता, परीक्षण क्षमता और विश्वसनीयता में सामान्य वृद्धि के अवसर के रूप में उपयोग किया गया। इस प्रयोग के बारे में एक लेख ACM Queue के आगामी अंक में प्रकाशित होगा।
| चर | व्यवहार |
|---|
DEBUG_BENCHMARK | report.xml फ़ाइल में CPU बेंचमार्क जानकारी शामिल करें |
DEBUG_NO_SCANNER_BYPASS | स्कैनर बायपास तर्क को अक्षम करता है जो कुछ स्कैनरों को बायपास करता है यदि sbuf में ngrams हों या उच्च विशिष्ट वर्ण गणना न हो। |
DEBUG_HISTOGRAMS | फ़ाइल-आधारित हिस्टोग्राम पर डिबगिंग जानकारी प्रिंट करें। |
DEBUG_HISTOGRAMS_NO_INCREMENTAL | इंक्रीमेंटल, मेमोरी-आधारित हिस्टोग्राम का उपयोग न करें। |
DEBUG_PRINT_STEPS | प्रत्येक sbuf के लिए प्रत्येक स्कैनर को कॉल करने पर stdout पर प्रिंट करता है |
DEBUG_SCANNER_DUMP_DATA | स्कैन किए जाने वाले प्रत्येक sbuf का हेक्स-डंप करें। |
DEBUG_SCANNERS_IGNORE | अनदेखा करने के लिए स्कैनरों की पहचान करने हेतु उपयोग किया जाने वाला सबस्ट्रिंग। यूनिट टेस्ट डिबग करने के लिए उपयोगी। |