
ابحث واستخرج ملفات blob على شبكة إيثريوم بلوكتشين
ابحث واستخرج ملفات blob على شبكة Ethereum باستخدام واجهة برمجة تطبيقات Etherscan.io.

مستكشف EtherBlob هو أداة مخصصة للباحثين والمحللين ولاعبي CTF أو أي شخص فضولي يرغب في البحث عن أنواع مختلفة من الملفات أو أي بيانات ذات معنى قدمها البشر على شبكة سلسلة كتل Ethereum. يبحث عبر نطاق يحدده المستخدم من معرفات الكتل أو الطوابع الزمنية UNIX على أي من الشبكات الخمس المتاحة: MainNet و Görli و Kovan و Rinkeby و Ropsten.
لحالة استخدام واقعية يمكنك قراءة هذه التجربة التي أجريت في عام 2017. إن عدم قابلية تغيير سلسلة الكتل يمكن أن يكون حقاً سيفاً ذا حدين.
قم بتشغيل الأمر التالي:
$ pip install git+https://github.com/litneet64/etherblob-explorer.git
الآن أصبح جاهزاً للاستخدام من سطر الأوامر، يمكنك العثور على بعض الأمثلة الشائعة للاستخدام أدناه!
ابحث على أي من شبكات 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
هناك المزيد من الشروحات لحالات الاستخدام المتقدمة والأشياء التي تم العثور عليها باستخدامها على wiki!
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
أداة للبحث واستخراج ملفات blob على شبكة Ethereum.
الوسائط الموضعية:
start_block بداية نطاق معرف الكتلة.
end_block نهاية نطاق معرف الكتلة.
الوسائط الاختيارية:
-h, --help إظهار رسالة المساعدة هذه والخروج.
--transactions البحث عن ملفات blob في مدخلات المعاملات. وضع البحث الافتراضي.
--blocks البحث عن ملفات blob في مدخلات الكتل. إذا تم تمكينه، يتم تعطيل فحص مدخلات المعاملة ما لم يتم تمكينها صراحة.
--addresses البحث عن ملفات blob في عناوين المعاملات "إلى"، حيث يمكن لأي شخص على Ethereum إجراء معاملات إلى عنوان عشوائي حتى لو لم يكن له مالك مرتبط (لا يزال غير شائع جداً). إذا تم تمكينه، يتم تعطيل فحص مدخلات المعاملة ما لم يتم تمكينها صراحة.
--contracts البحث عن ملفات blob في تخزين العقد. إذا تم تمكينه، يتم تعطيل فحص مدخلات المعاملة ما لم يتم تمكينها صراحة.
--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 والموضع الافتراضي هو الموضع الخامس عشر (16 مؤشراً في المجموع) إذا لم يتم إعطاء موضع مخصص.
-t, --timestamps إذا تم تمكينه، فسيتم تفسير معرفات كتلة البداية والنهاية كطوابع زمنية UNIX يتم حلها بعد ذلك إلى أقرب الكتل التي تم التعهد بها لتلك الأوقات المحددة.
-K API_KEY_PATH, --api-key-path API_KEY_PATH
المسار إلى ملف يحتوي على مفتاح API لـ Etherscan للاستعلامات. موقع البحث الافتراضي هو '.api-key'.
-k API_KEY, --api-key API_KEY
مفتاح API لـ Etherscan كمعامل. إذا تم إعطاؤه، يتم تجاهل '--api-key-path'.
-D OUTPUT_DIR, --output-dir OUTPUT_DIR
دليل الإخراج للملفات المستخرجة. الافتراضي هو 'ext_{start block}-{end block}'.
-o OUT_LOG, --out-log OUT_LOG
ملف الإخراج للسجلات. الافتراضي هو 'etherblob_{start block}-{end block}.log'.
-s, --save-transactions
إذا تم تمكينه، يتم تخزين جميع المعاملات ومعلوماتها في ملف 'transactions_{start-block}-{end-block}.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'