papaw
github.com
What it is
papaw is a Linux executable packer for programs that include statically linked third-party components, aimed at devices with limited disk space. It compresses executables and bundles them with a decompressor of about 15–40 KB. Supported algorithms are LZMA2, LZMA1, Zstandard and Deflate, and packed executables can replace themselves on disk when run. The project is free and unencumbered software under the MIT license, and can be self-hosted. It uses Meson and can be included as a Meson subproject; the README recommends `custom_target()` for running `papawify`. Prebuilt static binaries are available through GitHub releases, with example assets for aarch64, arm, armeb, i386, mips, mipsel and x86_64. To support portability, the project avoids machine-specific assembly and newer system calls such as `fexecve()`. Optional very basic anti-debugging protection is intended to discourage trivial reverse-engineering techniques. The payload is extracted to a temporary file; when run as root, papaw mounts a tmpfs filesystem and lazily unmounts it before extraction.
Spec sheet
- Purpose
- papaw is a permissively licensed packer for executables with statically linked third-party components, intended for devices with limited disk space.Read 8 Oct 2026 · github.com
- Security
- papaw can optionally provide very basic anti-debugging protection intended to discourage trivial reverse-engineering techniques.Read 8 Oct 2026 · github.com
- License
- The project is released as free and unencumbered software under the MIT license.Read 8 Oct 2026 · github.com
- Anti-debugging
- It can optionally provide very basic anti-debugging protection intended to discourage trivial reverse-engineering techniques.Read 8 Oct 2026 · github.com
- Architecture coverage
- The v28 release lists example executable assets for aarch64, arm, armeb, i386, mips, mipsel, and x86_64.Read 8 Oct 2026 · github.com
- Build
- papaw uses Meson as its build system and can be used as a Meson subproject.Read 8 Oct 2026 · github.com
- Build integration
- papaw uses Meson and can be included as a Meson subproject, with custom_target() recommended for running papawify.Read 8 Oct 2026 · github.com
- Compression
- Supported algorithms are LZMA2, LZMA1, Zstandard, and Deflate.Read 8 Oct 2026 · github.com
- Download
- The README says prebuilt static binaries are available from the project's GitHub releases.Read 8 Oct 2026 · github.com
- Downloads
- The README says prebuilt static binaries are available through GitHub releases.Read 8 Oct 2026 · github.com
- Intended use
- The README describes papaw as designed for portability across devices and says it avoids machine-specific assembly and newer system calls such as fexecve().Read 8 Oct 2026 · github.com
- Maintainer
- The GitHub profile identifies the repository owner as Dima Krasner and describes his work as low-level development specializing in C, Go, porting, *nix, and distro development.Read 8 Oct 2026 · github.com
- Portability
- The project avoids machine-specific assembly and newer system calls such as fexecve() to support portability across devices.Read 8 Oct 2026 · github.com
- Release assets
- The v28 release lists example binaries for architectures including aarch64, ARM, i386, MIPS, and x86_64.Read 8 Oct 2026 · github.com
- Replacement
- Packed executables can replace themselves on disk when run.Read 8 Oct 2026 · github.com
- Self replacement
- Packed executables can replace themselves on disk when run.Read 8 Oct 2026 · github.com
- Size reduction
- papaw compresses executables and packages them with a small decompressor executable of about 15–40 KB.Read 8 Oct 2026 · github.com
- Temporary files
- The payload is extracted to a temporary file; when run as root, papaw mounts a tmpfs filesystem and lazily unmounts it before extraction.Read 8 Oct 2026 · github.com
Plans and prices
Strong points and limits
Strong points
- Free under the MIT license
- Supports four compression algorithms
- Prebuilt static binaries cover multiple architectures
- Can replace packed executables on disk
Limits
- Payload is extracted to a temporary file
- Anti-debugging protection is described as very basic
Who it suits
It suits developers packaging statically linked executables for Linux devices where disk space and portability matter. Meson users can include it as a subproject.
Verdict
papaw focuses on compressing portable Linux executables, with several algorithms and multi-architecture release assets. Its temporary-file extraction behavior is worth accounting for when planning deployment.
Where Specifiction places it
- Executable Packers#8 of 287.9