papaw vs zELF
papaw
github.comzELF
github.comSide by side
| Figure | papaw | zELF |
|---|---|---|
| Price from | Free | — |
| Free plan | Yes | — |
| Free trial | — | — |
| Open source | — | — |
| Linux | Yes | Yes |
| Self-hosted | Yes | — |
| Plans published | 1 | 0 |
| Spec score · Executable Packers | 7.9 (#8) | 6.7 (#24) |
| Compression | Supported algorithms are LZMA2, LZMA1, Zstandard, and Deflate. | It includes 22 compression codecs, including LZ4, LZMA, ZSTD, and LZHAM. |
| Downloads | The README says prebuilt static binaries are available through GitHub releases. | The v0.91 release provides dynamic and static Linux builds for amd64 and aarch64, including Debian, Fedora/RHEL/openSUSE, and Alpine packages plus portable archives. |
| License | The project is released as free and unencumbered software under the MIT license. | The project is released under GPLv3, subject to licenses of bundled components. |
| Purpose | papaw is a permissively licensed packer for executables with statically linked third-party components, intended for devices with limited disk space. | zELF packs Linux ELF64 binaries to reduce their size and provide efficient runtime unpacking. |
| Security | papaw can optionally provide very basic anti-debugging protection intended to discourage trivial reverse-engineering techniques. | The maker says zELF is not designed for code obfuscation, concealment, or antivirus evasion, and its source code is openly available. |
Plans
In their own words
papaw
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.