                            UPXDUMP User Manual
                            ===================

Chapter 1: Introduction
-----------------------

       In tradition of our products released earlier UPXDUMP is a small
       tool serving only one specific purpose. UPXDUMP is a replacement for
       the undocumented `--file-info' option in the free, high-performance
       executable packer UPX.

       The main reason to write UPXDUMP was to show a file's compression
       method in a human-readable manner. A second reason was to practice
       Pascal programming. Yes, really!

       UPXDUMP can also handle malformed executables created by a broken
       DOS port of UPX 2.93. (`upx --file-info' fails on these.)

       UPXDUMP comes in these variants:

        1. A small 16-bit version (file `dos16\upxdump.exe') suitable for
           DOS computer systems prior to the 80386 microprocessor.

        2. For newer DOS systems there is a 32-bit version (file
           `dos32\upxdump.exe'), that additionally supports long file
           names.

        3. For Windows systems there is a 32-bit console version (file
           `win32\upxdump.exe').

       Otherwise there is no difference between these variants.

Chapter 2: Licence
------------------

       Copyright (C) 1997-2017  Robert Riebisch

       UPXDUMP is free software; you can redistribute it and/or modify it
       under the terms of the GNU General Public License as published by
       the Free Software Foundation; either version 2 of the License, or
       (at your option) any later version.

       UPXDUMP is distributed in the hope that it will be useful, but
       WITHOUT ANY WARRANTY; without even the implied warranty of
       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
       General Public License for more details.

       You should have received a copy of the GNU General Public License
       along with this program; see the file `licence.txt'.

Chapter 3: System requirements
------------------------------

   3.1 For the 16-bit DOS version

        -  Intel 8086/88 microprocessor (or compatibles)

        -  Microsoft MS-DOS 3.0 (or compatibles)

   3.2 For the 32-bit DOS version

        -  Intel 80386 microprocessor (or compatibles)

        -  Microsoft MS-DOS 3.0 (or compatibles)

        -  32-bit DPMI server (e.g. CWSDPMI)

        -  optional: LFN API (e.g. DOSLFN) for long file name support

   3.3 For the 32-bit Windows console version

        -  Intel 80386 microprocessor (or compatibles)

        -  Microsoft Windows 95 (or compatibles)

Chapter 4: Installation
-----------------------

       Decompress the archive with, e.g., Info-ZIP UnZip or Windows
       Explorer to an empty directory.

Chapter 5: Usage
----------------

       UPXDUMP is a command-line application. It only accepts one option
       passed to it. This must be either a relative or absolute file name
       or `/?', `-?', `/h', `-h' to print the very short help screen.

       On Windows systems you have to open a console window (`cmd.exe') to
       be able to see UPXDUMP's output.

       --------------------------------------------------------------------

         UPXDUMP Version DD-MMM-YYYY
         Copyright (C) 1997-201x Robert Riebisch
         [Under GNU General Public License]
         
         Usage: upxdump <input file>

       --------------------------------------------------------------------

Chapter 6: Sample output
------------------------

   6.1 For the 16-bit DOS version

       Running UPXDUMP in directory `C:\TEMP\UPX' examing file `upx.ttp'
       from package `upx303a.zip'.

       --------------------------------------------------------------------

         C:\TEMP\UPX>upxdump atari\upx.ttp
         Analyzing `C:\TEMP\UPX\ATARI\UPX.TTP'...
         
         File size:                          354320 bytes
         Data format version:                    13
         Executable format:                     129 ("atari/tos")
         Compression method:                      9 ("nrv2e/8")
         Compression level:                      10
         Uncompressed data length:          1415884 bytes
         Compressed data length:             353605 bytes
         Original file size:                1415888 bytes
         Filter:                                  0/0

       --------------------------------------------------------------------

   6.2 For the 32-bit DOS version

       Running UPXDUMP in directory `C:\TEMP\UPX' examining file
       `upx.exe' from package `upx303w.zip'. Please notice long file name
       `c:\Program Files\UPX\upx.exe'.

       --------------------------------------------------------------------

         C:\TEMP\UPX>upxdump "c:\program files\upx\upx.exe"
         Analyzing `C:\program files\upx\upx.exe'...
         
         File size:                          271872 bytes
         Data format version:                    13
         Executable format:                       9 ("win32/pe")
         Compression method:                     14 ("lzma")
         Compression level:                      10
         Uncompressed data length:          1337009 bytes
         Compressed data length:             266671 bytes
         Original file size:                1297408 bytes
         Filter:                                 38/18

       --------------------------------------------------------------------

Chapter 7: Technical support
----------------------------

       Please visit http://www.bttr-software.de/ for help or updates.

Chapter 8: Version history
--------------------------

   8.1 19-NOV-2017

        -  added executable formats (`UPX_F_VMLINUZ_ARMEL' to
           `UPX_F_LINUX_ELF64_ARM' and `UPX_F_DYLIB_PPC32')

        -  updated lots of names of executable formats

        -  added Windows console version

        -  increased size of read buffer from 16,384 to 65,528 bytes

        -  made `32RTM' signature detection more robust

        -  added memory check to avoid (theoretical) crashes

        -  added error exit codes 5 (`ERR_FILE_SIZE') and 6 (`ERR_NO_MEM')
           for easier batch processing

        -  error messages now always contain the word "Error" for easier
           batch processing

        -  on checksum mismatch also print the word "Warning"

        -  options `/h' and `-h' are now recognized for the help screen

        -  rewritten parts of the manual

   8.2 19-APR-2009

        -  first public release

Chapter 9: Trivia
-----------------

       UPXDUMP has been created using:

        -  Compilers: Turbo Pascal 5.5 to 7.01, Free Pascal 2.2.4,

        -  File compressors: aPACK 1.00, UPX 3.94,

        -  Text editor: Notepad2 4.2.25, and

        -  Documentation production system: Halibut r8112.

Appendix A: aPACK advertisement
-------------------------------

       This product uses the aPACK executable compressor, Copyright
       (c) 1997-2012 by Joergen Ibsen, All Rights Reserved. For more
       information, please visit: http://www.ibsensoftware.com/

