ספריית פייתון חינמית ליצירה וניהול של ארכיוני ZIP גדולים

ספריית פייתון בקוד פתוח חזקה מאוד ומהירה במיוחד המאפשרת למפתחי פייתון לטעון, לחלץ ולנתח נתונים מיותר מ-30 פורמטים שונים של ארכיונים, דחיסה ומערכות קבצים

מהי ספריית Unblob?

Unblob היא ספריית פייתון חיונית וכלי שורת פקודה שנועדו לפשט ולהאיץ את חילוץ ה‑binary blobs — קבצים המכילים נתונים בפורמטים לא ידועים או קנייניים שנפוצים בתמונות קושחה, דמפיות זיכרון, חבילות רשת או ארכיונים מוצפנים. במקור פותחה ומתוחזקת על ידי ONEKEY לשימוש בפלטפורמת ניתוח הייצור שלהם, Unblob מתמודדת במומחיות עם האתגר של ניתוח קבצים מורכבים אלו על‑ידי תמיכה ביותר מ‑30 פורמטים שונים של ארכיונים, דחיסה ומערכות קבצים. היא מעבדת ביעילות פורמטים כגון ZIP, TAR, GZIP, BZIP2, XZ, LZMA, SquashFS, CramFS, JFFS2, UBI/UBIFS, ו‑YAFFS2, ומבצעת חילוץ רקורסיבי של תוכן וחותכת קטעים לא מזוהים שנשארים ללא חשבון.

חינמי לשימוש תחת רישיון MIT, Unblob הוא גם יעיל ביותר וגם בעל גמישות מדהימה. הוא מספק ביצועים מהירים במיוחד על ידי ניצול ריבוי תהליכים, קוד יעיל, קבצים ממופים בזיכרון, וספריית ההתאמה בעלת ביצועים גבוהים Hyperscan. הכלי מצמצם תוצאות חיוביות שגויות וקטעים חופפים על ידי זיהוי תחומי ההתחלה והסיום באמצעות כללים ותקני פורמט שנבדקו בקרב. בנוסף, ל‑Unblob יש API קל לשימוש המאפשר למשתמשים לכתוב מטפלי פורמט מותאמים אישית ומחלצים במהירות, והוא תומך בתוספים נטענים דינמית להרחבת הפונקציונליות המרכזית שלו. זה עושה את 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 באמצעות API של פייתון

ספריית הקוד הפתוח Unblob מאפשרת למפתחים לאתר ולחלץ קבצי ELF מתוך בלובים בינריים לא ידועים, וכן לזהות את היכולות והתכונות שלהם. הספרייה תומכת בקבצי ELF של 32‑ביט ו‑64‑ביט, וכן בארכיטקטורות שונות כגון x86, x86_64, ARM, MIPS, ו‑PowerPC. היא יכולה גם להתמודד עם סוגים שונים של קבצי ELF, כגון קבצי הרצה, ספריות משותפות, קבצי אובייקט, דאמפי ליבה ומודולי קרנל.

חילוץ מטא-נתונים באמצעות API של פייתון

ספריית הקוד הפתוח Unblob הוסיפה תמיכה ביצירת קובץ מטא‑נתונים בתוך יישומי פייתון שלהם. משתמשים יכולים להשתמש באפשרות ‎--report כאשר מריצים את Unblob ככלי שורת פקודה. אפשרות זו תיצור קובץ JSON שמכיל מידע על הקבצים שחולצו, כגון הנתיב, הגודל, הסוג, הקסם, האנתרופיה ופרטי החלקים. משתמשים יכולים לציין את שם ומיקום קובץ ה‑JSON כארגומנט לאפשרות ‎--report. לאחר מכן ניתן לצפות או לנתח את קובץ metadata.json באמצעות כל מציג או מפענח JSON.

 עִברִית