                 ooooo     ooo ooooooooo.   ooooooo  ooooo
                 `888'     `8' `888   `Y88.  `8888    d8'
                  888       8   888   .d88'    Y888..8P
                  888       8   888ooo88P'      `8888'
                  888       8   888            .8PY888.
                  `88.    .8'   888           d8'  `888b
                    `YbodP'    o888o        o888o  o88888o


                    The Ultimate Packer for eXecutables
          Copyright (c) 1996-2000 Markus Oberhumer & Laszlo Molnar
               http://wildsau.idv.uni-linz.ac.at/mfx/upx.html
                            http://upx.tsx.org


Here are some possible projects from which you can choose if you'd like to
contribute to UPX. Be sure to get in touch with us first to avoid
duplicate efforts.


User interface:
---------------

 - Write a nifty Win32 GUI (in C++), but try to keep the size of the
   final executable small. Compression should be in a separate
   thread that calls do_one_file() [see src/work.cpp].

 - Draw a nice UPX icon.


More formats:
-------------

 - add more file formats / platforms (there were volunteers for FreeBSD,
   BeOS, Windows CE, Amiga, C64, ...)

 - add support for self-extracting HTML pages using a Javascript stub
   (like the AlgART HTML Packer "AHP")


Existing formats:
-----------------

 - dos/com: add support for very long files - convert to exe if necessary

 - dos/sys: add support for sys/exe combos

 - dos/exe: implement filter support

 - djgpp2/coff: add support for DLX dynamic loading
     (see SEAL http://www.home.sk/public/seal/ )

 - linux/i386:
     - use the new assembly preprocessor stuff (ie. process the file
       headers internally)
     - UPX uncompressor daemon
     - rewrite the stub in assembly (not sure if this is a good idea...)
     - etc...
 - linux/i386: add a special elf/i386 format that understands
     ELF files and has filter support

 - watcom/le: add support for per section compression, LX support, VXD

 - win32/pe: display a nice dialog box in the stub in case
     of problems (like importing a DLL or function fails)
 - win32/pe: finer control over resource compression, per section
     compression
 - win32/pe: compressing screensavers looses the description - probably
     should not compress a special resource type


Compression ratio:
------------------

 - invent more effective filters

 - I (Markus) will continue to work on better compression algorithms,
   so be sure to do better than me if you plan working on this ;-)


Other:
------

 - anything else you think that could improve UPX...


Thanks for your contribution.

