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-2020 Markus Oberhumer, Laszlo Molnar & John Reiser https://upx.github.io 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: ------------- - Amiga - BeOS - C64 - elks/8086 (this is a 16-bit linux-8086 kernel) See http://www.elks.ecs.soton.ac.uk/ - freebsd/386 (generic), freebsd/elf386 (specialized). Probably could share most of the linux code. - add support for self-extracting HTML pages using a Javascript stub (like the AlgART HTML Packer "AHP") Existing formats: ----------------- - djgpp2/coff: add support for DLX dynamic loading (see SEAL http://www.home.sk/public/seal/ ) - dos/com: add support for very long files - convert to exe if necessary - dos/exe: implement filter support - 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...) - 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: per section compression 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.