filesystems/sasquatch: New port: SquashFS extractor with patches for firmware analysis

The sasquatch project is a set of patches to the standard unsquashfs
utility (part of squashfs-tools) that attempts to add support for as
many hacked-up vendor-specific SquashFS implementations as possible.

It can be used in conjunction with binwalk to extract firmware images
where unsquashfs would fail.

https://gitlab.com/tgasiba/sasquatch/

Original project under: https://github.com/devttys0/sasquatch/

PR:	288914
This commit is contained in:
gatekeeper 2025-08-29 23:10:03 +03:00 committed by Vladimir Druzenko
parent 79997380a6
commit fc45d5b3cb
4 changed files with 55 additions and 0 deletions

View File

@ -110,6 +110,7 @@
SUBDIR += s3backer
SUBDIR += s3fs
SUBDIR += sandboxfs
SUBDIR += sasquatch
SUBDIR += scan_ffs
SUBDIR += securefs
SUBDIR += simple-mtpfs

View File

@ -0,0 +1,35 @@
PORTNAME= sasquatch
DISTVERSION= 4.3
CATEGORIES= filesystems sysutils
MAINTAINER= tiago.gasiba@gmail.com
COMMENT= SquashFS extractor with patches for firmware analysis
WWW= https://gitlab.com/tgasiba/sasquatch/
LICENSE= CPL GPLv2 LGPL21 PUBLIC
LICENSE_COMB= multi
LICENSE_NAME_CPL= Common Public License V. 1.0
LICENSE_NAME_PUBLIC= Public Domain
LICENSE_FILE_CPL= ${WRKSRC}/LZMA/lzmadaptive/CPL.html
LICENSE_FILE_GPLv2= ${WRKSRC}/LICENSE
LICENSE_FILE_LGPL21= ${WRKSRC}/LZMA/lzmadaptive/LGPL.txt
LICENSE_FILE_PUBLIC= ${WRKSRC}/LZMA/lzma465/lzma.txt
LICENSE_PERMS_CPL= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
LICENSE_PERMS_PUBLIC= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
LIB_DEPENDS= liblz4.so:archivers/liblz4 \
liblzo2.so:archivers/lzo2
USES= compiler:c++11-lang
USE_GITLAB= yes
GL_ACCOUNT= tgasiba
MAKE_ENV= CC="${CC}" \
CXX="${CXX}"
PLIST_FILES= bin/${PORTNAME}
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} ${STAGEDIR}${PREFIX}/bin
.include <bsd.port.mk>

View File

@ -0,0 +1,3 @@
TIMESTAMP = 1755444495
SHA256 (sasquatch-4.3.tar.bz2) = 3fa1f0f5be2d9be66e0f4f87f5690e4c770f87718c7861ae59943fe9eb0c585d
SIZE (sasquatch-4.3.tar.bz2) = 271643

View File

@ -0,0 +1,16 @@
The sasquatch project is a set of patches to the standard unsquashfs utility
(part of squashfs-tools) that attempts to add support for as many hacked-up
vendor-specific SquashFS implementations as possible.
It can be used in conjunction with binwalk to extract firmware images where
unsquashfs would fail, e.g.
If the vendor has done something simple like just muck a bit with the header
fields, sasquatch should sort it out.
If the vendor has made changes to the underlying LZMA compression options,
or to how these options are stored in the compressed data blocks, sasquatch
will attempt to automatically resolve such customizations via a brute-force
method.
Original project under: https://github.com/devttys0/sasquatch