Δωρεάν βιβλιοθήκη Python για δημιουργία & διαχείριση μεγάλων αρχείων ZIP
Μια ισχυρή ανοιχτού κώδικα εξαιρετικά γρήγορη βιβλιοθήκη Python που επιτρέπει στους προγραμματιστές Python να φορτώνουν, εξάγουν & αναλύουν δεδομένα από περισσότερα από 30 διαφορετικά μορφότυπα αρχείων, συμπίεσης και συστημάτων αρχείων
Τι είναι η βιβλιοθήκη Unblob;
Το Unblob είναι μια απαραίτητη βιβλιοθήκη Python και εργαλείο γραμμής εντολών σχεδιασμένο για να απλοποιεί και να επιταχύνει την εξαγωγή δυαδικών μπλοκ—αρχείων που περιέχουν δεδομένα σε άγνωστες ή ιδιόκτητες μορφές, κοινά σε εικόνες υλικολογισμικού, αποτυπώματα μνήμης, πακέτα δικτύου ή κρυπτογραφημένα αρχεία. Αναπτύχθηκε αρχικά και συντηρείται από την ONEKEY για χρήση στην πλατφόρμα ανάλυσης παραγωγής τους, το Unblob αντιμετωπίζει με εξειδίκευση την πρόκληση της ανάλυσης αυτών των σύνθετων αρχείων υποστηρίζοντας πάνω από 30 διαφορετικές μορφές αρχείων, συμπίεσης και συστημάτων αρχείων. Επεξεργάζεται αποδοτικά μορφές όπως ZIP, TAR, GZIP, BZIP2, XZ, LZMA, SquashFS, CramFS, JFFS2, UBI/UBIFS και YAFFS2, εξάγοντας περιεχόμενο επαναληπτικά και αποκόπτοντας ακαθόριστα τμήματα που παραμένουν ανεξήγητα.
Δωρεάν για χρήση υπό την άδεια MIT, το Unblob είναι τόσο εξαιρετικά αποδοτικό όσο και απίστευτα ευέλικτο. Παρέχει αστραπιαία γρήγορη απόδοση αξιοποιώντας την πολυ-επεξεργασία, αποδοτικό κώδικα, αρχεία μνήμης-χαρτογράφησης και τη βιβλιοθήκη υψηλής απόδοσης αντιστοίχισης Hyperscan. Το εργαλείο ελαχιστοποιεί τα ψευδώς θετικά και τα επικαλυπτόμενα τμήματα εντοπίζοντας τις αρχικές και τελικές μετατοπίσεις χρησιμοποιώντας δοκιμασμένους κανόνες και πρότυπα μορφής. Επιπλέον, το Unblob διαθέτει ένα εύχρηστο API που επιτρέπει στους χρήστες να γράφουν προσαρμοσμένους χειριστές μορφής και εξαγωγείς γρήγορα, και υποστηρίζει δυναμικά φορτωμένα πρόσθετα για την επέκταση της βασικής λειτουργικότητας. Αυτό καθιστά το Unblob ένα απαραίτητο εργαλείο για όποιον χρειάζεται να αναλύσει σύνθετα, πολυεπίπεδα δυαδικά δεδομένα που περιέχουν συμπίεση, κρυπτογράφηση ή ενσωματωμένα συστήματα αρχείων.
Ξεκινώντας με το Unblob
Ο προτεινόμενος τρόπος εγκατάστασης του Unblob είναι μέσω του pypi.org. Παρακαλώ χρησιμοποιήστε την παρακάτω εντολή για μια ομαλή εγκατάσταση.
Εγκατάσταση της βιβλιοθήκης Unblob μέσω του PyPI
pip3 install unblob
Κλωνοποιήστε το αποθετήριο unblob από το GitHub
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)
Διεξαγωγή ανάλυσης αρχείων ELF μέσω του API Python
Η ανοιχτού κώδικα βιβλιοθήκη Unblob καθιστά εύκολο για τους προγραμματιστές λογισμικού να ανιχνεύουν και να εξάγουν αρχεία ELF από άγνωστα δυαδικά blob, καθώς και να προσδιορίζουν τις δυνατότητες και τα χαρακτηριστικά τους. Η βιβλιοθήκη υποστηρίζει τόσο αρχεία ELF 32-bit όσο και 64-bit, καθώς και διαφορετικές αρχιτεκτονικές όπως x86, x86_64, ARM, MIPS και PowerPC. Μπορεί επίσης να διαχειριστεί διάφορους τύπους αρχείων ELF, όπως εκτελέσιμα, κοινόχρηστες βιβλιοθήκες, αρχεία αντικειμένων, core dumps και μονάδες πυρήνα.
Εξαγωγή μεταδεδομένων μέσω του API Python
Η ανοιχτού κώδικα βιβλιοθήκη Unblob έχει προσθέσει υποστήριξη για τη δημιουργία ενός αρχείου μεταδεδομένων μέσα στις εφαρμογές Python της. Οι χρήστες μπορούν να χρησιμοποιήσουν την επιλογή --report όταν εκτελούν το Unblob ως εργαλείο γραμμής εντολών. Αυτή η επιλογή θα δημιουργήσει ένα αρχείο JSON που περιέχει πληροφορίες για τα εξαγόμενα αρχεία, όπως η διαδρομή, το μέγεθος, ο τύπος, το magic, η εντροπία και οι λεπτομέρειες των τμημάτων. Uers μπορούν να καθορίσουν το όνομα και τη θέση του αρχείου JSON ως όρισμα στην επιλογή --report. Στη συνέχεια, οι χρήστες μπορούν να προβάλουν ή να αναλύσουν το αρχείο metadata.json χρησιμοποιώντας οποιονδήποτε προβολέα ή αναλυτή JSON.