History of ProtEXE ------------------ + addition - removal * change ! bug fix 3.11 Sep 1997 Minor bugfix for v3.10, not widely distributed ! fixed bug introduced in v3.0 that caused incompatability with some old 8088-based PC-XT's 3.10 Aug 1997 More tricks to stop unpackers & debuggers, many new features, an interactive shell, a configuration file and some bugs fixed. + credit card ordering is now available - see ORDER.FRM + created commercial version without personalized registration + added code to stop 'universal' unpackers like UPC, CUP, TEU, ... + added anti-debugging tricks, especially designed to kill most commonly used debuggers (including Soft-ICE) + added a layer of polymorphic decryption + added -t option to tie program and decryption code together so that an unpacked version of the executable would never work {+} + added -s option and PTXCrypt programming libraries to allow registered users to dynamically encrypt their data {+} + added -r option to protect programs that stay resident (TSRs) + added -i option to add copyright info to the EXE header + added -ek option to keep the extra data at the old position + added -k option to keep the original code 100% intact * password option now available in the unregistered version also + the password prompt and error message can now be customized + can now wait for a keypress after banner and optionally echo the key pressed, attach a CR/LF and/or abort if ESC pressed * changed order of processing to crc error, registration info, banner, password * changed -eoh switch to -f to allow the 'fake header' option to be used without overlays * can now protect the DOS stub of new executables + registration validation now also shows timestamp code + added an interactive shell which allows you to browse through files and directories and interactively change all the options + added a configuration file to store often used options + added TestMsg tool to test the CRC failed message + added COM2EXE tool to convert COM files to EXE format (especially handy for COM files that would exceed 64K when protected) + included ComprEXE executable compressor and added it as the default to PACKERS.PTX (id 'c') - removed LZEXE from archive (replaced by ComprEXE) * changed COMPACK id from 'c' to 'cp' (to avoid conflict with ComprEXE) + added XPACK to default PACKERS.PTX + added a DESCRIPT.ION file with file descriptions for 4DOS + added a table of contents to the documentation * now displays two sets of statistics if a compressor is used: one relative to the packed file, and one relative to the source file * ProtEXE now works with PKLITEd executables that check their PSP signature * removed PROTEXE.FAQ and put the information it contained within the main ProtEXE documentation ! fixed bug with /eo feature that would let some EXE files crash ! fixed bug that caused the -h option (don't pack header) to be ignored when using a compressor ! fixed bug in the registration validation code that would sometimes cause problems (esp. Qemm386) after running PROTXVER on a program ! COM file overflow was not always detected for small overflows ! relocation table optimizations could theoretically create a relocation at offset 0FFFFh; this has been fixed now ! packer commandline is now treated case sensitive (in case a compressor requires case sensitive options) ! the executable's timestamp was sometimes touched because the file buffers weren't flushed yet; this is fixed now ! fixed bug that caused required memory paragraphs field to be too high in the protected EXE-files 3.01 Dec 1996 Minor update to v3.0, not distributed + added code to stop UPC (universal program cracker) 3.0 Dec 1996 Many new features were added & the security has greatly improved. + added -b option to display a bannerfile + added -p option to password-protect the executable + added -c option to call a compressor before protecting the executable + added -eo option to protect some hardcoded overlaid EXE-files + added -eoh option to fake the old EXE header to be read + added -ec option to CRC check extra data in EXE file {+} + added -h option to keep extra EXE header information + added -d option to protect device driver EXEs etc. + added ability to verify registration information * improved and added anti-debugging tricks * changed, improved and secured encryption system * messagefile may now contain $ characters & CRC failed message can no longer be suppressed with >NUL on the command line * the executable's timestamp isn't touched anymore * statistics have been reformatted and percentages added * improved error/warning handling for easier troubleshooting + support for / switch character as well as - - command line option -0 that got disabled in v2.12 is now completely removed ! using the single parameter form if the file with extension .OLD exists already now works correctly; also if an error occurs during the protection the original file will be left untouched and not renamed to .OLD anymore ! can now stably handle EXE files which rely on the stack segment displacement having a certain value (e.g. LHA & PKZIP SFX). 2.12a Jul 1996 Minor update to v2.12, not distributed ! small bug in default msg in registered version fixed (would show some garbage after the actual message) * regkey may now be in PATH as well as in same directory as EXE 2.12 Jun 1996 Another bug fix, ProtEXE is now stable ! problems with running in an OS/2 DOS box fixed - command line option -0 has been disabled * changed registration system entirely, now uses reg key 2.11 Feb 1996 Major bug fix ! fixed bug that caused incompability with the Pentium processor 2.1 Dec 1995 ProtEXE now supports both COM & EXE files + added support for COM files 2.0 Dec 1995 Major new version, almost a complete rewrite + added lots of anti-debugging tricks * uses true CRC instead of checksum * improved encryption method, especially for long series of the same bytes - magic number option removed; program now automatically picks the encryption parameters at random so that everytime you run it a different EXE file is created - registered version no longer requires USER_ID.DAT; the user name is branded into the EXE file 1.1 May 1995 First public release, complete rewrite * improved encryption method and checksum method + added ability to change checksum error message {+} 1.0 Mar 1995 Original version, never released If you have any suggestions, I'd like to hear them.