Repolode
onekey-sec

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. 1

    使用 pip 从 PyPI 安装 unblob

    pip install unblob
  2. 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. 3

    验证所有解压工具是否可用

    unblob --show-external-dependencies
  4. 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 数据每日更新。

相关项目