Nmap Development mailing list archives
compressing nmap executables and dlls with upx
From: "DePriest, Jason R." <jrdepriest () gmail com>
Date: Mon, 4 Feb 2008 23:54:06 -0600
You can get some pretty impressive compression ratios. I just compressed the files for my Windows installation. Any possibility this could be used for the official Windows installer to make it quite a bit smaller? I don't know if NSIS uses LZMA or not, but that is what I asked UPX to use. The dlls went from 16,084,480 bytes to 6,462,976 bytes. The exes went from 2,469,724 bytes to 1,531,228 bytes. Not as impressive as the dlls, but still not bad. Just a thought... anyway, here are the compression details. Jason@FROG-POND /cygdrive/c/Program Files/Nmap $ find . -type f -name '*.dll' -print0 | xargs -0 /cygdrive/f/Tools/upx/3.02/upx -9 -v --lzma Ultimate Packer for eXecutables Copyright (C) 1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007 UPX 3.02w Markus Oberhumer, Laszlo Molnar & John Reiser Dec 16th 2007 File size Ratio Format Name -------------------- ------ ----------- ----------- 57344 -> 23552 41.07% win32/pe bit.dll 28672 -> 10752 37.50% win32/pe asprintf.dll 67584 -> 36864 54.55% win32/pe bzip2.dll 24576 -> 7168 29.17% win32/pe charset.dll 443904 -> 195584 44.06% win32/pe freetype6.dll 69632 -> 25600 36.76% win32/pe gettextlib.dll 24576 -> 8192 33.33% win32/pe gettextpo.dll 114688 -> 50688 44.20% win32/pe gettextsrc.dll 892928 -> 475136 53.21% win32/pe iconv.dll 45056 -> 21504 47.73% win32/pe intl.dll 128512 -> 66560 51.79% win32/pe jpeg62.dll 30720 -> 16384 53.33% win32/pe libpixmap.dll 30208 -> 15872 52.54% win32/pe libsvg.dll 59904 -> 26112 43.59% win32/pe libwimp.dll 19968 -> 8704 43.59% win32/pe im-am-et.dll upx: ./zenmap/lib/gtk-2.0/2.10.0/immodules/im-cedilla.dll: NotCompressibleException 8192 -> 7168 87.50% win32/pe im-cyrillic-translit.dll 16896 -> 10752 63.64% win32/pe im-ime.dll 8704 -> 7168 82.35% win32/pe im-inuktitut.dll upx: ./zenmap/lib/gtk-2.0/2.10.0/immodules/im-ipa.dll: NotCompressibleException 11776 -> 8704 73.91% win32/pe im-thai.dll 19968 -> 8704 43.59% win32/pe im-ti-er.dll 19968 -> 8704 43.59% win32/pe im-ti-et.dll 8192 -> 7168 87.50% win32/pe im-viqr.dll 14848 -> 10752 72.41% win32/pe libpixbufloader-ani.dll 15360 -> 11776 76.67% win32/pe libpixbufloader-bmp.dll 26112 -> 15360 58.82% win32/pe libpixbufloader-gif.dll 13312 -> 10752 80.77% win32/pe libpixbufloader-ico.dll 14848 -> 10752 72.41% win32/pe libpixbufloader-jpeg.dll 12288 -> 9216 75.00% win32/pe libpixbufloader-pcx.dll 15360 -> 10752 70.00% win32/pe libpixbufloader-png.dll 12800 -> 10240 80.00% win32/pe libpixbufloader-pnm.dll upx: ./zenmap/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-ras.dll: NotCompressibleException 13312 -> 10752 80.77% win32/pe libpixbufloader-tga.dll 14336 -> 9728 67.86% win32/pe libpixbufloader-tiff.dll upx: ./zenmap/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-wbmp.dll: NotCompressibleException 10752 -> 8704 80.95% win32/pe libpixbufloader-xbm.dll 25088 -> 14848 59.18% win32/pe libpixbufloader-xpm.dll upx: ./zenmap/lib/gtk-2.0/2.10.0/loaders/svg_loader.dll: NotCompressibleException 33792 -> 17408 51.52% win32/pe libmetal.dll 29696 -> 15872 53.45% win32/pe libpixmap.dll 11776 -> 9216 78.26% win32/pe libredmond95.dll 49664 -> 22528 45.36% win32/pe libwimp.dll 19968 -> 8704 43.59% win32/pe im-am-et.dll upx: ./zenmap/lib/gtk-2.0/2.4.0/immodules/im-cedilla.dll: NotCompressibleException 8192 -> 7168 87.50% win32/pe im-cyrillic-translit.dll 16896 -> 10752 63.64% win32/pe im-ime.dll 8704 -> 7168 82.35% win32/pe im-inuktitut.dll upx: ./zenmap/lib/gtk-2.0/2.4.0/immodules/im-ipa.dll: NotCompressibleException 7680 -> 7168 93.33% win32/pe im-thai-broken.dll 19968 -> 8704 43.59% win32/pe im-ti-er.dll 19968 -> 8704 43.59% win32/pe im-ti-et.dll 8192 -> 7168 87.50% win32/pe im-viqr.dll 14848 -> 10752 72.41% win32/pe libpixbufloader-ani.dll 13824 -> 10752 77.78% win32/pe libpixbufloader-bmp.dll 26112 -> 15360 58.82% win32/pe libpixbufloader-gif.dll 13824 -> 10752 77.78% win32/pe libpixbufloader-ico.dll 14848 -> 10752 72.41% win32/pe libpixbufloader-jpeg.dll 12288 -> 9216 75.00% win32/pe libpixbufloader-pcx.dll 15360 -> 10752 70.00% win32/pe libpixbufloader-png.dll 13824 -> 10240 74.07% win32/pe libpixbufloader-pnm.dll upx: ./zenmap/lib/gtk-2.0/2.4.0/loaders/libpixbufloader-ras.dll: NotCompressibleException 13312 -> 10752 80.77% win32/pe libpixbufloader-tga.dll 11776 -> 9216 78.26% win32/pe libpixbufloader-tiff.dll 8704 -> 7680 88.24% win32/pe libpixbufloader-wbmp.dll 10752 -> 8704 80.95% win32/pe libpixbufloader-xbm.dll 25600 -> 14848 58.00% win32/pe libpixbufloader-xpm.dll 12800 -> 9216 72.00% win32/pe pango-arabic-fc.dll 10752 -> 8704 80.95% win32/pe pango-basic-fc.dll 8704 -> 7680 88.24% win32/pe pango-basic-win32.dll 13312 -> 9728 73.08% win32/pe pango-hangul-fc.dll 13824 -> 9728 70.37% win32/pe pango-hebrew-fc.dll 25600 -> 13312 52.00% win32/pe pango-indic-fc.dll 11264 -> 8704 77.27% win32/pe pango-khmer-fc.dll 12288 -> 9216 75.00% win32/pe pango-syriac-fc.dll 19456 -> 10752 55.26% win32/pe pango-thai-fc.dll 10752 -> 8192 76.19% win32/pe pango-tibetan-fc.dll 12288 -> 9216 75.00% win32/pe pango-arabic-fc.dll upx: ./zenmap/lib/pango/1.6.0/modules/pango-arabic-lang.dll: NotCompressibleException 10240 -> 8704 85.00% win32/pe pango-basic-fc.dll 16384 -> 11264 68.75% win32/pe pango-basic-win32.dll 14336 -> 10240 71.43% win32/pe pango-hangul-fc.dll 13312 -> 9728 73.08% win32/pe pango-hebrew-fc.dll 26624 -> 13824 51.92% win32/pe pango-indic-fc.dll 7680 -> 7168 93.33% win32/pe pango-indic-lang.dll 11776 -> 8704 73.91% win32/pe pango-khmer-fc.dll 12288 -> 9216 75.00% win32/pe pango-syriac-fc.dll 19456 -> 10752 55.26% win32/pe pango-thai-fc.dll 11264 -> 8192 72.73% win32/pe pango-tibetan-fc.dll 91648 -> 50688 55.31% win32/pe libart_lgpl_2-2.dll 112640 -> 37888 33.64% win32/pe libatk-1.0-0.dll 412672 -> 178176 43.18% win32/pe libcairo-2.dll 214528 -> 79872 37.23% win32/pe libcroco-0.6-3.dll 194048 -> 89088 45.91% win32/pe libfontconfig-1.dll 443904 -> 195584 44.06% win32/pe libfreetype-6.dll 569344 -> 227840 40.02% win32/pe libgdk-win32-2.0-0.dll 274432 -> 97280 35.45% win32/pe libgdkglext-win32-1.0-0.dll 86528 -> 40960 47.34% win32/pe libgdk_pixbuf-2.0-0.dll 87040 -> 34304 39.41% win32/pe libglade-2.0-0.dll 656896 -> 222208 33.83% win32/pe libglib-2.0-0.dll 14848 -> 10240 68.97% win32/pe libgmodule-2.0-0.dll 221184 -> 86016 38.89% win32/pe libgobject-2.0-0.dll 173056 -> 72192 41.72% win32/pe libgsf-1-114.dll 10752 -> 8192 76.19% win32/pe libgsf-win32-1-114.dll 18432 -> 11776 63.89% win32/pe libgthread-2.0-0.dll 3810304 -> 1178112 30.92% win32/pe libgtk-win32-2.0-0.dll 10752 -> 8704 80.95% win32/pe libgtkglext-win32-1.0-0.dll 243712 -> 96768 39.71% win32/pe libpango-1.0-0.dll 39936 -> 18944 47.44% win32/pe libpangocairo-1.0-0.dll 184320 -> 71680 38.89% win32/pe libpangoft2-1.0-0.dll 43008 -> 23040 53.57% win32/pe libpangowin32-1.0-0.dll 145920 -> 72704 49.82% win32/pe libpng12.dll 203264 -> 90112 44.33% win32/pe libpng13.dll 25088 -> 15872 63.27% win32/pe libpopt-0.dll 183296 -> 74240 40.50% win32/pe librsvg-2-2.dll 360448 -> 112128 31.11% win32/pe libtiff3.dll 1291264 -> 496640 38.46% win32/pe libxml2.dll 348160 -> 157184 45.15% win32/pe msvcr71.dll 2113536 -> 747008 35.34% win32/pe python25.dll 260096 -> 119808 46.06% win32/pe sqlite3.dll 53248 -> 25600 48.08% win32/pe xmlparse.dll 81920 -> 23040 28.13% win32/pe xmltok.dll 59904 -> 35840 59.83% win32/pe zlib1.dll -------------------- ------ ----------- ----------- 16084480 -> 6462976 40.18% [ 114 files ] Packed 123 files: 114 ok, 9 errors. Jason@FROG-POND /cygdrive/c/Program Files/Nmap $ find . -type f -name '*.exe' -print0 | xargs -0 /cygdrive/f/Tools/upx/3.02/upx -9 -v --lzma Ultimate Packer for eXecutables Copyright (C) 1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007 UPX 3.02w Markus Oberhumer, Laszlo Molnar & John Reiser Dec 16th 2007 File size Ratio Format Name -------------------- ------ ----------- ----------- 1335808 -> 415232 31.08% win32/pe nmap.exe 53647 -> 41359 77.09% win32/pe Uninstall.exe upx: ./zenmap/w9xpopen.exe: NotCompressibleException 1080269 -> 1074637 99.48% win32/pe zenmap.exe -------------------- ------ ----------- ----------- 2469724 -> 1531228 62.00% [ 3 files ] Packed 4 files: 3 ok, 1 error. _______________________________________________ Sent through the nmap-dev mailing list http://cgi.insecure.org/mailman/listinfo/nmap-dev Archived at http://SecLists.Org
Current thread:
- compressing nmap executables and dlls with upx DePriest, Jason R. (Feb 04)
- RE: compressing nmap executables and dlls with upx Dario Ciccarone (dciccaro) (Feb 04)
- Re: compressing nmap executables and dlls with upx Guilherme Polo (Feb 05)
- Re: compressing nmap executables and dlls with upx DePriest, Jason R. (Feb 05)
- Re: compressing nmap executables and dlls with upx AgentSmith15 (Feb 05)
- RE: compressing nmap executables and dlls with upx Dario Ciccarone (dciccaro) (Feb 04)