{
  "added_at": "2026-11-09",
  "additional_evidence_urls": [
    "https://github.com/devttys0/sasquatch/blob/bd864a1b037bf57ca7d64a292a60ba0d6459611f/build.sh",
    "https://github.com/devttys0/sasquatch/blob/bd864a1b037bf57ca7d64a292a60ba0d6459611f/patches/README.md",
    "https://github.com/devttys0/sasquatch/blob/bd864a1b037bf57ca7d64a292a60ba0d6459611f/patches/patch0.txt",
    "https://github.com/devttys0/sasquatch/pull/34",
    "https://github.com/devttys0/sasquatch/issues/36",
    "https://github.com/onekey-sec/unblob/blob/0f40c3c6940fa2bcfd2945f519fe8caf99e31e44/docs/installation.md"
  ],
  "category": "firmware",
  "description_en": "Patches to the unsquashfs utility from squashfs-tools 4.3 that try to read as many vendor-modified SquashFS implementations from embedded firmware as possible. Simple header changes are handled automatically; when a vendor has altered the LZMA compression options or how they are stored in data blocks, it tries to resolve them by brute force with added lzma-adaptive, lzma-alt and lzma-ddwrt decompressors. Extra options let analysts force the decompressor, SquashFS version, endianness and lzma-adaptive parameters and turn on trace output.",
  "description_zh": "针对 squashfs-tools 4.3 中 unsquashfs 工具的一组补丁，力求读取嵌入式固件中尽可能多的厂商改版 SquashFS 实现。头部字段的简单改动会被自动识别；若厂商改动了 LZMA 压缩参数或其在数据块中的存放方式，它会借助新增的 lzma-adaptive、lzma-alt 和 lzma-ddwrt 解压器以暴力尝试的方式加以识别。新增的命令行选项可让分析人员强制指定解压器、SquashFS 版本、字节序和 lzma-adaptive 参数，并开启跟踪输出。",
  "entry_url": "https://awesomerea.org/resources/sasquatch/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/sasquatch/",
  "evidence_url": "https://github.com/devttys0/sasquatch/blob/bd864a1b037bf57ca7d64a292a60ba0d6459611f/README.md",
  "group": "tools",
  "id": "sasquatch",
  "json_url": "https://awesomerea.org/resources/sasquatch/record.json",
  "kind": "tool",
  "markdown_url": "https://awesomerea.org/resources/sasquatch/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/sasquatch/index.md",
  "name": "sasquatch",
  "name_zh": "sasquatch 厂商改版 SquashFS 解包补丁",
  "record_type": "resource",
  "relationship": "foundation",
  "requirements": [
    "The README calls the patch set beta. Open issues report build failures with GCC 10 and later; unblob documents a separate ONEKEY package.",
    "build.sh downloads the squashfs-tools 4.3 tarball from SourceForge, applies patches/patch0.txt, builds, and installs with sudo make install; on apt systems it first installs build-essential and the liblzma, liblzo2 and zlib development packages with sudo.",
    "Input is a SquashFS image or firmware file the user supplies; the repository commits no firmware images. Its only files are the README, build.sh and the 1.1 MB patch, which adds bundled LZMA SDK decoder copies under their LGPL/CPL texts and, in the lzmalt decoder, a 289-line VxWorks type header (vxTypesOld.h) marked Copyright 1984-1997 Wind River Systems with no license notice.",
    "The repository has no license file. squashfs-tools is GPL-licensed; bundled LZMA decoder code has LGPL/CPL terms, and the included VxWorks type header has a copyright notice without a license."
  ],
  "requirements_zh": [
    "README 称该补丁集为 beta。公开问题报告 GCC 10 及更新版本的构建失败；unblob 文档使用独立的 ONEKEY 软件包。",
    "build.sh 会从 SourceForge 下载 squashfs-tools 4.3 源码包，应用 patches/patch0.txt，编译后以 sudo make install 安装；在使用 apt 的系统上，它会先用 sudo 安装 build-essential 以及 liblzma、liblzo2 和 zlib 的开发包。",
    "输入为用户自行提供的 SquashFS 镜像或固件文件；仓库没有提交任何固件镜像。仓库只有 README、build.sh 和这个 1.1 MB 的补丁；补丁加入了附带 LGPL/CPL 文本的 LZMA SDK 解码器副本，并在 lzmalt 解码器中加入了一个 289 行的 VxWorks 类型头文件（vxTypesOld.h），标注 Copyright 1984-1997 Wind River Systems，且没有任何许可声明。",
    "仓库没有许可证文件。squashfs-tools 采用 GPL；附带的 LZMA 解码器代码带 LGPL/CPL 条款，所含 VxWorks 类型头文件有版权声明但没有许可证。"
  ],
  "targets": [
    "firmware"
  ],
  "url": "https://github.com/devttys0/sasquatch",
  "verification": "source-reviewed",
  "verified_at": "2026-10-27"
}
