# upx/upx

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/upx-upx).**

17,595 stars · 1,529 forks · C++ · NOASSERTION

## Links

- GitHub: https://github.com/upx/upx
- Homepage: https://upx.github.io
- awesome-repositories: https://awesome-repositories.com/repository/upx-upx.md

## Description

UPX is a command-line utility designed to reduce the file size of compiled programs and shared libraries. It functions as an executable binary compressor that maintains the ability for files to run natively without requiring additional runtime dependencies or external decompression software.

The tool operates by parsing executable headers and applying entropy-based compression to code segments. It achieves this by injecting a self-extracting stub into the binary, which facilitates in-place memory decompression during the initial execution phase. This process includes platform-specific binary patching to ensure the modified files remain compatible with native system loaders.

Beyond compression, the utility provides integrated functionality for verifying the structural integrity of processed files. It calculates and embeds checksums to confirm that binaries remain functional and uncorrupted. These capabilities support software distribution optimization and assist in managing binary footprints for resource-constrained environments.

## Tags

### Development Tools & Productivity

- [File Compression Utilities](https://awesome-repositories.com/f/development-tools-productivity/developer-utilities-libraries/workflow-productivity-enhancers/developer-productivity-utilities/developer-utilities/file-resource-management/file-compression-utilities.md) — Provides a command-line utility to compress executable binaries while preserving their ability to run natively. ([source](https://upx.github.io))

### DevOps & Infrastructure

- [Executable Binary Compressors](https://awesome-repositories.com/f/devops-infrastructure/executable-binary-compressors.md) — Reduces the file size of programs and shared libraries while maintaining their ability to execute natively.
- [Executable Compression Tools](https://awesome-repositories.com/f/devops-infrastructure/distribution-packaging/software-distribution/executable-compression-tools.md) — Reduces the file size of compiled programs and shared libraries to save storage space.
- [Software Distribution](https://awesome-repositories.com/f/devops-infrastructure/distribution-packaging/software-distribution.md) — Minimizes software package download sizes to ensure faster delivery and lower bandwidth usage.

### Operating Systems & Systems Programming

- [Executable Decompression Stubs](https://awesome-repositories.com/f/operating-systems-systems-programming/executable-decompression-stubs.md) — "Appends a small decompression routine to the binary that restores the original code into memory during the initial execution phase."
- [In-Memory Decompression Runtimes](https://awesome-repositories.com/f/operating-systems-systems-programming/in-memory-decompression-runtimes.md) — Loads and expands compressed payloads directly into process memory before transferring control to the entry point.

### Security & Cryptography

- [Binary Integrity Verification](https://awesome-repositories.com/f/security-cryptography/security/utilities/cryptographic-implementation-tools/binary-integrity-verification.md) — Verifies the structural integrity of compressed binaries by checking internal checksums to ensure they remain secure.

### Data & Databases

- [Integrity Verification](https://awesome-repositories.com/f/data-databases/data-compression-algorithms/executable-compression-algorithms/integrity-verification.md) — Verify the integrity of compressed files by checking internal checksums and using built-in tools to list or unpack contents to ensure they remain secure and functional. ([source](https://upx.github.io))
- [Executable Compression Algorithms](https://awesome-repositories.com/f/data-databases/data-compression-algorithms/executable-compression-algorithms.md) — Implements entropy-based compression algorithms specifically optimized for executable code segments.

### Software Engineering & Architecture

- [Binary Patching Utilities](https://awesome-repositories.com/f/software-engineering-architecture/binary-patching-utilities.md) — Modifies executable structures to accommodate decompression stubs while ensuring compatibility with native system loaders.

### System Administration & Monitoring

- [Embedded System Management](https://awesome-repositories.com/f/system-administration-monitoring/embedded-system-management.md) — Assists in managing binary footprints to fit applications into resource-constrained embedded environments.
- [Binary Header Parsers](https://awesome-repositories.com/f/system-administration-monitoring/monitoring-and-observability/observability-platforms/distributed-tracing-execution-analysis/execution-metadata/binary-header-parsers.md) — Parses executable headers and section tables to identify code segments while preserving loader compatibility.
