UPX

From Wikipedia, the free encyclopedia

UPX
Description de l'image UPX screenshot.png.
Informations
Développé par Markus F.X.J. Oberhumer (d)Voir et modifier les données sur Wikidata
Dernière version 5.1.1 ()[1]Voir et modifier les données sur Wikidata
Dépôt github.com/upx/upxVoir et modifier les données sur Wikidata
Écrit en C++ et assembleurVoir et modifier les données sur Wikidata
Système d'exploitation Microsoft Windows, GNU/Linux, macOS, The Operating System, Linux, DOS et AtariVoir et modifier les données sur Wikidata
Environnement Multiplate-forme
Type Compression de données
Licence GNU GPL
Site web upx.github.io

UPX (sigle de l'anglais Ultimate Packer for eXecutables) est un logiciel libre permettant de compresser des fichiers exécutables.

Le programme utilise la technologie de compression sans perte UCL, de sorte qu'une fois lancé, il se décompresse lui-même. La version 3.00 a introduit le support de la compression LZMA.

C’est un programme gratuit, distribué sous licence GNU GPL, et l’un des plus utilisés de sa catégorie.

Ce processus permet de compresser un fichier exécutable, capable quand il est lancé de se décompresser lui-même. Il n’y a pour l’utilisateur aucune différence entre le programme compressé et l’original.

Cette technologie permet de se passer, pour les programmes, de méthodes plus générales mais nécessitant l’utilisation de bibliothèques et de logiciels spécialisés et/ou payants, comme gzip, zip ou bzip2.

Sur des programmes imposants, la technologie de compactage permet de réduire le temps de téléchargement si le programme est diffusé via Internet.

UPX lui-même permet la décompression d'un exécutable compressé.

La technologie UCL

La technologie UCL est une bibliothèque de compression spécialisée, dérivée de la technologie propriétaire NRV (Not Really Vanished). La bibliothèque UCL a été écrite en ANSI C.

Les programmes compressés avec UPX sont dotés, dans l’amorce (stub) de l’exécutable, d’une partie du code de la bibliothèque UCL, permettant au programme de se décompresser. Cette amorce tient sur moins de 200 octets.

UPX utilisait autrefois la compression LZO (Lempel-Ziv-Oberhumer, le logiciel s’appelait alors lzop), dérivée de la méthode LZ (Lempel-Ziv) et de la méthode LZW (Lempel-Ziv-Welch), moins performante, dont les concepteurs se sont inspirés pour adapter NRV. UCL est disponible sous licence GPL et licence UPX.

Formats supportés

Limitations techniques

Notes et références

Annexes

Related Articles

Wikiwand AI