مكتبة بايثون مجانية لإنشاء وإدارة أرشيفات ZIP الكبيرة

مكتبة بايثون قوية ومفتوحة المصدر وسريعة جدًا تمكّن مطوري بايثون من تحميل واستخراج وتحليل البيانات من أكثر من 30 تنسيقًا مختلفًا للأرشيف والضغط وأنظمة الملفات

ما هي مكتبة Unblob؟

Unblob هي مكتبة بايثون أساسية وأداة سطر أوامر صُممت لتبسيط وتسريع استخراج الكتل الثنائية—ملفات تحتوي على بيانات بصيغ غير معروفة أو مملوكة عادةً ما توجد في صور البرامج الثابتة، تفريغ الذاكرة، حزم الشبكة، أو الأرشيفات المشفرة. تم تطويرها وصيانتها أصلاً من قبل ONEKEY لاستخدامها في منصة تحليل الإنتاج الخاصة بهم، وتتعامل Unblob بمهارة مع تحدي تحليل هذه الملفات المعقدة من خلال دعم أكثر من 30 صيغة مختلفة للأرشيف، الضغط، وأنظمة الملفات. تقوم بمعالجة الصيغ مثل ZIP، TAR، GZIP، BZIP2، XZ، LZMA، SquashFS، CramFS، JFFS2، UBI/UBIFS، وYAFFS2 بكفاءة، مستخرجة المحتوى بشكل متكرر ومقلمة القطع غير المحددة التي لا يزال لم يتم حسابها.

مجانية الاستخدام بموجب ترخيص MIT، Unblob فعّالة للغاية ومتعددة الاستخدامات بشكل لا يصدق. توفر أداءً سريعًا للغاية من خلال الاستفادة من المعالجة المتعددة، والكود الفعال، والملفات ذات التخطيط في الذاكرة، ومكتبة المطابقة عالية الأداء Hyperscan. يقلل الأداة من الإيجابيات الكاذبة والكتل المتداخلة عن طريق تحديد إزاحات البداية والنهاية باستخدام قواعد ومعايير تنسيق مجربة في المعارك. بالإضافة إلى ذلك، تتميز Unblob بواجهة برمجة تطبيقات سهلة الاستخدام تسمح للمستخدمين بكتابة معالجات تنسيقات مخصصة ومستخرجات بسرعة، وتدعم الإضافات المحملة ديناميكيًا لتوسيع وظائفها الأساسية. يجعل ذلك Unblob أداة لا غنى عنها لأي شخص يحتاج إلى تحليل بيانات ثنائية معقدة ومتعددة الطبقات تحتوي على ضغط أو تشفير أو أنظمة ملفات مدمجة.

Previous Next

البدء مع Unblob

الطريقة الموصى بها لتثبيت Unblob هي باستخدام pypi.org. يرجى استخدام الأمر التالي لتثبيت سلس.

تثبيت مكتبة Unblob عبر PyPI

 pip3 install unblob 

استنساخ مستودع unblob من GitHub

git clone https://github.com/onekey-sec/unblob.git 
يمكن أيضًا تثبيته يدويًا؛ قم بتنزيل أحدث ملفات الإصدار مباشرةً من مستودع GitHub.

استخراج الصيغ المعروفة باستخدام مكتبة بايثون

تتضمن مكتبة Unblob المفتوحة المصدر دعمًا لاستخراج المحتوى من صيغ ملفات مختلفة داخل تطبيقات بايثون. تدعم المكتبة أكثر من 30 أرشيفًا وصيغ ضغط وأنظمة ملفات. يرجى تذكر أنه لاستخدام المكتبة مع جميع الصيغ المدعومة، يجب تثبيت جميع المستخرجين. يمكن للمستخدمين استخدام خيارات متعددة لتخصيص سلوك المكتبة، مثل تحديد دليل الإخراج، عمق التكرار، مستوى التفصيل، أو صيغة التقرير. يمكن للمطورين استخدام طريقة extract_chunk لاستخراج محتوى كل جزء إلى دليل إخراج محدد. فيما يلي مقتطف شفرة مثال يوضح كيفية استخدام المكتبة لاستخراج المحتوى إلى دليل إخراج داخل تطبيقات بايثون.

كيف تُستخرج المحتوى إلى دليل الإخراج باستخدام مكتبة بايثون؟

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)

إجراء تحليل ملفات ELF عبر واجهة برمجة تطبيقات بايثون

تسهل مكتبة Unblob المفتوحة المصدر على مطوري البرمجيات اكتشاف واستخراج ملفات ELF من كتل ثنائية غير معروفة، بالإضافة إلى تحديد قدراتها وميزاتّها. تدعم المكتبة ملفات ELF ذات 32‑بت و64‑بت، وكذلك معمارية مختلفة مثل x86، x86_64، ARM، MIPS، وPowerPC. كما يمكنها التعامل مع أنواع مختلفة من ملفات ELF، مثل الملفات التنفيذية، المكتبات المشتركة، ملفات الكائنات، تفريغ الذاكرة، ووحدات النواة.

استخراج البيانات الوصفية عبر واجهة برمجة تطبيقات بايثون

أضافت مكتبة Unblob المفتوحة المصدر دعمًا لإنشاء ملف بيانات تعريف داخل تطبيقات بايثون الخاصة بها. يمكن للمستخدمين استخدام خيار --report عند تشغيل Unblob كأداة سطر أوامر. سيولد هذا الخيار ملف JSON يحتوي على معلومات حول الملفات المستخرجة، مثل المسار، الحجم، النوع، السحر (magic)، الإنتروبيا، وتفاصيل القطع. يمكن للمستخدمين تحديد اسم وموقع ملف JSON كمعامل لخيار --report. ثم يمكن للمستخدمين عرض أو تحليل ملف metadata.json باستخدام أي عارض أو محلل JSON.

 عربي