home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C!T ROM 5
/
ctrom5b.zip
/
ctrom5b
/
DOS
/
UTILITY
/
COMPRESS
/
WWP301
/
WWPACK.DOC
< prev
next >
Wrap
Text File
|
1994-12-13
|
28KB
|
648 lines
WWPACK
executable file compressor for DOS
version 3.01
Copyright by Piotr Warezak and Rafal Wierzbicki
This program was finished 11 december 1994
Our address: Piotr Warezak
ul. Edukacyjna 31
90-155 Lodz
Poland
In case of any problems or questions you can contact with authors:
Email: ASTER@krysia.uni.lodz.pl
──────────────────────────────────────────────────────────────────
Warning: <R> means that command is available in registered version
──────────────────────────────────────────────────────────────────
Table of contents:
1) Introduction - features
2) Hardware requirements
3) Commands
3.1) Packing executable files 'P' , 'PU' , 'PR'
3.2) Unpacking packed EXE files 'U' , 'UR' <R>
3.3) Testing files 'T'
3.4) Optimizing headers of EXE files 'O'
3.5) Data files - packing and unpacking 'PD' , 'UD'
3.6) Wildcards ('*' and '?')
4) Configuration
5) Backup files
6) Files that can't be packed
7) WWPACK - how does it work ?
8) Efficiency
9) Errors - messages
10) Questions and answers
11) History of program
12) How to registrate and get full version of WWPACK
13) About authors
──────────────────────────────────────────────────────────────────
1) Introduction - features
WWPACK is a short program that belongs to a very popular group of
executable file compressors. What does it mean ? It means that if
you decide to use this program most of your DOS executable files
will take less space on your disks because they will be much
shorter ! Executable files packed by WWPACK runs normally, and
whats more they even don't need WWPACK to run. It means that
programs packed by WWPACK you can normally give to your friends
and possibly they won't know that those programs are packed.
Main features:
- compressing EXE files (in most cases more than 50%)
- fast decompressing of packed EXE files <R>
- packing and unpacking data files
- optimizing headers of EXE files
- recognizing other compressors
- using 80386 code (when 386 or better processor)
- working on 286, 386, 486 and PENTIUM systems
- compatilble with WWPACK 2.0x and 3.0
──────────────────────────────────────────────────────────────────
2) Hardware requirements
WWPACK is advanced executable file compressor. It can be run only
on 80286 or better computers so you can't run it on XT system.
To work with WWPACK you need at least 505Kb free base memory too.
Warning: files packed with WWPACK can't be run on XT computers !
What hardware is recomended ? We think it should be fast 80386
computer with hard disk of course (on floppy disk WWPACK works
much slower). To unpack files 80286 computer is enough.
──────────────────────────────────────────────────────────────────
3) Commands
Here we wrote shortly about all commands of WWPACK compressor.
So if you don't know how to use our program, just read what we
wrote below.
3.1) Packing executable files
P - this command lets you pack executable DOS EXE file.
How can you use it ? Just write: 'WWPACK P FileName.EXE'
where FileName.EXE is a name of a file to pack.
In case of any problem WWPACK will show you what's wrong.
PU - this option works just like 'P' but it makes files that
can't be unpacked. Example: 'WWPACK PU NCMAIN.EXE'.
This option is perfect for the people who want to
distribute their own programs but it's available only
in Enhanced version !
PR - using this option you can pack relocation table of EXE file.
This is not as good as 'P' option but we wanted to keep the
compatibility with WWPACK 2.04. What's more file packed
by WWPACK 'PR' option can be packed by any other compressor.
Can you believe that his option increases ratio of other
compressors ?
3.2) Unpacking packed EXE files <R>
U - this command you can use to unpack EXE files (of course
file must be already packed by WWPACK).
Warning: file must be packed by WWPACK 3.0x with 'P' or 'PR'
option but it can't be packed with 'PU' option.
This option lets you unpack files packed by WWPACK 2.0, 2.01,
2.02a, 2.03, 2.04, 3.00 and 3.01.
Example: 'WWPACK U NCMAIN.EXE' will unpack NCMAIN.EXE file.
UR - this parameter you can use to unpack executable file packed
by WWPACK 3.0x with 'P' option. It unpacks only code but it
doesn't unpack relocation table.
Those two operations will give you the same effect:
1) WWPACK P NCAMIN.EXE
WWPACK UR NCMAIN.EXE
2) WWPACK PR NCMAIN.EXE
Try it !
3.3) Testing files
Using option 'T' you can fint out if any EXE file is already
packed. WWPACK can write which program was use to pack a file.
Write: 'WWPACK T NCMAIN.EXE' and you will know if the file is
packed and which program was used to pack this file.
If you enter 'WWPACK T' command WWPACK will check all EXE files
(it works like 'WWPACK T *.EXE' command).
This copy can recognize files packed with WWPACK 2.0, 2.01, 2.02a,
2.03, 2.04, 3.00 and 3.01.
It can say if the file was packed by one of those compressors:
COMPACK, DIET, Microsoft EXEPACK, XLAND EXEPACK, LINK/EXEPACK,
LZEXE, OPTLINK, PKLITE, PRO-PACK, TINYPROG.
3.4) Optimizing headers
This command doesn't pack files. It can only optimize relocation
table of DOS executable file. It isn't useful for you when you
use WWPACK. But we added this option to WWPACK because many other
compressors can optimize headers.
This option can be use to cut unused space form headers.
Usage: 'WWPACK O FileName.EXE'.
It works only for EXE files of course.
3.5) Data files
WWPACK packs not only DOS executable files. It can packs all kinds
of files just like other compressors.
To pack or unpack data file you can use two commands:
PD - to pack
UD - to unpack (file must be packed by 'PD' option of course
but not 'P', 'PR' , 'PU' !)
To pack a file as a data you can write: 'WWPACK PD File.Ext'
To unpack that file write: 'WWPACK UD File.Ext'
3.6) Wildcards ('*' and '?')
Wildcards can be use in every command of WWPACK.
Here are examples:
'WWPACK PD *.*' will pack all files in current directory as a data
files;
'WWPACK P *.EXE' can be use to pack all EXE files;
'WWPACK T *.EXE' will check all EXE files.
It's very useful. Isn't it ?
──────────────────────────────────────────────────────────────────
4) Configuration
As in many other programs in WWPACK you should set configuration
too. For WWPACK it's enough to set configuration only once and
since that time this program will always use that first setting.
Of course if you want to change something you can always do it.
To run configuration menu just write 'WWPACK C' and press ENTER.
You will see a screen where you can change some options.
By pressing '1' key you can decide if you want WWPACK to delete
or not to delete backup files (OLD and OLP).
By pressing '2' key you can turn on 'Advanced mode'. In this mode
program will show you some informations about file that is beeing
packed.
Using '3' key you can decide what WWPACK should do if it find an
overlay in file. If you set it on 'YES' WWPACK will automaticly
pack the file with overlay. If you set 'ASK' WWPACK will ask you
what to do. If you set 'NO' - file with overlay won't be packed.
By pressing key '4' you can turn on and turn off sound effect.
WWPACK can sygnalize end of a long packing or unpacking.
Key '5' will let you to select kind of code you want to work with.
80386 is of course faster but there are two exceptions:
it won't work on AT computers and it won't work in protected
mode.
80286 will work on all computers (at least AT of course)
AUTODETECT - WWPACK can automaticly set the best code everytime
you run it.
Using 'T' key you can set standard configuration.
When you finish setting new configuration press 'S' to save it
to a file. To quit without saving press 'ESC'.
Here is an example of configuration (it can be set with 'T' key):
Backup files ON
Advanced mode OFF
Overlays ASK
Beep when done ON
32-bit code AUTODETECT
──────────────────────────────────────────────────────────────────
5) Backup files
When you work with WWPACK you should know that this program can
make backup files. It means that if you pack any EXE file (for
example NCMAIN.EXE) you will get packed file (NCMAIN.EXE) and
backup file (NCMAIN.OLD - unpacked).
You will get backup file during unpacking too but the extension
will be OLP.
Why WWPACK makes backup files ?
Because some EXE files you pack may not work properly. But if you
make backup file you will be able to delete packed file and copy
OLD (or OLP) file to EXE.
Of course that wouldn't make any sense to keep all OLD and OLP
files on your hard disk. So everytime you pack or unpack any EXE
file check if it still works properly and then delete backup file
(or store it on floppy disk).
Warning: WWPACK makes backup files only when you pack executable
file so you will not get backup files when using 'PD' or 'UD'
command.
──────────────────────────────────────────────────────────────────
6) Files that can't be packed
Using WWPACK you can pack most of your DOS executable files but
there are some exceptions. From time to time you will find program
that won't work correctly. It's impossible to say which program
won't work; you just have to check every packed file.
Which program may not work ?
a) program that uses CRC of a file you want to pack or checks it's
size;
b) program that has configuration data hidden in EXE file;
c) device drivers (installed in CONFIG.SYS by DEVICE command).
Examples: EMM386.EXE, SETVER.EXE, SMARTDRV.EXE, NCACHE2.EXE.
d) program for WINDOWS and OS/2.
Many of files that contains overlays may not work too.
Very often you will read 'Overlay not found' or 'Overlay error'
message. That tells that file can't be packed.
──────────────────────────────────────────────────────────────────
7) WWPACK - how does it work ?
Only in short.
When you run unpacked file DOS loads it into memory and jumps to
adress shown in header. That is easy.
But packed file can't be run in this way because packed code and
data aren't readable for CPU. That's why WWPACK must add to packed
file short decompression procedure. Now when you run packed
program DOS jumps to decompression procedure which unpacks code
and data to memory; after that program can be run normally.
In WWPACK we used our own compression method. We think that it's
similar to other compression methods but there is one difference
between our and other procedures. In other compressors code and
data are beeing packing in only one phase.
But in WWPACK compression consists of three phases:
first: code analyzing (when WWPACK is looking for all strings)
second: WWPACK optimizes found strings
third: now code is beeing packed.
That's why WWPACK isn't to fast but so powerful.
──────────────────────────────────────────────────────────────────
8) Efficiency
WWPACK is the most powerful executable file compressor. We don't
want write here any numbers and compare it to other programs
because you could say that we used to test selected files ("that
are better" for WWPACK).
We think that you should try WWPACK on your own computer and that
you should try how does it compare to other compressors.
We can guarantee that it will be the most powerful executable file
compressor in most cases (unless you will find a new program that
we don't know).
JUST TRY IT AND COMPARE TO THE OTHER COMPRESSOR !
Here we can only show differece between unpacked and packed files:
(all sizes are shown in bytes)
│ original │ packed by │ packed by
FileName │(unpacked)│WWPACK 3.00│WWPACK 3.01
───────────┼──────────┼───────────┼───────────
ARJ.EXE │ 116228 │ 77250 │ 77243
GWS.EXE │ 173212 │ 61540 │ 61478
LHA.EXE │ 33819 │ 24945 │ 24956
RAR.EXE │ 153058 │ 75591 │ 75556
───────────┼──────────┼───────────┼───────────
All files │ 476317 │ 239326 │ 239233
Ratio │ 0% │ 49.76% │ 49.78%
I hope that's enough to convince you to use WWPACK!
──────────────────────────────────────────────────────────────────
9) Errors - messages
Here is a short explanation of each ERROR and message that may
appear when working with WWPACK.
ERROR #1
Name of the file to process wasn't entered.
Please enter command and filename and than run WWPACK again.
ERROR #2
File you want to process has set attribute SYSTEM or HIDDEN.
Please change file attributes.
ERROR #3
WWPACK can't find the file you want to process.
Probably you entered bad file name - please check it and run
program again.
ERROR #4
Try run WWPACK from other disk.
You need more free space on disk to continue.
ERROR #5
File probalby contains an overlay. If you still want to pack it
change configuration (run WWPACK with 'C' parameter).
ERROR #6
File you wanted to pack, optimize or check isn't DOS executable
file. It can be packed only with 'PD' command.
ERROR #7
File isn't packed by WWPACK so it can't be unpacked.
ERROR #8
File header is damaged.
It can be packed only with 'PD' command.
ERROR #9
To many relocations - file can't be processed.
ERROR #10
Program is already packed by other compressor.
If you want to pack it using WWPACK, you must first unpack it.
ERROR #11 / #12
'PR' nor 'O' command can't be used because file doesn't consist
long enough relocation table. In file there should be at least
two relocations to use those commands.
ERROR #13
Error in relocation table of EXE file.
File can't be packed nor optimized.
ERROR #14
Packed relocation table is to long - file can't be packed.
ERROR #15
Unrecognized error while saving compressed file.
Please check if on the disk there is enough free space.
ERROR #16
Please delete READ ONLY attribute to continue.
ERROR #17 / #18
Bad file extension.
OLD and OLP files can't be processed by WWPACK.
Please change file extension and run WWPACK again.
ERROR #19
File is packed by unrecognized version of WWPACK
(probalby new version of WWPACK was used to pack it).
ERROR #20 / #21
Error while saving or reading configuration data.
Please check WWPACK.EXE attributes (only ARCHIVE attribute
can be set; READ ONLY, SYSTEM and HIDDEN should be deleted).
ERROR #22
To many files in current directory. Please move part of those
files to other directory and than try again.
ERROR #23
File can't be unpacked because it was packed by WWPACK Enhanced
with 'PU' option.
ERROR #24
Code is already unpacked - you can use only 'U' option to unpack
relocation table.
ERROR #25
Not enough free memory to run WWPACK.
Please remove some resident programs from base memory and than
run WWPACK again.
ERROR #26
Unrecognized command.
Please check entered command and run program again.
ERROR #27
File header probably damaged.
File can't be packed.
ERROR #28
File can't be packed because relocation table has data that
can't be compressed.
Here are explanation to other messages and questions that you
may meet when working with WWPACK:
Delete file FILENAME.EXT to make backup file [Y/N] ?
WWPACK operates on WORK.WWP, *.OLD and *.OLP files.
That's why from time to time this question may appear.
WWPACK must be sure that those files can be delete.
Press 'Y' key if you want to pack, unpack or optimize file
and delete old FILENAME.EXT.
File FILENAME.EXE has set attribute READ ONLY.
Change file attribute [Y/N] ?
Files with set attribute READ ONLY can't be processed.
Before compression WWPACK must ask if attribute can be changed.
Press 'Y' to continue or 'N' to abort and quit to DOS.
Warning: file may contains overlays (xx bytes). Continue [Y/N] ?
This question will appear if in configuration menu option
'Overlays' you set on 'ASK' and WWPACK find an overlay in file.
Press 'Y' if you want to continue packing (optimizing)
or 'N' to abort operation.
File size put in header bigger than real file size.
Processed file may not work properly. Continue [Y/N] ?
This message appears very seldon. It says that file is probably
damaged. But you can continue if you prees 'Y' key.
Warning: packed file may not work !
Warning: file already packed by (Microsoft/LINK) EXEPACK.
Continue [Y/N] ?
File is already packed by Microsoft EXEPACK or LINK/EXEPACK.
If you still want to pack it press 'Y' key.
But remember that file will be packed better if you first unpack
EXEPACK's procedures.
Warning: protected mode detected - can't use 32-bit code.
When computer is in protected mode 32-bit code can't be used.
WWPACK recognizes this mode and automaticly turns on 80286 mode.
This message may appear when EMM386 or any other expanded
memory manager is loaded.
──────────────────────────────────────────────────────────────────
10) Questions and answers
Q: Can I extract files packed by other compressor ?
A: Of course not ! If you find file packed by other compressor
you should use an unpacker for procedures of this file.
We can only say that there is a lot of SHAREWARE programs that
can unpack almost all packed files.
Q: Do I have to register WWPACK if I want to use it ?
A: Yes. It isn't FREEWARE and it isn't PUBLIC DOMAIN too.
You will became legal user only if you register and pay at
least 25$. What's more when you register you will get full
and the newest version of WWPACK. Using full version you can
extract packed files. If you register you will get three
short programs for free: COMEXE, EXEINFO and REMOVEOV.
Q: Does WWPACK work with STACKER ?
A: Yes. We've tested it and everything has worked correctly.
Here are results for four files saved on Stacker drive:
(ARJ.EXE, GWS.EXE, RAR.EXE and LHA.EXE)
when files are unpacked: 6.422.528 bytes free on disk
when files are packed by WWPACK: 6.692.864 bytes free on disk
As you see more space on stacked drive you will have when you
pack all DOS executable files.
Q: Why can't I pack COM files ?
A: If you register our program you will get COMEXE file that will
let you pack most of COM files.
Q: Sometimes WWPACK hangs on in 80386 mode. Why ?
A: It may happen if you run WWPACK after a program that uses DPMI
procedures (for example BORLAND PASCAL). If it happens often
you may set 80286 mode in configuration menu. WWPACK will be
a bit slower but it will work correctly.
Q: Where can I find the latest version ?
A: The newest shareware version of WWPACK you can always find in
SimTel.
──────────────────────────────────────────────────────────────────
11) History of program
Version 1.00 date: 20-05-93
First version of WWPACK (it was a part of WWUTILITY package).
Not distributed. Packs only relocation table.
Version 2.00 date: 24-11-93
First shareware WWPACK.
Still packs only relocation table.
- added 'U' option (unpacking files)
- added 'PT' packing option (CRC procedures in packed files)
- new unpacking procedures for packed files (now it really works
properly)
- code is better and faster
- removed many bugs
Version 2.01 date: 08-01-94
- new parameter: 'T' (check file if it's already packed)
- better packing and optimizing procedures
- now READ ONLY files can be packed
- removed error (range check error in relocation table)
- automatic anti-vir test
- some changes in code
Version 2.02 date: 10-02-94
That was test version (not distributed).
- packing files with overlays
- removed error in optimizing files
Version 2.02a date: 06-03-94
- shorter unpack procedures
- faster optimizing procedures
- optimized code
Version 2.03 date: 10-07-94
- new, faster unpacks procedures (changed method of running
packed files)
- removed 'PT' procedures (it was to easy to hack and not useful
really)
Version 2.04 date: 29-08-94
- better interpreting of incorrect relocation tables
(overflow ? - relocation on farther than 65536*16 position ?)
Version 3.00 date: 16-11-94
First version available in internet.
Now it packs not only relocation table but code and data too.
Built on v2.04 but with more than 50 changes in old procedures
and more than 1500 lines of new source code.
Main changes from 2.04:
- packs code and data
- option 'T' recognizes files packed not only by WWPACK but by
other compressors too
- added 'PU' option (enhanced version only)
- new parameter: 'UR' (to unpack code and data only) <R>
- now WWPACK packs data files (added 'PD' and 'UD' options)
- new configuration menu
- now WWPACK understands wildcards ('?' and '*') and can pack all
files in current directory
Version 3.01 date: 04-12-94
- more than 70% faster compression
- a bit better compression
- faster decompression in registered version
- new command 'WWPACK T' checks all EXE files
- removed small bug in compression procedures
- now works with SHARE resident program
- removed some compression methods: now the best means the fastest
- v3.01 recognizes more packers
- new procedures of allocating memory (less memory needed to run)
Version 3.02
Of course 3.01 isn't our last version. We will try to make WWPACK
faster and better. If you decide to registrate 3.01 you will be
able to get next version much cheaper.
We have got some good ideas, so ...
──────────────────────────────────────────────────────────────────
12) How to registrate and get full version of WWPACK
WWPACK isn't freeware product. You can use shareware version for
two weeks and you can give it to your friends.But after that time
you should decide if it's good enough and if it can be useful for
you.
If you registrate our program, you will get full version and you
will be able to get new version cheaper (when available).
If you want to registrate you should decide which version you are
interested in. You can choose between two:
WWPACK 3.01 for personal use only.
It costs 25 USD but you musn't sell and distribute any programs
packed with this version !
WWPACK 3.01 Enhanced for distributors.
It has added 'PU' option that makes unextracable files.
It costs 50 USD. You must have this version to distribute your
programs packed with WWPACK.
If you decide to registrate run WWPACK with '?' parameter and then
press 'R' key. Than enter your name and address, select disk type
and WWPACK version you want to get (Enhanced or no). Than print
order, read it and send it to our address and pay for WWPACK.
We will send you full version of WWPACK registered to you.
──────────────────────────────────────────────────────────────────
13) About authors
Piotr is eighteen years old, Rafal is nineteen. We lives in Lodz.
We are students at University of Lodz. Piotr studys informatic,
Rafal studys international trade and politics (MSGiP). It's our
first year of studying.
We are going to make WWPACK one of the most popular executable file
compressor for DOS - that's we are waiting for your letters and
propositions.
──────────────────────────────────────────────────────────────────
We would like to thank for help to:
Piotr Kuciel, Bartek Kurzyk and Wojciech Wysznacki
and to everybody who tried WWPACK 3.0.
──────────────────────────────────────────────────────────────────
End of WWPACK documentation.