Usage:
sapblob [options] <input-file>
Options:
-o, --output <path> Write decompressed payload to this file.
Default: best-effort detected extension with .bin fallback
-a, --analyze Inspect the SAP wrapper without writing output.
-t, --identify-type Decompress in memory and identify the recovered
payload type from magic bytes.
-j, --json Print machine-readable JSON output.
-f, --force Overwrite an existing output file.
-V, --version Show version information.
-h, --help Show this help text.
Output naming rules
By default, the CLI writes the recovered payload next to the input file
and tries to choose a matching extension from magic bytes.
Known types currently map to practical extensions such as .pdf,
.jpg, .png, .zip, .xml,
and .json. If the recovered payload cannot be identified
confidently, the fallback extension is .bin.
What --identify-type actually does
It does not guess from the outer SAP wrapper. It first recovers the
payload bytes in memory, then compares the beginning of the result to
common file signatures.
That makes it useful for convenience and triage, but it is still lighter
than full file forensics.
Common command patterns
sapblob example.blob
sapblob example.blob --output recovered.pdf
sapblob example.blob --analyze
sapblob example.blob --identify-type
sapblob example.blob --json --analyze
sapblob example.blob --json --identify-type
sapblob example.blob --output recovered.pdf --force
sapblob --help
sapblob --version
Build from source
go test ./...
go build ./cmd/sapblob
Install with Go
go install github.com/umsername/sap-blob-decompress/cmd/sapblob@latest
Release installers
# Linux / macOS
curl -fsSL https://raw.githubusercontent.com/umsername/sap-blob-decompress/main/scripts/install.sh | bash
# Windows PowerShell
iwr https://raw.githubusercontent.com/umsername/sap-blob-decompress/main/scripts/install.ps1 -UseBasicParsing | iex
For release archives, platform notes, and direct GitHub links, use the Install page.