Безплатна 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 файлове чрез Python API
Отвореният код на библиотеката Unblob улеснява софтуерните разработчици да откриват и извличат ELF файлове от неизвестни бинарни блобове, както и да идентифицират техните възможности и характеристики. Библиотеката поддържа както 32‑битови, така и 64‑битови ELF файлове, както и различни архитектури като x86, x86_64, ARM, MIPS и PowerPC. Тя също така може да работи с различни типове ELF файлове, като изпълними файлове, споделени библиотеки, обектни файлове, core dump‑ове и kernel модули.
Извличане на метаданни чрез Python API
Отвореният код на библиотеката Unblob включва поддръжка за генериране на файл с метаданни в техните Python приложения. Потребителите могат да използват опцията --report, когато стартират Unblob като инструмент от командния ред. Тази опция ще генерира JSON файл, който съдържа информация за извлечените файлове, като път, размер, тип, магически номер, ентропия и детайли за блоковете. Потребителите могат да зададат името и местоположението на JSON файла като аргумент към опцията --report. След това потребителите могат да преглеждат или анализират файла metadata.json, използвайки всеки JSON прегледач или парсер.