©1999 by Jeremy Collake
All Rights Reserved.
Email: sales@thedigitaldetective.com
Homepage: http://www.thedigitaldetective.com/PECompact/default.htm
http://webpages.charter.net/collake
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 and DLLs,
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 symbiote 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 or
network.
Features
Usage
PECompact is highly configurable, however it auto-configures itself to the
recommended settings, so if you don't know what any of the below means don't
worry because there will probably never be a need to use any of it.
PECompact can be run without any parameters, however it also accepts the
following command line syntax:
PECompact [filename] [switches]
Switches
Command line switches override a saved configuration.
Options
Operations
Advanced Configuration Toggles
Menu Options
Plugins
PECompact has unique support of
plugins to allow users to add new functionality to the PECompact symbiote. This
section is briefly describes the specifications for plugin development, it is
intended for developers only.
Plugin code is read from an
exported procedure of a DLL. This code is loaded into the symbiote, with the
exception of the encryption plugin in which it is not necessary to do so. The
code has read/write access to itself, however delta offsets must be calculated
because the code will not be loaded at its default base on compile. Please see
my sample plugins, they should make everything obvious.
Of course, it is NOT necessary to
include the plugin DLLs with the compressed application.
Encryption Plugin
------------------
Exported API: EncryptPlugin
Maximum Size: 100h
On entry:
edi->destination
esi->source
ecx=size
Preserve:
You must preserve all registers except
edi,esi, and ecx.
Notes:
This plugin is executed prior to
compression of a section.
Decryption Plugin
------------------
Exported API: DecryptPlugin
Maximum Size: 100h
On entry:
edi->destination
esi->source
ecx=size
Preserve:
You must preserve all registers except
edi,esi, and ecx.
Notes:
This plugin is executed after
decompression of a section.
Post-operative Plugin
---------------------
Exported API: PostOperativePlugin
Maximum Size: 200h
On entry:
esi->LoadLibrary
edi->GetProcAddress
Preserve:
Nothing necessary.
Notes:
This plugin is executed immediatly prior
to passing control
back to the original entry point of the
executable.
License
To continue using PECompact after the 14-day evaluation period, you must
purchase your copy of PECompact. For purchasing information please visit TheDigitalDetective
or email sales@thedigitaldetective.com.
The types of licenses currently available are:
Consumer
License |
$15 |
Licensed
for use on a single computer for private use or for use on freeware
applications by authors. |
Shareware
License |
$40 |
Licensed
for use on shareware applications by authors. |
Commercial
License |
$140 |
Licensed
for use by software companies and teams of programmers on commercial/retail
applications. |