बड़े ज़िप-आर्काइव बनाने और प्रबंधित करने के लिए मुफ्त पायथन लाइब्रेरी
एक शक्तिशाली ओपन सोर्स बहुत तेज़ पायथन लाइब्रेरी जो पायथन डेवलपर्स को 30 से अधिक विभिन्न आर्काइव, संपीड़न और फ़ाइल‑सिस्टम फ़ॉर्मेट्स से डेटा लोड, निकालने और पार्स करने में सक्षम बनाती है।
Unblob लाइब्रेरी क्या है?
Unblob एक आवश्यक Python लाइब्रेरी और कमांड-लाइन टूल है, जिसे बाइनरी ब्लॉब्स—फ़ाइलें जिनमें अज्ञात या स्वामित्व वाले फ़ॉर्मेट में डेटा होता है, जो आमतौर पर फ़र्मवेयर इमेज, मेमोरी डंप, नेटवर्क पैकेट या एन्क्रिप्टेड आर्काइव में पाए जाते हैं—के निष्कर्षण को सरल और तेज़ बनाने के लिए डिज़ाइन किया गया है। मूल रूप से ONEKEY द्वारा उनके प्रोडक्शन एनालिसिस प्लेटफ़ॉर्म में उपयोग के लिए विकसित और मेंटेन किया गया, Unblob इन जटिल फ़ाइलों को पार्स करने की चुनौती को 30 से अधिक विभिन्न आर्काइव, कंप्रेशन और फ़ाइल‑सिस्टम फ़ॉर्मेट्स का समर्थन करके कुशलता से संभालता है। यह ZIP, TAR, GZIP, BZIP2, XZ, LZMA, SquashFS, CramFS, JFFS2, UBI/UBIFS, और YAFFS2 जैसे फ़ॉर्मेट्स को प्रभावी रूप से प्रोसेस करता है, सामग्री को पुनरावर्ती रूप से निकालता है और उन अनपहचाने हिस्सों को भी अलग करता है जो अभी तक पहचाने नहीं गए हैं।
MIT लाइसेंस के तहत मुफ्त उपयोग के लिए उपलब्ध, Unblob अत्यधिक कुशल और अविश्वसनीय रूप से बहुमुखी है। यह मल्टी-प्रोसेसिंग, कुशल कोड, मेमोरी-मैप्ड फ़ाइलों और Hyperscan हाई-परफ़ॉर्मेंस मैचिंग लाइब्रेरी का उपयोग करके तेज़ गति वाला प्रदर्शन प्रदान करता है। यह टूल बेतरतीब पॉज़िटिव्स और ओवरलैपिंग चंक्स को कम करता है, प्रारंभ और अंत ऑफ़सेट को battle-tested नियमों और फ़ॉर्मेट मानकों का उपयोग करके पहचानता है। अतिरिक्त रूप से, Unblob में एक आसान-से-हैंडल API है जो उपयोगकर्ताओं को कस्टम फ़ॉर्मेट हैंडलर और एक्सट्रैक्टर जल्दी लिखने की अनुमति देता है, और यह कोर कार्यक्षमता को विस्तारित करने के लिए डायनामिक रूप से लोड किए गए प्लगइन्स का समर्थन करता है। यह Unblob को उन सभी के लिए अनिवार्य संपत्ति बनाता है जिन्हें संपीड़न, एन्क्रिप्शन, या एम्बेडेड फ़ाइल सिस्टम वाले जटिल, बहु-परत बाइनरी डेटा का विश्लेषण करने की आवश्यकता है।
Unblob के साथ शुरू करना
Unblob को स्थापित करने का अनुशंसित तरीका pypi.org का उपयोग करना है। सुगम स्थापना के लिए कृपया निम्नलिखित कमांड का उपयोग करें।
pypi के माध्यम से Unblob लाइब्रेरी स्थापित करें
pip3 install unblob
GitHub से unblob रिपॉज़िटरी को क्लोन करें
git clone https://github.com/onekey-sec/unblob.git
इसे मैन्युअल रूप से स्थापित करना भी संभव है; नवीनतम रिलीज़ फ़ाइलें सीधे GitHub रिपॉजिटरी से डाउनलोड करें।Python लाइब्रेरी का उपयोग करके पहचाने गए फ़ॉर्मेट निकालें
ओपन सोर्स Unblob लाइब्रेरी ने Python अनुप्रयोगों के भीतर विभिन्न फ़ाइल स्वरूपों से सामग्री निकालने के लिए समर्थन शामिल किया है। इस लाइब्रेरी ने 30 से अधिक आर्काइव, संपीड़न स्वरूप और फ़ाइल सिस्टम का समर्थन किया है। कृपया याद रखें कि सभी समर्थित स्वरूपों के साथ लाइब्रेरी का उपयोग करने के लिए सभी एक्सट्रैक्टर स्थापित होने चाहिए। उपयोगकर्ता लाइब्रेरी के व्यवहार को अनुकूलित करने के लिए विभिन्न विकल्पों का उपयोग कर सकते हैं, जैसे आउटपुट डायरेक्टरी निर्दिष्ट करना, पुनरावृत्ति गहराई, वर्बोसिटी स्तर, या रिपोर्ट फ़ॉर्मेट। डेवलपर्स extract_chunk मेथड का उपयोग करके प्रत्येक चंक की सामग्री को निर्दिष्ट आउटपुट डायरेक्टरी में निकाल सकते हैं। नीचे एक नमूना कोड स्निपेट दिया गया है जो दिखाता है कि Python अनुप्रयोगों के भीतर आउटपुट डायरेक्टरी में सामग्री निकालने के लिए लाइब्रेरी का कैसे उपयोग किया जाए।
Python लाइब्रेरी का उपयोग करके सामग्री को आउटपुट डायरेक्टरी में कैसे निकालें?
import unblob
# Scan a file for known formats
file_path = "some_file.bin"
chunks = unblob.scan_file(file_path)
# Extract each chunk to an output directory
output_dir = "some_dir"
for chunk in chunks:
unblob.extract_chunk(chunk, output_dir)
Python API के माध्यम से ELF फ़ाइल विश्लेषण करें
ओपन सोर्स Unblob लाइब्रेरी सॉफ़्टवेयर डेवलपर्स के लिए अज्ञात बाइनरी ब्लॉब्स से ELF फ़ाइलों का पता लगाना और निकालना आसान बनाती है, साथ ही उनकी क्षमताओं और विशेषताओं की पहचान करती है। लाइब्रेरी 32-बिट और 64-बिट दोनों ELF फ़ाइलों का समर्थन करती है, तथा x86, x86_64, ARM, MIPS, और PowerPC जैसे विभिन्न आर्किटेक्चर को भी सपोर्ट करती है। यह विभिन्न प्रकार की ELF फ़ाइलों को भी संभाल सकती है, जैसे कि एक्सीक्यूटेबल्स, शेयरड लाइब्रेरीज़, ऑब्जेक्ट फ़ाइलें, कोर डंप्स, और कर्नेल मॉड्यूल।
Python API के माध्यम से मेटाडेटा निष्कर्षण
ओपन सोर्स Unblob लाइब्रेरी ने अपने Python अनुप्रयोगों में एक मेटाडाटा फ़ाइल उत्पन्न करने का समर्थन जोड़ा है। उपयोगकर्ता Unblob को कमांड-लाइन टूल के रूप में चलाते समय --report विकल्प का उपयोग कर सकते हैं। यह विकल्प एक JSON फ़ाइल उत्पन्न करेगा जिसमें निकाली गई फ़ाइलों की जानकारी होगी, जैसे उनका पथ, आकार, प्रकार, मैजिक, एंट्रॉपी, और चंक विवरण। उपयोगकर्ता --report विकल्प के तर्क के रूप में JSON फ़ाइल का नाम और स्थान निर्दिष्ट कर सकते हैं। उपयोगकर्ता फिर किसी भी JSON व्यूअर या पार्सर का उपयोग करके metadata.json फ़ाइल को देख या विश्लेषण कर सकते हैं।