mirror of
https://github.com/upx/upx.git
synced 2024-11-27 22:50:32 +00:00
5727461522
committer: mfx <mfx> 978101535 +0000
105 lines
2.1 KiB
Plaintext
105 lines
2.1 KiB
Plaintext
UPX TODO list. Last updated 2000-12-29.
|
|
|
|
|
|
|
|
IMPROVED COMPRESSION RATIO
|
|
==========================
|
|
|
|
- experiment with new filters
|
|
|
|
- implement filters for linux/elf386
|
|
|
|
- implement filters for dos/exe
|
|
|
|
- filters: could we exploit a f->firstcall info field ?
|
|
|
|
- for small programs (e.g. < 64k), try an additional algorithm
|
|
to see if it gives better compression
|
|
|
|
|
|
ALL FORMATS
|
|
===========
|
|
|
|
- more thoroughly test the exe-header in canPack()
|
|
and throw exceptions when encountering bad values.
|
|
|
|
- implement `--cpu=486' option to use bswap on the 32-bit formats
|
|
(if cpu >= 486)
|
|
|
|
- consider removing "sbb bp,bp" or "or ebp,-1" when not needed
|
|
|
|
|
|
FORMAT DJGPP2/COFF
|
|
==================
|
|
|
|
- handle overlays
|
|
|
|
- fix default file extension handling when the --coff option is set
|
|
|
|
|
|
FORMAT DOS/EXE
|
|
==============
|
|
|
|
- implement filters
|
|
|
|
|
|
FORMAT LINUX/386
|
|
================
|
|
|
|
- don't mmap() the temporary output file - this seems to improve
|
|
file io speed
|
|
|
|
|
|
FORMAT LINUX/ELF386
|
|
===================
|
|
|
|
- implement filters
|
|
|
|
|
|
FORMAT TMT/ADAM
|
|
===============
|
|
|
|
- the decompressors are already aligned, no need for an
|
|
extra alignment
|
|
|
|
|
|
FORMAT WATCOM/LE
|
|
================
|
|
|
|
- the decompressors are already aligned, no need for an
|
|
extra alignment
|
|
|
|
- fix default file extension handling when the --le option is set
|
|
|
|
- handle holes in the file
|
|
|
|
|
|
FORMAT WIN32/PE
|
|
===============
|
|
|
|
- make compressWithFilters() work
|
|
|
|
- decrease runtime memory overhead
|
|
|
|
- ??? compressing screensavers looses the description - probably
|
|
should not compress a special resource type ???
|
|
|
|
2 - easy - mfx + ml) new switch(es) : do not compress resource types x,y,z
|
|
or resource names a,b,c
|
|
|
|
3 - medium - ml) rebuild exports
|
|
|
|
3 - difficult) don't compress the BSS section and other holes.
|
|
|
|
4 - medium - ml) fix when objectalign < 0x1000
|
|
|
|
4 - easy - ml) put the original offset of moved resources somewhere into
|
|
the res.dir. (if it's safe to do)
|
|
|
|
4 - ??? - ml) fix FIXMEs
|
|
|
|
5 - medium - ml) try to put the preprocessed imports & relocs back to their
|
|
original section if possible. this could save some virtual memory
|
|
address space.
|
|
|