
Ethereum Blockchain नेटवर्क पर ब्लॉब फ़ाइलों को खोजें और निकालें
Etherscan.io API का उपयोग करके Ethereum नेटवर्क पर ब्लॉब फ़ाइलें खोजें और निकालें।

EtherBlob Explorer एक उपकरण है जो शोधकर्ताओं, विश्लेषकों, CTF खिलाड़ियों या किसी भी जिज्ञासु व्यक्ति के लिए है जो Ethereum ब्लॉकचेन नेटवर्क पर विभिन्न प्रकार की फ़ाइलों या किसी भी सार्थक मानव-आपूर्ति डेटा की खोज करना चाहता है। यह 5 उपलब्ध नेटवर्कों: MainNet, Görli, Kovan, Rinkeby और Ropsten में से किसी पर उपयोगकर्ता द्वारा प्रदान की गई ब्लॉक आईडी या UNIX टाइमस्टैम्प की सीमा पर खोज करता है।
वास्तविक जीवन के मामले के लिए आप 2017 में किए गए इस प्रयोग को पढ़ सकते हैं। ब्लॉकचेन की अपरिवर्तनीयता वास्तव में एक दोधारी तलवार हो सकती है।
निम्नलिखित कमांड चलाएँ:
$ pip install git+https://github.com/litneet64/etherblob-explorer.git
अब यह आपके CLI से उपयोग के लिए तैयार है, नीचे आप कुछ सामान्य उपयोग उदाहरण पा सकते हैं!
पाँच Ethereum नेटवर्कों में से किसी पर खोजें:
यह उपकरण निम्नलिखित स्थानों पर खोज सकता है, या तो अलग-अलग या एक ही रन में इनमें से किसी भी संयोजन के साथ:
[*] Ethereum नेटवर्क पर 'प्राप्तकर्ता' पतों पर डेटा संग्रहीत करना संभव है क्योंकि ऐसे पते पर भेजने का कोई सत्यापन नहीं है जिसमें कोई संबद्ध खाता कुंजी नहीं है। इसका मतलब है कि आप कई 20-बाइट आकार के लेन-देन पर एक पेलोड तैयार करने के लिए मनमाने पतों पर लेन-देन कर सकते हैं (यह बहुत दुर्लभ है लेकिन कुछ CTF चुनौतियाँ भी ऐसी ही हैं)।
ये सभी विधियाँ या तो अलग-अलग या किसी भी संयोजन में उपयोग की जा सकती हैं:
binwalk का उपयोग करके डेटा के अंदर एम्बेडेड फ़ाइलों की खोज करें।file का लाभ उठाकर हेडर + मैजिक बाइट्स का उपयोग करके खोजें (डिफ़ॉल्ट विधि)।महत्वपूर्ण: यहाँ दिखाया गया क्रम आंतरिक रूप से अन्य विधियों के साथ खोजों को त्यागने के लिए उपयोग किया जाता है (जैसे यदि फ़ाइल 'एम्बेडेड फ़ाइलों' के माध्यम से मिलती है तो यह 'फ़ाइल हेडर', 'ASCII स्ट्रिंग डंप' या 'एंट्रॉपी' का उपयोग करके खोजने का प्रयास नहीं करेगा) क्योंकि यदि पिछली विधियाँ पहले से सफल रही हैं तो कुछ सार्थक मिलने की संभावना नहीं है।
-h) में मिलती हैं!.api-key) पर और इन दो ब्लॉक आईडी के बीच (सम्मिलित):$ etherblob 4081599 4081600
$ etherblob -K api.key 3134050 3145570 -M -H --network goerli
$ etherblob 4081599 4081600 --blocks --transactions -D extracted/
Jan 25 2021 19:00:00 और Jan 26 2021 19:00:00 के बीच प्रतिबद्ध ब्लॉकों की सीमा में:$ etherblob -t 1611601200 1611687600 --addresses
$ etherblob 3911697 3912697 -S --contracts -C 4
$ etherblob 4081599 4081600 --encrypted
$ etherblob 3911697 3912697 -E 4.0 5.0 -s
$ etherblob -t 1608836400 1608922800 --blocks --transactions --strings
$ etherblob 4081599 4081600 -U -S -M -H --blocks --transactions --addresses --contracts
उन्नत उपयोग मामलों और उनके साथ पाई गई चीज़ों के लिए विकी पर अधिक स्पष्टीकरण हैं!
usage: etherblob [-h] [--transactions] [--blocks] [--addresses] [--contracts]
[--network {main,goerli,kovan,rinkeby,ropsten}] [-H] [-M] [-U] [-E CUSTOM_ENTROPY CUSTOM_ENTROPY]
[--encrypted] [-S] [-C CONTRACT_POSITION] [-t] [-K API_KEY_PATH] [-k API_KEY] [-D OUTPUT_DIR]
[-o OUT_LOG] [-s] [-i [IGNORED_FMT [IGNORED_FMT ...]]] [--version]
start_block end_block
Ethereum नेटवर्क पर ब्लॉब फ़ाइलों को खोजने और निकालने का उपकरण।
स्थितीय तर्क:
start_block ब्लॉक आईडी श्रेणी का प्रारंभ।
end_block ब्लॉक आईडी श्रेणी का अंत।
वैकल्पिक तर्क:
-h, --help यह सहायता संदेश दिखाएँ और बाहर निकलें।
--transactions लेन-देन इनपुट पर ब्लॉब फ़ाइलें खोजें। डिफ़ॉल्ट खोज मोड।
--blocks ब्लॉक इनपुट पर ब्लॉब फ़ाइलें खोजें। यदि सक्षम किया जाता है, तब लेन-देन इनपुट जाँच अक्षम हो जाती है जब तक कि स्पष्ट रूप से सक्षम न किया जाए।
--addresses 'प्राप्तकर्ता' लेन-देन पतों पर ब्लॉब फ़ाइलें खोजें, क्योंकि Ethereum पर कोई भी मनमाने पते पर लेन-देन कर सकता है भले ही उसका कोई संबंधित स्वामी न हो (फिर भी बहुत सामान्य नहीं)। यदि सक्षम किया जाता है, तब लेन-देन इनपुट जाँच अक्षम हो जाती है जब तक कि स्पष्ट रूप से सक्षम न किया जाए।
--contracts अनुबंध के भंडारण पर ब्लॉब फ़ाइलें खोजें। यदि सक्षम किया जाता है, तब लेन-देन इनपुट जाँच अक्षम हो जाती है जब तक कि स्पष्ट रूप से सक्षम न किया जाए।
--network {main,goerli,kovan,rinkeby,ropsten}, -N {main,goerli,kovan,rinkeby,ropsten}
खोजने के लिए ब्लॉकचेन नेटवर्क चुनें। उपलब्ध विकल्प हैं Main, Goerli (Görli), Kovan, Rinkeby और Ropsten। MainNet डिफ़ॉल्ट नेटवर्क है। केस-असंवेदनशील।
-H, --file-header यदि सक्षम किया जाता है, तब डेटा (ब्लॉक, लेन-देन या पते से) पर मैजिक बाइट्स/फ़ाइल हेडर के माध्यम से फ़ाइल प्रारूप खोजें। डिफ़ॉल्ट रूप से सक्षम जब तक कि कोई अन्य विधि भी सक्षम न हो।
-M, --embedded यदि सक्षम किया जाता है, तब binwalk के माध्यम से डेटा (ब्लॉक, लेन-देन या पते से) पर एम्बेडेड फ़ाइलें खोजें। डिफ़ॉल्ट रूप से अक्षम क्योंकि पार्सिंग में अब अधिक समय लगता है।
-U, --unicode यदि सक्षम किया जाता है, तब एकत्रित डेटा (ब्लॉक, लेन-देन, पते) से UTF-8 पाठ वाली फ़ाइलों को खोजने और डंप करने का प्रयास करें, शैनन की एंट्रॉपी (3.5 और 5.0 के बीच) का उपयोग करके यदि उस डेटा पर पहले कोई अन्य पहचान योग्य फ़ाइल नहीं मिलती है। कई गलत सकारात्मक परिणाम उत्पन्न करता है।
-E CUSTOM_ENTROPY CUSTOM_ENTROPY, --custom-entropy CUSTOM_ENTROPY CUSTOM_ENTROPY
एकत्रित डेटा पर फ़ाइलों/डेटा की खोज के लिए अपनी स्वयं की एंट्रॉपी सीमाएँ (न्यूनतम और अधिकतम) परिभाषित करें।
--encrypted यदि सक्षम किया जाता है, तब विभिन्न खोज विधियों (ब्लॉक, लेन-देन, पते) के माध्यम से पाए गए एन्क्रिप्टेड/संपीड़ित डेटा को खोजने और डंप करने का प्रयास करें, शैनन की एंट्रॉपी (7.0 और 8.0 के बीच) का उपयोग करके यदि उस डेटा पर पहले कोई अन्य पहचान योग्य फ़ाइल नहीं मिलती है।
-S, --strings यदि सक्षम किया जाता है, तब एकत्रित डेटा (ब्लॉक, लेन-देन, पते) के अंदर पाई गई ASCII स्ट्रिंग को फ़ाइलों में खोजने और डंप करने का प्रयास करें यदि उस डेटा पर पहले कोई अन्य पहचान योग्य फ़ाइल नहीं मिलती है।
-C CONTRACT_POSITION, --contract-position CONTRACT_POSITION
अनुबंध के डेटा के अंदर तब तक खोजें जब तक कि उसके भंडारण सरणी पर (N-1)वें स्थान तक न पहुँच जाएँ। स्थानों में 32 बाइट्स के डेटा होते हैं। गणना 0 से शुरू होती है और यदि कोई कस्टम स्थान नहीं दिया गया है तो डिफ़ॉल्ट स्थान 15वाँ स्थान (कुल 16 इंडेक्स) है।
-t, --timestamps यदि सक्षम किया जाता है, तब प्रारंभ और अंत ब्लॉक आईडी को UNIX टाइमस्टैम्प के रूप में व्याख्यायित किया जाता है जो फिर उन विशिष्ट समयों के लिए निकटतम प्रतिबद्ध ब्लॉकों में हल हो जाते हैं।
-K API_KEY_PATH, --api-key-path API_KEY_PATH
प्रश्नों के लिए Etherscan API कुंजी वाली फ़ाइल का पथ। डिफ़ॉल्ट खोज स्थान '.api-key' है।
-k API_KEY, --api-key API_KEY
पैरामीटर के रूप में Etherscan API कुंजी। यदि दिया गया है तो '--api-key-path' को अनदेखा किया जाता है।
-D OUTPUT_DIR, --output-dir OUTPUT_DIR
निकाली गई फ़ाइलों के लिए आउट-डायरेक्टरी। डिफ़ॉल्ट 'ext_{प्रारंभ ब्लॉक}-{अंत ब्लॉक}' है।
-o OUT_LOG, --out-log OUT_LOG
लॉग के लिए आउट-फ़ाइल। डिफ़ॉल्ट 'etherblob_{प्रारंभ ब्लॉक}-{अंत ब्लॉक}.log' है।
-s, --save-transactions
यदि सक्षम किया जाता है, तब सभी लेन-देन और उनकी जानकारी फ़ाइल 'transactions_{प्रारंभ-ब्लॉक}-{अंत-ब्लॉक}.txt' पर संग्रहीत की जाती है।
-i [IGNORED_FMT [IGNORED_FMT ...]], --ignored-fmt [IGNORED_FMT [IGNORED_FMT ...]]
निष्कर्षण के लिए अनदेखा किए गए फ़ाइल प्रारूप। डिफ़ॉल्ट अनदेखा/सामान्य फ़ाइल प्रारूप 'ISO-8859 text' और 'Non-ISO extended-ASCII text' हैं। 'data' फ़ाइल प्रारूप हमेशा अनदेखा किया जाता है। फ़ाइल प्रारूप उप-स्ट्रिंग स्वीकार करता है और केस-असंवेदनशील मिलान करता है। '*' सभी फ़ाइल प्रारूपों को अनदेखा करने के लिए वाइल्डकार्ड है।
--version प्रोग्राम का संस्करण संख्या दिखाएँ और बाहर निकलें।
आधिकारिक GitHub रिपॉजिटरी 'https://github.com/litneet64/etherblob-explorer'