
PECompact v0.92 beta
(c)1999 by Jeremy Collake 
All Rights Reserved.
Email: collake@charter.net
Homepage: http://webpages.charter.net/collake
	  http://pecompact.cjb.net

=========================================================================
This software is provided as-is, without warranty of ANY KIND,
either expressed or implied, including but not limited to the implied
warranties of merchantability and/or fitness for a particular purpose.
The author shall NOT be held liable for ANY damage to you, your
computer, or to anyone or anything else, that may result from its use,
or misuse. Basically, you use it at YOUR OWN RISK.
========================================================================

PECompact is a utility that compresses Windows 9x/NT4/w2k executables, 
while leaving them 100% functional. PECompact compresses the code, data, 
selected resources, import/export table of a win32 executable and 
optimizes its structure. It then installs a symbiont which decompresses 
the executable at run-time without any noticeable speed difference. Load 
time can actually be improved in some cases because less data has to 
be retrieved from the disk.

Features:
	+Compresses Windows executables significantly, while leaving
	 them 100% functional.
	+Compresses code, data, import/export table, and selected 
	 resources.
	+Section merging and resource data restructuring.
	+Trims, optimizes, and realigns PE structure.
	+Preserves shell icon and version information, or any other
	 resources you chose to leave uncompressed.	 
	+Highly configurable.
	+Uses my own JCALG1 compression, which offers decent compression
	 speed, great compression ratio, and extremely rapid decompression.
	+Removes debug information and other optional directories from 
	 the executable prior to compression.
	+Written in 100% assembly language for maximum performance and
	 minimum size.
	+Easy to use.

USAGE:

To invoke PECompact, simply run PECompact.exe with or without the optional
filename parameter. 

OPTIONS:

[ ] Restructure Resource Data
        On/Off toggle to restructure resource data in a manner more 
        friendly for compression.

[ ] Restore Resource Data
	On/Off toggle to restore resource data to its original offsets
	during decompression. If a compressed application doesn't run 
	when the resource data is restructured, turn this toggle on.	
	
[ ] Merge Sections
	On/Off toggle to merge compressible sections, therefore reducing
	the overhead of file alignment in the PE structure.
	
[ ] Compress Export Table
        On/Off toggle to allow compression of the export table. You
        should turn this off for DLLs.
        
[ ] Backup File
	On/Off toggle to backup the file before compression. Backup
	file will have a .bak extension appended.
	
Resource Types
	Allows you to specify which resource types may be compressed.
	
[ ] Compress all icons but first
	This option allows you to compress all the Icons and Group Icons
	except the first in the respective directory. The first is 
	usually the shell icon, but not always.
	
Comp. Level
	This slider allows you to adjust the level of compression. This
	will only affect compression speed and ratio, decompression
	speed will not be affected in any significant way.
	
Configuration / Register Shell Extension
	Select this menu option to register PECompact as a shell 
	extension, adding it to the explorer menu for EXE files.

		
WARNING ON DLL Compression:
	This version of PECompact does not handle relocations (in an
	effort to keep the symbiont as small as possible). Therefore,
	in order to PECompact DLLs, you must first make sure that no
	there will be no collision between the DLL and its associated
	application(s). This can be done by rebasing the DLL; see 
	Microsoft's rebase utility or specify the image base at link
	time.
	
License
========================================================================
PECompact is freeware for use on applications which are themselves
freeware. If you plan to use PECompact on an application which will
be distributed as shareware, you must register PECompact for $20 USD.
For a commercial/retail license you must contact the author at 
collake@charter.net for price negotiation.

To register your copy of PECompact for shareware use, please send a
check or money order for $20 to:

Jeremy Collake
PO BOX 426
Talbott, TN 37877

Include your name or company name, mailing address, email, and optionally
your phone number. Indicate whether you wish to have the registered 
version of PECompact sent to you via email, or mailed to you on a 3.5" 
disk. 


