一款面向逆向工程与二进制分析的跨平台十六进制编辑器,内置用于解析文件结构的模式语言。
onekey-sec/unblob
命令行工具,可递归解包 78 种以上归档、压缩和文件系统格式,并切出二进制镜像中的未知数据块。
- Star
- 2,634
- Fork
- 159
- 未关闭 Issue
- 56
- 最近提交
- 前天
这是什么?
unblob 接收一个未知的二进制镜像(例如固件),找出其中嵌套的容器格式并逐层解包。支持的格式包括 SquashFS、JFFS2、UBI/UBIFS、ext、CPIO、ZIP、7-Zip、gzip、XZ、LZMA 等归档、压缩和文件系统格式,并可按可配置的深度递归提取内容。
对于无法匹配任何已知格式的数据,工具会将其切出并作为未知块保存,同时自动识别 null 和 0xFF 填充。对这些数据块计算熵值和卡方检验,有助于判断是否为加密或压缩内容。生成的 JSON 报告记录了每个块的偏移、大小、熵值、所有者、权限和时间戳等信息。
工具可以普通用户身份运行,默认使用所有 CPU 核心。可通过插件路径在运行时加载自定义格式处理器。支持 pip、Docker、Nix 和 Kali Linux 安装,部分功能依赖若干外部解包工具。
核心功能
- 01支持 SquashFS、JFFS2、UBIFS、ZIP 等 78 种以上归档、压缩和文件系统格式。
- 02按可配置深度递归提取嵌套容器。
- 03依据格式标准识别每个数据块的起止偏移。
- 04切出未知数据并自动识别 null 或 0xFF 填充。
- 05对未知数据块计算香农熵和卡方值。
- 06生成包含偏移、大小、所有者和权限的 JSON 报告。
- 07支持在运行时通过插件路径加载自定义格式处理器。
适用场景
- 逆向工程时解包固件镜像,检查其中的文件系统。
- 借助熵值结果定位二进制镜像中的加密或压缩区域。
- 在 CI 或分析流水线中批量提取设备转储中嵌入的归档文件。
- 通过自定义处理器为私有容器格式增加支持。
快速上手
- 1
使用 pip 从 PyPI 安装 unblob
pip install unblob - 2
在 Ubuntu/Debian 上安装所需的外部解压工具
sudo apt install android-sdk-libsparse-utils e2fsprogs p7zip-full unar zlib1g-dev liblzo2-dev lzop lziprecover libhyperscan-dev zstd lz4 - 3
验证所有解压工具是否可用
unblob --show-external-dependencies - 4
解压固件文件
unblob firmware.bin
使用前须知
- 除非使用 Docker,否则需要单独安装多个外部解压工具。
- SquashFS 支持还需要另行安装 sasquatch 工具。
收录于专题
标签
常见问题
- unblob 是什么?
- 命令行工具,可递归解包 78 种以上归档、压缩和文件系统格式,并切出二进制镜像中的未知数据块。 unblob 接收一个未知的二进制镜像(例如固件),找出其中嵌套的容器格式并逐层解包。支持的格式包括 SquashFS、JFFS2、UBI/UBIFS、ext、CPIO、ZIP、7-Zip、gzip、XZ、LZMA 等归档、压缩和文件系统格式,并可按可配置的深度递归提取内容。
- unblob 可以免费使用吗?用的什么许可证?
- unblob 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- unblob 还在维护吗?
- 活跃维护中。unblob 最近一次提交是在 2026年11月5日。
- unblob 适合用来做什么?
- 逆向工程时解包固件镜像,检查其中的文件系统。 借助熵值结果定位二进制镜像中的加密或压缩区域。 在 CI 或分析流水线中批量提取设备转储中嵌入的归档文件。 通过自定义处理器为私有容器格式增加支持。
- unblob 怎么安装和运行?
- 使用 pip 从 PyPI 安装 unblob: pip install unblob 在 Ubuntu/Debian 上安装所需的外部解压工具: sudo apt install android-sdk-libsparse-utils e2fsprogs p7zip-full unar zlib1g-dev liblzo2-dev lzop lziprecover libhyperscan-dev zstd lz4 验证所有解压工具是否可用: unblob --show-external-dependencies 解压固件文件: unblob firmware.bin
- 在哪里获取 unblob?
- 源代码和安装说明在 GitHub 上:https://github.com/onekey-sec/unblob
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
5.6万+85 本周2607C++GPL-2.0维护活跃更新于 30天前
开源逆向工程框架与命令行工具集,用于分析、反汇编、调试和模拟二进制程序。
2.5万+121 本周3420COther更新于 昨天
一个类 UNIX 的逆向工程框架与命令行工具集,用于分析二进制文件、反汇编代码和调试程序。
4138+41 本周694CLGPL-3.0更新于 前天
用 Rust 编写的固件分析工具,可识别并按需提取嵌入在其他文件中的文件和数据。
1.5万+26 本周1869RustMIT更新于 3个月前
一款桌面应用与命令行工具,可原地解压超大 ZIP、7z、tar 及分卷压缩包,边解压边释放压缩包占用的空间,减少所需磁盘余量。
2576+228 本周84RustApache-2.0维护活跃更新于 前天
终端命令行工具,用于压缩、解压和列出多种格式的归档文件,并根据扩展名自动识别格式。
3815+8 本周164RustOther维护活跃更新于 19天前