EVERYTHING XIAOMI
Get listed

zELF

zELF is a free, open-source Linux tool that packs ELF64 binaries to reduce their size while enabling runtime unpacking.

Place
#23 of 28
Score
5.3
zELF's website

What zELF is

zELF is a free, open-source Linux tool that packs ELF64 binaries to reduce their size while enabling runtime unpacking. It supports x86_64 and AArch64 (arm64) executables, including static and dynamic/PIE binaries; 32-bit ELF is unsupported. Its 22 compression codecs include LZ4, LZMA, ZSTD, and LZHAM. BCJ and KanziEXE filters, trained decision-tree selection, and modes that test multiple codec and filter combinations help find a smaller output. The -best mode tries three predicted codecs, while -crazy tries all eligible codecs and chooses the smallest result. zELF validates headers and segments and can create or unpack .zlf archives, including self-extracting outputs. Its modular design allows developers to integrate additional codecs. The v0.91 release includes dynamic and static Linux builds for amd64 and aarch64, with distribution packages and portable archives. Dynamic builds use system libraries; static builds are self-contained. The packer needs matching target stubs for the architecture being packed. The project is released under GPLv3, subject to bundled-component licenses, and is intended for legitimate optimization, embedded systems, demos, education, and ELF experimentation.

Good

  • Supports x86_64 and AArch64 ELF64 binaries.
  • Includes 22 compression codecs.
  • Can create and unpack self-extracting .zlf archives.
  • Offers dynamic and self-contained static builds.

Watch out

  • Does not support 32-bit ELF.
  • Requires matching target stubs for the architecture.
  • Some codecs can require substantial memory.
  • GPLv3 applies, subject to bundled-component licenses.

Who it suits

zELF suits Linux developers and users working with supported ELF64 architectures who want to reduce binary size. The project also describes uses in embedded systems, demos, education, and ELF experimentation.

Verdict

zELF offers multiple codecs and output-search modes for Linux ELF64 packing, with archives and static or dynamic builds. Check architecture support, matching stubs, and memory needs before using it.

The facts

Each one read from zELF's own pages, with the date it was checked.

What it does

Archive features
It can create and unpack .zlf archives, including self-extracting archive outputs.checked 11 Oct 2026
Archives
It can create and unpack .zlf archives, including self-extracting archive outputs.checked 11 Oct 2026
Binary formats
It supports static and dynamic/PIE ELF64 binaries and does not support 32-bit ELF.checked 11 Oct 2026
Binary support
It handles static and dynamic/PIE binaries, with header and segment validation.checked 11 Oct 2026
Build and distribution
The README documents building the packer and producing .deb or .tar.gz packages; the packer must have matching target stubs available for the architecture being packed.checked 11 Oct 2026
Build options
The release describes dynamic builds as linked against system libraries and static builds as self-contained without external dependencies.checked 11 Oct 2026
Compression
It includes 22 compression codecs, including LZ4, LZMA, ZSTD, and LZHAM.checked 11 Oct 2026
Downloads
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.checked 11 Oct 2026
Executable filters
It provides BCJ and KanziEXE filters, with automatic selection via trained decision trees.checked 11 Oct 2026
Extensibility
The maker describes zELF as modular and documents how developers can integrate additional compression codecs.checked 11 Oct 2026
Filters and selection
It offers BCJ and KanziEXE filters, automatic selection using trained decision trees, and modes that try multiple codec and filter combinations.checked 11 Oct 2026
Intended users
The maker describes the project as intended for legitimate binary optimization, embedded systems, demos, education, and experimentation with ELF internals and executable packing.checked 11 Oct 2026
License
The project is released under GPLv3, subject to licenses of bundled components.checked 11 Oct 2026
License and community
The repository identifies GPLv3 as its main license and invites users to open issues, submit pull requests, or discuss ideas.checked 11 Oct 2026
Memory limit
Some codecs can require substantial memory; the README says LZHAM uses a 512 MB dictionary and aborts if available memory or RLIMIT_AS is insufficient.checked 11 Oct 2026
Optimization modes
Its -best mode tries three predicted codecs and its -crazy mode tries all eligible codecs to select the smallest output.checked 11 Oct 2026
Password option
The password option stores an obfuscated FNV-1a hash in the stub.checked 11 Oct 2026
Purpose
zELF packs Linux ELF64 binaries to reduce their size and provide efficient runtime unpacking.checked 11 Oct 2026
Security
The maker says zELF is not designed for code obfuscation, concealment, or antivirus evasion, and its source code is openly available.checked 11 Oct 2026
Security limitation
The maker says zELF is not designed for code obfuscation, concealment, antivirus evasion, or malicious code distribution.checked 11 Oct 2026
Support and contributions
The maker invites users to open issues, submit pull requests, or discuss ideas on the project.checked 11 Oct 2026
Supported targets
It supports Linux ELF64 x86_64 and AArch64 (arm64) binaries; ELF 32-bit is unsupported.checked 11 Oct 2026

Alternatives to zELF

All alternatives
  1. 1

    Obsidian

    Free planOpen sourceAndroidiOSExtensionLinux
    8.4From $48 a year
  2. 2

    Enigma Protector

    WebAPILinuxSelf-hosted
    7.4
  3. 3Virbox Protector logo

    Virbox Protector

    AndroidiOSLinuxmacOS
    7.1CN¥2,499 one-time
  4. 4

    VMProtect

    LinuxmacOSWindows
    6.6
  5. 5

    Crinkler

    Free planWindows
    6.3Free plan
  6. 6Themida logo

    Themida

    Windows
    6.3From €79 a year