home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
BBS 1
/
BBS#1.iso
/
for-dos
/
wwpack30.arj
/
WWPACK.DOC
< prev
next >
Wrap
Text File
|
1994-11-28
|
28KB
|
667 lines
WWPACK
executable file compressor for DOS
version 3.0
Copyright by Rafal Wierzbicki and Piotr Warezak
This program was finished 16 november 1994
Our address: Piotr Warezak
ul. Edukacyjna 31
90-155 Lodz
Poland
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) Quick start
4) Commands
4.1) Packing executable files 'P' , 'PU' , 'PR'
4.2) Unpacking packed EXE files 'U' , 'UR' <R>
4.3) Testing files 'T'
4.4) Optimizing headers of EXE files 'O'
4.5) Data files - packing and unpacking 'PD' , 'UD'
4.6) Wildcards ('*' and '?')
5) Configuration
6) Backup files
7) Files that can't be pack
8) WWPACK - how does it work ?
9) Efficiency
10) Errors - messages
11) Questions and answers
12) History of program
13) How to registrate and get full version of WWPACK
──────────────────────────────────────────────────────────────────
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.
In this doc-file we wrote something about all commands of WWPACK.
If you have had any other executable file compressor, you can
read only 'Quick start' and 'How to registrate and get full...'.
You can find answers for many problems in 'Errors - messages'
chapter too.
But if you see this kind of program first time, we think that you
should read all chapters.
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
──────────────────────────────────────────────────────────────────
2) Hardware requirements
WWPACK is advanced executable file compressor and it really need
fast computer. It can be run only on 80286 computers or highers
so you can't run it on XT computer. Whats more programs packed by
WWPACK need AT computer too ! The second think we should write
here is that you ought to have as many base memory as possible
(at least 540Kb).
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) Quick start
WWPACK works exactly like other executable files compressors.
Here we wrotes what WWPACK can do.
Packing and unpacking DOS EXE files:
- to pack file write: 'WWPACK P FileName.EXE'
'WWPACK PU FileName.EXE' to make an unextracable file (this is
only is Enhanced version)
- to unpack packed executable file <R>:
'WWPACK U FileName.EXE' - unpack code and relocation table
'WWPACK UR FileName.EXE' - unpack code but not relocation table
Packing and unpacking relocation table:
- to pack only relocation table: 'WWPACK PR FileName.EXE'
- to unpack relocation table: 'WWPACK U FileName.EXE'
Packing and unpacking data files:
- to pack any file just write: 'WWPACK PD FileName.EXT'
- to unpack packed file you must write 'WWPACK UD FileName.EXT'
Command we hadn't met in any other executable file compressor is
option 'T'. Using this option you can find out if the file is
already packed by WWPACK or any other compressor.
Example: 'WWPACK T FILE.EXE'.
The last option is 'O'. Using this option you can optimize the
header of EXE file.
Warinig: works only if the file you want to process has at least
two positions in relocation table !
How to use 'O' command: 'WWPACK O FileName.EXE'
When running WWPACK wildcards can be use. It's very useful when
'T' option is use. For example to scan directory you can write:
'WWPACK T *.EXE' (it works similary to DIR command from DOS).
──────────────────────────────────────────────────────────────────
4) Commands
In this chapter we wrote about commands of WWPACK compressor.
So if you don't know how to use our program, just read what we
wrote below.
4.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 inform you what's wrong.
PU - this option works just like 'P' but it makes files that
can't be unpack. 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 ?
4.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.0 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 and 3.00.
Example: 'WWPACK U NCMAIN.EXE' will unpack NCMAIN.EXE file.
UR - this parameter you can use to unpack executable file packed
by WWPACK 3.0 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 !
4.3) Testing files
Using option 'T' you can fint out if any EXE file is already
packed. WWPACK can write what 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.
This copy can recognize WWPACK 2.0, 2.01, 2.02a, 2.03, 2.04, 3.00.
It can say too if the file was packed by one of those compressors:
COMPACK, DIET, Microsoft EXEPACK, XLAND EXEPACK, LINK/EXEPACK,
LZEXE, OPTLINK, PKLITE, PRO-PACK, TINYPROG.
4.4) Optimizing headers
This option 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 has it implemented.
This option can be use to cut unused space form headers.
Usage: 'WWPACK O FileName.EXE'.
It works only for EXE files of course.
4.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 files you can use two commands:
PD - it can be use to pack any file
UD - to unpack packed file (file must be packed by 'PD' option
of course; 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'
4.6) Wildcards ('*' and '?')
Wildcards can be use in every command of WWPACK.
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 ?
──────────────────────────────────────────────────────────────────
5) Configuration
As in many other program 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
packing.
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.
Keys '6' and '7' will let you to change compression method.
When you are in configuration menu you can press 'M' to set best
compression mode or 'F' to set fastest compression.
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
(we think it's the best but the slowest):
Backup files ON
Advanced mode OFF
Overlays ASK
Beep when done ON
32-bit code AUTODETECT
Analising data OPTIMAL
Compression method MAXIMUM
──────────────────────────────────────────────────────────────────
6) 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.
Warning: WWPACK makes backup files only when you pack executable
file so you will not get backup files when using 'PD' or 'UD'
command.
──────────────────────────────────────────────────────────────────
7) Files that can't be pack
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 pack.
──────────────────────────────────────────────────────────────────
8) WWPACK - how does it work ?
Only in some sentences.
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 founded strings
third: now code is beeing packing.
That's why WWPACK is so slow but so powerful.
──────────────────────────────────────────────────────────────────
9) 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 any other program.
We can guarantee that it will be the most powerful executable file
compressors 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 different between unpacked and packed files:
(all sizes in bytes)
FileName │ Original │WWPACK PR │WWPACK P │RATIO (P)
─────────────┼──────────┼──────────┼──────────┼──────────
ARJ.EXE │ 116228 │ 115299 │ 77250 │ 33.00 %
GWS.EXE │ 173212 │ 165940 │ 61540 │ 62.91 %
LHA.EXE │ 33819 │ 33888 │ 24945 │ 26.24 %
RAR.EXE │ 181450 │ 174562 │ 74887 │ 57.10 %
─────────────┼──────────┼──────────┼──────────┼──────────
All files │ 504709 │ 489689 │ 238622 │ 47.27 %
I hope that's enough to convince you to use WWPACK!
──────────────────────────────────────────────────────────────────
10) 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 pack 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 relocation to use those commands.
ERROR #13
Error in relocation table of EXE file.
File can't be pack nor optimize.
ERROR #14
Packed relocation table is to long so 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.
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 pack by WWPACK.
ERROR #28
File can't be pack by WWPACK because relocation table has data
that can't be compress.
ERROR #29
Sorry, but WWPACK can't work when SHARE program (from MS-DOS)
is loaded. Please remove SHARE from memory and than run WWPACK
again.
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.
Packed 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 use.
WWPACK recognizes this mode and automaticly turns on 80286 mode.
This message may appear when EMM386 or any other expanded
memory manager is loaded.
──────────────────────────────────────────────────────────────────
11) 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 in SHAREWARE there is a lot of unpackers
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.
Q: Why WWPACK is so slow ?
A: We know that WWPACK 3.0 is very slow. But now we can't do
anything about it. May be in future...
Now we can only say that it's powerful and that's the reason.
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 those files.
Questions, problems, bugs - please send: ASTER@krysia.uni.lodz.pl
──────────────────────────────────────────────────────────────────
12) 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
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
any other compressor 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
Soon available: WWPACK 3.01
- more than 50% faster compression (sometime even 75%)
- faster decompression
- less memory needed to run WWPACK
──────────────────────────────────────────────────────────────────
13) 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.0 for personal use only.
It costs 25 USD but you musn't sell and distribute any programs
packed with this version !
WWPACK 3.0 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 (Enhanced or no). Than print order form and
send it to our address and pay for WWPACK.
We will send you full version of WWPACK registered to you.
──────────────────────────────────────────────────────────────────
Thanks for help to:
Piotr Kuciel, Bartek Kurzyk and Wojciech Wysznacki.
──────────────────────────────────────────────────────────────────
End of WWPACK documentation.