Introducing ExeLock
Program Requirements
What Is ExeLock?
Getting Help
How May I Use It?
What Is Included?
Step By Step
Basic Encapsulation
Apply a Password
Apply a Time Trial
Register a Time Trial User
The GUI in Detail
The ExeLock GUI
Executable Selection
Basic Settings
Compression Settings
Password Protection
Evaluation Settings
Command Line Usage
GenerateKey
Appendices
Common Questions
Password Encryption Details
Error Messages
End User License Agreement

In almost all cases the default settings for resource compression should be used. It is recommended that you change these settings only if you suspect a problem is being caused by the resource being compressed on disk, or if you have need to manipulate the resources externally to the program.

Most of these options are self-explanatory. Additional information is given where useful.

Compression

Do Not Compress

Encapsulates file with no compression. Password Protection and Evaluation Protection are unavailable in this mode due to their reliance on Non-Restorable/Max Compression.

Use Quick Compression

Instructs ExeLock to use a minimal compression scheme. Useful if engaging in de-bugging or repetitive encapsulation in order to save some time.

Restorable Compression

Executables that have been compressed using restorable compression can be restored to their original state. This is done with the 'Restore' tab in the interface.

Non-Restorable/Max Compression

It is impossible to restore files which were compressed with Max Compression. There are no options to be set for reversing compression, ExeLock will detect the settings used and restore the original executable in a byte for byte identical manner. If you want to protect your programs for distribution, as well as reduce their size, do not use reversible compression. Always use Max Compression on executables you will distribute.

Other Resources

There are several types of resources that we do not currently classify separately under ExeLock. These include user-defined resources, strings, menus, dialog boxes, fonts, and accelerators. Under most circumstances you will want to compress these resources.

Compress Bitmaps

Note: It is recommended that you do not use RLE (run-length encoded) bitmaps in your resources if you intend to compress with ExeLock. This is because the compression in ExeLock is much more efficient than RLE, so that RLE encoding interferes with this compression. ExeLock compression alone will usually produce smaller files than either RLE by itself or a combination of RLE and ExeLock.

If every byte counts you may want to experiment with different combinations of compressed bitmaps and uncompressed bitmaps to see which obtains the best results.

Miscellaneous

Data Preservation

If your executable uses data that is deliberately appended to the executable image you will need to preserve it separately during compression. This extra data is normally discarded.

In some special cases, programs have appended data which is assumed to be at a certain fixed location. In order for this type of program to function normally the DataSim option needs to be used. If you are the author of the program you are well aware of this property of your program.

If you are compressing an executable of unknown properties assume normal settings initially. If you encounter a problem, modify the appended data settings if you determine that altering resource-related settings has not solved the problem. Extra data at the end of the file is the more likely situation.

DataSim

Some programs use data that is appended to the end of the executable image. The result is data and program contained in a single file. In some instances the program expects to find this data at a fixed location within the file, in other cases it locates the data by starting from the end of the file and working its way backwards.

In the latter case the only special handling of the file that is needed is to not compress or remove this appended data. In the case of programs expecting data at a fixed location from the front of the file special measures are necessary.

This is where DataSim comes into play. This technology allows us to simulate the original file. The program is not aware it has been compressed, and when it looks for its appended data it will seem to find it just where expected. This appended data can optionally be compressed, resulting in the greatest possible reduction in file size.

Non-ordinal Imports

Functions can be imported either by name or by number (also known as ordinal). Normally, ExeLock compresses imports, including both ordinal and non-ordinal, so that they take up less space. When the program is run, the ExeLock loader expands the compressed imports, then looks up the imported functions and dynamically links them to the program being run.

This mechanism doesn’t work when an imported function has been exported by ordinal value only (also called NONAME). Note: This is fairly unusual, try compression without this options first.

You might need this option if, at run time after compression, you get a message box warning: "Unable to locate exported function # in ".

Thunk EXE Exports

Some executables (.exe, not .dlls) can be "entered" by way of exported functions before the main entry point has been called.

This option adds code to the compressed file which allows the ExeLock loader a chance to expand the compressed file when the exported functions are called. Since code is added, the resulting files will be somewhat larger. Only use this option if your .exe files don't work after being compressed. The option has no effect on DLLs.

Icons

The default icon compression setting leaves the first group of icons uncompressed. It is necessary to leave the first icon group uncompressed because it is used by Windows to represent the program (and possibly associated data files) when listed in Explorer. In some circumstances you may want to leave additional icons uncompressed, and for some DLLs you may be able to compress all icons without ill effect.

Additional Compression Information

Registering DLLs and OCXs

All OCXs and some DLLs need to be ‘registered’ with the operating system before use. This is frequently done with regsvr32. If you are compressing a program that will need to be registered you must set certain options.

· Do Not Compress Icons

· Do Not -Compress ‘Other’ Resources

This will ensure that Windows can locate the information it needs to register the DLL or OCX correctly.

Version Resources

ExeLock always leaves version resources (a special type of resource Windows uses to identify the version of a file) uncompressed so that they can be read from outside the program.



Copyright ©2002 StratusBurg LLC.