Editor hexadecimal multiplataforma para ingeniería inversa y análisis binario, con un lenguaje de patrones para interpretar estructuras de archivos.
onekey-sec/unblob
Herramienta de línea de comandos que extrae recursivamente archivos de más de 78 formatos de archivo, compresión y sistemas de archivos, y recupera fragmentos desconocidos de blobs binarios.
- Estrellas
- 2,637
- Forks
- 159
- Issues abiertos
- 56
- Último commit
- hace 5 horas
¿Qué es?
unblob recibe un blob binario desconocido, como una imagen de firmware, y detecta los formatos contenedores que contiene. Analiza formatos conocidos de archivo, compresión y sistemas de archivos, como SquashFS, JFFS2, UBI/UBIFS, ext, CPIO, ZIP, 7-Zip, gzip, XZ y LZMA, y luego extrae su contenido de forma recursiva hasta una profundidad configurable.
Los datos que no coinciden con ningún formato conocido se recuperan como fragmentos desconocidos, y el relleno con valores null y 0xFF se identifica automáticamente. El análisis de entropía y chi-cuadrado de estos fragmentos ayuda a detectar regiones cifradas o comprimidas. Un informe JSON registra los desplazamientos, tamaños, entropía, propietarios, permisos y marcas de tiempo de los fragmentos.
La herramienta se ejecuta como usuario normal y, de forma predeterminada, usa varios núcleos de CPU. Se pueden cargar controladores de formatos personalizados en tiempo de ejecución mediante una ruta de plugins. Se puede instalar con pip, Docker, Nix y los paquetes de Kali Linux, y depende de varias utilidades externas de extracción.
Funciones clave
- 01Admite más de 78 formatos de archivo, compresión y sistemas de archivos, como SquashFS, JFFS2, UBIFS y ZIP.
- 02Extrae contenedores anidados de forma recursiva hasta una profundidad configurable.
- 03Detecta los desplazamientos de inicio y fin de cada fragmento según el estándar del formato.
- 04Recupera datos desconocidos e identifica automáticamente el relleno con valores null o 0xFF.
- 05Calcula la entropía de Shannon y los valores de chi-cuadrado de los fragmentos desconocidos.
- 06Genera informes JSON con desplazamientos, tamaños, propietarios y permisos.
- 07Admite controladores de formatos personalizados mediante una ruta de plugins en tiempo de ejecución.
Casos de uso
- Desempaquetar imágenes de firmware para inspeccionar sus sistemas de archivos durante la ingeniería inversa.
- Localizar regiones cifradas o comprimidas en un blob binario mediante los resultados de entropía.
- Extraer en lote archivos incrustados de volcados de dispositivos en una canalización de CI o análisis.
- Añadir compatibilidad con un formato contenedor propietario mediante un controlador personalizado.
Inicio rápido
- 1
Instala unblob desde PyPI con pip
pip install unblob - 2
Instala las herramientas externas de extracción necesarias en Ubuntu/Debian
sudo apt install android-sdk-libsparse-utils e2fsprogs p7zip-full unar zlib1g-dev liblzo2-dev lzop lziprecover libhyperscan-dev zstd lz4 - 3
Comprueba que todas las herramientas de extracción estén disponibles
unblob --show-external-dependencies - 4
Extrae un archivo de firmware
unblob firmware.bin
Antes de usarlo
- Si no usas Docker, tendrás que instalar varias herramientas externas de extracción por separado.
- Para admitir SquashFS, necesitas instalar por separado una herramienta adicional: sasquatch.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es unblob?
- Herramienta de línea de comandos que extrae recursivamente archivos de más de 78 formatos de archivo, compresión y sistemas de archivos, y recupera fragmentos desconocidos de blobs binarios. unblob recibe un blob binario desconocido, como una imagen de firmware, y detecta los formatos contenedores que contiene. Analiza formatos conocidos de archivo, compresión y sistemas de archivos, como SquashFS, JFFS2, UBI/UBIFS, ext, CPIO, ZIP, 7-Zip, gzip, XZ y LZMA, y luego extrae su contenido de forma recursiva hasta una profundidad configurable.
- ¿unblob es gratuito? ¿Qué licencia tiene?
- unblob es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿unblob sigue mantenido?
- Mantenimiento activo. El último commit de unblob fue el 7 nov 2026.
- ¿Para qué puedo usar unblob?
- Desempaquetar imágenes de firmware para inspeccionar sus sistemas de archivos durante la ingeniería inversa. Localizar regiones cifradas o comprimidas en un blob binario mediante los resultados de entropía. Extraer en lote archivos incrustados de volcados de dispositivos en una canalización de CI o análisis. Añadir compatibilidad con un formato contenedor propietario mediante un controlador personalizado.
- ¿Cómo se instala unblob?
- Instala unblob desde PyPI con pip: pip install unblob Instala las herramientas externas de extracción necesarias en Ubuntu/Debian: sudo apt install android-sdk-libsparse-utils e2fsprogs p7zip-full unar zlib1g-dev liblzo2-dev lzop lziprecover libhyperscan-dev zstd lz4 Comprueba que todas las herramientas de extracción estén disponibles: unblob --show-external-dependencies Extrae un archivo de firmware: unblob firmware.bin
- ¿Dónde consigo unblob?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/onekey-sec/unblob
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Framework libre de ingeniería inversa y conjunto de herramientas de línea de comandos para analizar, desensamblar, depurar y emular binarios en sistemas tipo Unix.
Framework de ingeniería inversa para sistemas tipo UNIX y conjunto de herramientas de línea de comandos para analizar binarios, desensamblar código y depurar programas.
Herramienta de análisis de firmware basada en Rust que identifica y, de forma opcional, extrae archivos y datos incrustados en otros archivos.
Aplicación de escritorio y CLI que extrae archivos ZIP, 7z, tar y archivos divididos de gran tamaño sobre la marcha, liberando espacio a medida que extrae su contenido.
Una CLI de terminal para comprimir, descomprimir y listar archivos comprimidos en muchos formatos, detectándolos por la extensión.