WWPACK 3.04   a powerful executable file compressor for DOS

        Copyright (c) 1993-96 by Piotr Warezak and Rafal Wierzbicki

        6 January 1996   Lodz, Poland           All Rights Reserved



      We are happy to provide our e-mail addresses.  Please feel free
         to inform us of any problems at the following addresses.

                           Authors:  awarezak@krysia.uni.lodz.pl

              American distributor:  gjereza@crl.com

                German distributor:  support@vgasoft.com



       The latest shareware version of WWPACK can always be found on:

           o  Slovak Antivirus Center:
              ftp.elf.stuba.sk    /pub/pc/pack

           o  SimTel mirrors, directory  /SimTel/msdos/execomp
              (eg.  oak.oakland.edu  or  ftp.cyf-kr.edu.pl)

           o  The ClipBoard BBS
              (415) 293 0454
              8N1  2400-28800bps
              24 hours, San Francisco

           o  WWPACK is FREQable (file requestable) from
              The ClipBoard BBS,
              FidoNet 1:125/454
              The magic name is WWPACK.

           o  VGA-Copy Headquarters BBS
              +49-441-972955
              8N1  USRobotics V34
              24 hours, Germany

           o  WWPACK is file requestable from
              VGA-Copy Headquarters,
              FidoNet 2:2426/2240
              The magic name is WWPACK.

           o  ftp-mailserver:  fileserv@vgasoft.com



*** This version of WWPACK must be registered,and requires the WWPACK.REG
*** key file created specifically for you.
*** The  WWPACK.REG  file can not be  distributed, sent, rented, changed,
*** hacked, or reversed engineered in any way. Any attempts to do so will
*** automatically terminate the license!

*** The original  version WWPACK is distributed in  the ZIP file  containing
*** WWP304.EXE RAR 1.55 SFX archive with Authenticy Verification information
*** "by Piotr Warezak and Rafal Wierzbicki".



WHAT IS A WWPACK?

  WWPACK is a powerful EXE file compressor. This program compresses most
  DOS executable files. Compressed programs use less disk space because
  they are much smaller. All files run EXACTLY as before.


REQUIREMENTS TO RUN WWPACK.

  WWPACK works on any machine with about 450Kb free DOS memory. Remember that
  the faster machine you use the less time you need to compress an EXE file.

Requirements to run EXE files compressed with WWPACK.

  A file compressed with WWPACK will run on IBM or compatible based systems
  like the XT, AT, 80286, 80386, 80486, Pentiums, laptops, and palmtops
  (eg. the Hewlett Packard HP95LX).  DOS 2.0 or higher is required.


WWPACK'S COMMANDS  -  to get a very short help type:  WWPACK /?

  To pack an EXE file enter:
      WWPACK FILENAME.EXE
  or  WWPACK P FILENAME.EXE
  When complete, the file will be smaller and work as before.
  The packing process can be interrupted by using the CTRL+Break keys.

  To pack a relocation table enter:  WWPACK PR FILENAME.EXE
  To create an unextractable and encrypted (!) file use this command:
      WWPACK PU FILENAME.EXE
  Warning: this procedure cannot be reversed!
  This command should be used only on files that you want to distribute.

  To protect a file with a password type:
      WWPACK PP FILENAME.EXE
  WWPACK will ask you for a password which you must enter twice. The password
  must be from four to nine characters long and is NOT case sensitive.
  Warning: if you forget your run-password your file will be unusable!

  To unpack an EXE file enter:
      WWPACK U FILENAME.
  Remember that the file you want to process with this command must be already
  compressed with WWPACK!

  (Note that the 'U' command can't decompress files created with the 'PU'
  command).


  TESTING EXE FILES.

    Command 'T' lets you see if the file is already compressed by any
    executable file compressor. WWPACK recognizes files compressed by LZEXE,
    PKLITE and many many other compressors.
    Usage:  WWPACK T FILENAME.EXE
    Additional command  WWPACK T  checks automatically all EXE files stored
    in the current directory.

  OPTIMIZING HEADERS.

    If you want to optimize a header of an EXE file use:
        WWPACK O FILENAME.EXE
    Sometimes the header can be a bit shorter but in most cases nothing will
    change.

  ADDITIONAL COMMANDS: 'PD' and 'UD'.

    WWPACK has two commands that you can use on any file you want:
    'PD' and 'UD'  (pack data and unpack data).

    Command 'PD' will pack a data file.
    Example:  WWPACK PD PROGRAM.DAT

    Command 'UD' will unpack any file packed with 'PD'.
    Example:  WWPACK UD PROGRAM.DAT

    Note: Normally, a packed data file is unusable. Therefore, you must first
    unpack it (ie  'PD' and 'UD' options are similar to PKZIP's 'a' and 'e'
    commands).
    Please see the WWPACK Pascal Support procedures for info how to use
    WWPACKed data files in your programs. With our TPU files, you can read
    WWPACKed files and decompress them directly to memory!


CAN I USE WILDCARDS?

  Sure! WWPACK lets you to use '*' and '?' in every command.

  Examples:
    to compress all EXE files in the current directory just type:
       WWPACK P *.EXE

    to optimize headers of all EXE files type:
       WWPACK O *.EXE

    to pack all files (as data) enter this command:
       WWPACK PD *.*

CAN I USE PATHS?

  Of course you can!

  Example:
    command  WWPACK P C:\UTILITY\TEST.EXE  will compress TEST.EXE file stored
    in C:\UTILITY directory.


CONFIGURATION MENU.

  We wanted to make WWPACK easy to use. You don't have to remember any
  options because you can set everything in a special configuration menu.

  To configure the program enter:  WWPACK C.  Now use number keys to set some
  useful options.
  1  -  do you want WWPACK to make backup files?
        Select 'ON' and you will always get OLD and OLP files.
        (There are two exceptions: WWPACK always makes backups when 'PP'
         command is used or when the file packed with the 'PP' command is
         being unpacked).
  2  -  select 'ON' if you want to get more information about every file
        that is being compressed.
  3  -  please select 'ON' if you want to compress files with overlays or
        'OFF' if you don't want to compress such a files. If you choose 'ASK'
        WWPACK will always ask you if the file should be compressed or not.
  4  -  select 'ON' if you want WWPACK to compress already compressed files.
  5  -  sometimes WWPACK is slow, so selecting 'ON' is a good idea.
  6  -  select 'ON' to use 'Smart unpacking'. This option tells WWPACK to
        copy .OLD or .OLP file to .EXE instead of the normal unpacking when
        possible (this way unpacking is much faster).
  7  -  use this option to select an "unextractable compression method":
        SOFT - to create files unextractable with WWPACK
        HARD - to create files unextractable not only by WWPACK but with
               many other intelligent unpackers (we tried CUP 1.2, UUP 1.4,
               TRON 1.21+ Shareware and many other decompression programs -
               all failed to extract the code!)

  When you set all options, press 'S' key to save them or 'ESC' to exit
  without saving. You may use the 'T' key to set the default configuration.


PARAMETERS AND SWITCHES.

  Here is list of parameters that you may use while working with WWPACK:

  -adv  use advanced mode
  -b-   tells WWPACK not to make backup files
  -b+   always make backups (OLD and OLP files)
  -d    compressed files will run before specified day (this option can be
        used only with 'PU' compression method)
  -o-   don't pack files with overlays
  -o+   always pack files with overlays
  -p-   don't pack already packed files
  -p+   pack already packed files
  -t    ask for a text that the file packed with -d option will show when
        the run date is exceeded
  -us   use unextractable SOFT compression method (with 'PU' command only)
  -uh   use unextractable HARD compression method
  -y    assume 'YES' on all queries (WWPACK will proces automatcally all
        files)

  Example:
     WWPACK P -B- -O+ -Y MYPROG.EXE
  means: pack MYPROG.EXE file; don't make backup; pack even if the file
  contains an overlay. Process automatically the file (no questions while
  packing).


PACKING FILES FROM THE LIST FILE.

  A special option:  -@FileName  lets you to process only selected files.
  To pack only a few files from the current directory, you can create
  a special file, for example:  WWPACK.LST  (name of this file is not
  important). This file should contain the names of all files you want to
  process. Every name should begin from a new line. There musn't be any
  free lines in the list file!

  Here is an example of a list file:
    --- cut here ---
    MYFILE.EXE
    ANYFILE.EXE
    anotHer.EXE
    --- cut here ---
  This small file tells WWPACK to process only three files. All other files
  from the current directory will be skipped.
  To use this list file type:
     WWPACK P -@WWPACK.LST

  Note, that wildcards and paths aren't allowed in the list file!


BACKUP FILES.

  Not every EXE file can be compressed with WWPACK. That's why this program
  creates backups. In case of problems you can restore the original file.

  Remember:
    Original FILENAME.EXE file is always renamed to FILENAME.OLD file
    while compressing or optimizing, and to FILENAME.OLP when decompressing.

  HINT:
    If you forgot to make a backup while compressing an EXE file, try
    undeleting or unerasing it!


FILES THAT CAN'T BE PACKED.

  Some files can't be compressed with WWPACK.

  o  programs that check the CRC of a file
  o  files that store configuration data internally
  o  drivers that can be loaded in a config.sys file
  o  some files with overlays
  o  Windows and OS/2 files ('NE' and 'LE' programs)
  o  some COM files (COM file may not work after conversion to EXE format)
  o  files that contain more than 15000 relocation entries

  Some files are automatically recognized by WWPACK. But sometimes it's
  impossible to predict if the file can be compressed. You just have to
  check every compressed EXE file!


CRC MODULE: "Be sure that the file isn't damaged"

  WWPACK uses special module that adds CRC code to EVERY compressed EXE file.
  This unique technology lets you to check if any WWPACKed EXE file has been
  damaged or infected by a virus.

  To check files you may use WWVIR or CRC program.

  HINTS FOR PROGRAMMERS:
  o You may freely add CRC program to your commercial and noncommercial
    products. It's public domain!  (However, you must have the enhanced
    version of WWPACK to distribute WWPACKed programs)
  o CRC module checks almost EVERY byte of compressed EXE file: from the
    beginning ('MZ' signature) to the very end.
    Warning: CRC module doesn't check overlays!
  o There are six bytes in the compressed EXE file that you can freely change.
    The area in $1A to $1F bytes is not protected with the CRC module, so you
    can store configuration or any data here.
  o Please see WWPACK Pascal Support for CRC.TPU unit.


ERRORS AND OTHER MESSAGES.

  WWPACK is quite an intelligent program and sometimes it may show some kind
  of an error message. But don't worry. Just read the comment and you will
  find an explanation for the problem (WWPACK has almost 30 error messages!).

  From time to time you may see some question also (it depends on a
  configuration that you have chosen).

  Here is a list of important questions and messages that you may meet when
  working with WWPACK:

   CRC status: OK
     File CRC is OK. It means that the file is not damaged nor infected by
     a virus. This massage appears while unpacking the file packed with
     WWPACK version 3.03 or 3.04.

   Delete FILENAME file to make a new backup file [Y/n]?
     WWPACK must know if the old backup file can be deleted. Press 'Y' key
     to continue processing or 'N' to quit (and save an old backup).

   Enter date limit (dd-mm-yy):
     Type the date that the packed file will not work after.
     For example: 01-02-97 tells WWPACK to create the file that will not
     work after the 1st february 1997.

   Enter date limit text:
     Type the text, that you want to be shown by the packed file when
     the date limit is exceeded. The text must not exceed 55 characters!

   Enter password:
     This message appears when the 'PP' or 'U' command is used. Please enter
     the password required to run the packed file ('PP' command) or enter the
     password required to unpack the compressed file ('U' command).

   File not processed.
     You didn't let WWPACK process the file (for example you didn't let
     WWPACK delete an old backup file).

   Relocation table is already packed.
     You can't use 'PR' command because the relocation table is already
     packed. Please try the 'P' command to get a higher compression ratio.

   The file FILENAME has set attribute READ ONLY. Change file attribute [Y/n]?
     The file has set the READ ONLY attribute. To process it the attribute
     must be deleted. Press 'Y' key to continue packing or 'N' to stop WWPACK.

   The file contains Debug_Info. Do you want to remove it [Y/n]?
     The file contains some data that aren't required by a program. These
     data can be removed - the file will be much shorter. Press 'Y' if you
     want WWPACK to remove Debug_Info or 'N' to process the file without
     removing it.

   The file size stored in the header is bigger then the real file size.
   The processed file may not work. Continue [Y/n]?
     The file is probably damaged but you may want WWPACK to pack it.
     This message is rarely seen.

   Warning: bad CRC. File probably damaged.
     The file that is being unpacked is damaged. It may not work after
     decompression!

   Warning: the file contains an overlay XXX bytes. Continue [Y/n/r]?
     The file that you want to process contains an overlay. Press 'Y' to pack
     or optimize the file or 'N' if you don't want to process it. Press 'R'
     to remove an overlay and then process the file (not recommended really).

   Warning: the file is already packed with ....
   Do you want to pack it [Y/n]?
     The file is already packed but WWPACK may try to pack it.
     Press 'Y' if you want WWPACK to process the file or 'N' to quit.

   Warning: there are some identical relocation entries.
     This message shows that the file may not work after compression because
     the relocation table contains incorrect data.

   Warning: this is COM file. Convert it to EXE format [Y/n]?
     The file you want to process is not an EXE. Press 'Y' if you want to
     convert it to EXE format or 'N' to quit.


  Note that you must select between Yes or No. Pressing the Enter key alone
  will always select the default answer.


HOW DOES WWPACK WORK?

  First it compresses EXE file; then it adds a small extract code. When you
  load the packed file into memory, the computer first runs this extract 
  code and then the unpacked program.

  It's simple, isn't it?


HOW DOES WWPACK COMPARE TO THE OTHER COMPRESSORS?

  Read this short table and compare:
  (Note: All sizes are in bytes)

                     qp.exe       ncmain.exe    ndd.exe       total size
      Unpacked       86,842       212,393       383,874       683,109

      TINYPROG       53,520       117,632       225,440       396,592
      LZEXE          52,983       116,980       224,646       394,609
      PKLITE         52,289       115,354       222,995       390,638
      DIET           52,694       116,044       220,799       389,527
      AVPACK         51,943       113,252       217,622       382,817
      AINEXE         51,534       111,350       210,955       373,839
      COMPACK        51,052       111,180       210,956       373,188
      JAM            51,204       109,556       208,292       369,052
      UCEXE          51,053       109,157       205,557       365,767
      WWPACK         49,787       106,209       200,293       356,289

      To make this comparison we used these popular shareware programs:
      AINEXE 2.1 by Transas Marine Ltd.
      AVPACK 1.22 by Andrei Volkov
      COMPACK 4.5 by W.J. Collis
      DIET 1.45 by Teddy Matsumoto
      JAM 2.11 bu Eugen Vasilchenko
      LZEXE 0.91 by Fabrice Bellard
      PKLITE 1.50 by PKWARE
      TINYPROG 3.9 by Tranzoa, Co.
      UCEXE 2.4 by Ad Infinitum Programs
      and of course our WWPACK 3.04 with 'P' command.

      List of files we used to compress:
      QP.EXE (Quattro pro 4.0),
      NCMAIN.EXE (Norton Commander 4.0),
      NDD.EXE (Norton Utility 8.0).

  Is WWPACK very powerful?  Try it and find out!


FREQUENTLY ASKED QUESTIONS

  Q: Can I use WWPACK instead of PKZIP or RAR?
  A: No. With PKZIP or RAR you can pack all kinds of files but you can't
     normally use the packed programs.
     With WWPACK you can compress only EXE files, however, they will still
     run normally!
     So the best way is to use two compression programs: first use WWPACK
     on all EXE files and then use RAR or PKZIP.

  Q: Does WWPACK work with Stacker and DoubleSpace?
  A: Sure. We have tested WWPACK with those programs and everything has
     worked correctly. What's more you will have more space on the stacked
     drive when you compress all your EXE files.

  Q: Is it possible to detect a virus in a compressed file?
  A: No. You can't check if there is a virus under the WWPACK's code.
     That's why everytime you compress some files you must be sure that
     they are virus free!

  Q: Can I run DOS compressed files under Windows 3.1 and Windows 95?
  A: Sure. You can use Windows or DOS.

  Q: Why is the compression ratio of 'PR' so poor?
  A: It isn't poor. This command compresses only relocation tables.

  Q: What's the relocation table?
  A: It's a part of an EXE file. It contains special data that are needed
     to load and then execute program.

  Q: Why can't some overlaid files be compressed?
  A: Because when you compress such a file the overlay offset changes
     and the compressed program may not find an overlay.

  Q: Can I decompress an EXE file compressed with the 'PP' command?
  A: Sure, but you must know the password.
     To decompress the file, enter:  WWPACK U FILENAME.EXE
     Enter a password and wait momentarily. The file will be unpacked!

  Q: I want to create a program that will show if the EXE file is already
     compressed. How can I check if it's packed with WWPACK?
  A: Please see our WWPACK Pascal Support package (\PASCAL directory).
     With our functions and units you will not only recognize WWPACKed
     EXE files. We gives you procedures, that will let you scan WWPACKed
     files for viruses! Please see our examples and CRC source code for
     complete information about how to use Pascal Support units.


HINTS

  o  If you want to compress the file that is already packed with EXEPACK
     you should first unpack it. You will get a higher compression ratio.
  o  Always make backups (especially when you compress files with overlays).
     Why? To make WWPACK much safer.
  o  Allow WWPACK to remove Debug_Info.
     The file without Debug_Info can be up to 10% smaller.


Here are some words about us (authors):

  We are twenty. We are students of the University of Lodz. Piotr studies
  computers (second year). Rafal is a student of International Economical
  and Political Relations (second year also).

  We will improve our program because we like it and it gives us great
  satisfaction. That's why we are waiting for your suggestions.

We would like to thank these people for their suggestions and beta-testing:
Thank you!

  Marcel Barbulescu & Cristi Bradiceanu (The DOP), Peter Hubinsky (Slovak
  Antivirus Center), George Jereza (The ClipBoard BBS), Karl Loncarek,
  Piotr Kuciel, Thomas Monkemeier (VGA Software GmbH), Konrad Olejnik,
  Ralph Roth (ROSE), Grzegorz Zgondek and Romuald Zylla.

We would like to thank to all people, who have tried earlier versions of
WWPACK, especially to all registered users of WWPACK.


WWPACK'S CODE INFORMATION:
  written in
    Turbo Pascal, ver. 7.0   (source code: 3690 lines)
    assembler 8088   (1478 lines)
  utility package and WWPACK Shell:
    written in Turbo Pascal 7.0   (6219 lines)
Software we used to create WWPACK:
  Borland Pascal 7.0, Turbo Assembler 3.2, Turbo Debugger 3.2
    by Borland International
  DocGen II, FileTime 0.1, FTC 2.1, Perfidious 1.0  by Piotr Warezak
  EatMem 1.1c  by TifaWARE
  HackStop 1.11  by Ralph Roth - ROSE
  RAR archiver 1.55  by Eugene Roshal


UPGRADE INFO.

    Thanks for registering.
    Are you interested in a new version of our program? Great!

  How can I get the newest version?

    Wherever you find a newer downloadable version of WWPACK.

  Is that all?

    Sure! The WWPACK.REG file will work with new versions of WWPACK.
    See the top of this file to find out where WWPACK can be found!


All programs mentioned in this documentation are trademarks of their
respective owners. They're used for identification purposes only.

End of the WWPACK documentation file.