UPX
Vývojář | Markus F.X.J. Oberhumer, László Molnár a John F. Reiser |
---|---|
První vydání | 26. května 1998 |
Aktuální verze | 4.0.2 (30. ledna 2023) |
Operační systém | Windows, Linux, macOS, DOS, Atari |
Platforma | x86 Architektura MIPS x86_64 PowerPC Motorola 68000 |
Vyvíjeno v | C++, jazyk symbolických adres |
Typ softwaru | Komprese spustitelných souborů |
Licence | GPL |
Web | upx.sf.net |
Některá data mohou pocházet z datové položky. |
UPX (the Ultimate Packer for eXecutables – univerzální kompresor spustitelných souborů) je open source software, který slouží ke kompresi spustitelných souborů. UPX podporuje různé formáty souborů na různých operačních systémech.
Komprese
UPX používá kompresní algoritmus UCL, což je open source implementace podobná uzavřenému NRV algoritmu (Not Really Vanished – Ne úplně ztracený).
UCL bylo navrženo tak, že dekomprese může být implementována jenom v několika stovkách řádek kódu. UCL nepotřebuje alokovat mnoho paměti pro dekompresi.
UPX může na většině platforem používat LZMA kompresi (od verze 2.90 beta). Avšak tato možnost není u 16bitových výchozí, kvůli pomalé dekompresi na starších počítačích (lze vynutit přidáním --lzma
do příkazu)
Dekomprese
UPX podporuje dva způsoby dekomprese:
- Přímo do paměti (použité na většině platforem)
- Do dočasného souboru (použité na zbylých platformách)
Podporované formáty
- ARM/pe
- atari/tos
- *BSD/i386
- djgpp2/coff
- dos/com
- dos/exe
- dos/sys
- linux/i386 a.out
- linux/ELF on i386, x86-64, ARM, powerpc
- linux/kernel on i386, x86-64 and ARM
- mach-o/ppc32, mach-o/i386
- rtm32/pe
- tmt/adam
- ps1/exe
- watcom/le
- win32/pe (kromě .NET platformy)
- win64/pe (EXPERIMENTAL ONLY)
Externí odkazy
Média použitá na této stránce
Autor: Giovanni Alfredo Garciliano Diaz, Licence: CC0
Captura de pantalla de la salida de upx