PECompact Changelog

What's new in PECompact 3.03.21 Beta

Oct 8, 2011
  • Fix.core/loaders: Fix of a memory leak on compressed DLLs that are loaded, then freed. Note that the leak will still exist if you use any API hook plug-in because the decompressed loader can't be deallocated since it contains API hook code that may be later referenced.
  • Fix.core: Fixed possible memory corruption on DLLs that support SafeSEH and get relocated (via ASLR or base collision)
  • Addition.core: Added deep delete and/or relocate of LoadConfig directories
  • Addition.core: Added proper SafeSEH and LockTablePrefix support
  • Addition.core: Proper registration of loader exception handler(s) is (created or appended) SafeSEH table
  • Change.GUI: Standardized command line switches, so always 'Y' and 'N' instead of some intermingled 'Yes' and 'No's
  • Fix.EAD.Loader: The Enhanced Anti-Debug Loader could previously wipe out one of the watermarks stored by PEWatermark, causing runtime retrieval of the watermark to fail

New in PECompact 3.02 (Feb 27, 2010)

  • Changes:
  • Fix.Core: Fixed issue where debug directory entry wasn't completely cleared when stripping of debug directory was indicated
  • Addition.Plugins: Added a new loader that does not execute any code from writable dynamic memory allocations (pec2ldr_no_rwx_mem). This is useful in various situations.
  • Change.Plugins: Updated IsDebuggerPresent plug-in by BoBSoft
  • Change.Licensing: Extended trial period to 30 days to give users time to evaluate product
  • Change.PEHideText: Increased size of encrypted text marker to ensure no accidental collisions with random code and data. This makes the new version incompatible with the old version, so be sure to get the latest PEHT lib.
  • Change.PEHideText: If key not supplied on command line, then a random number is used.
  • Change.Loader: Minor maintenance
  • Change.Loader.Slim: Slim version of loader tweaked a bit
  • Change.Loader.Enhanced.Anti.Debug: Added new anti-debugging capabilities (note: EAD loader is a seperate purchase)
  • Change.Loader.Enhanced.Anti.Debug: Added new anti-dump capabilities (note: EAD loader is a seperate purchase)
  • Change.Updater: Consolidated all locale specific update checker resource files into main resource files
  • Change.Docs: Some formatting and content updates
  • Change.All: Removed cs_cpl (language selection) DLL, library is now statically linked
  • Addition.Installer: Added help, about, and publisher links for use by the OS
  • Fix.Updater: No longer shows update check dialog if 'never check for updates' is selected
  • Change.Installer: Reduced total install size
  • Fix.Installer: Improved uninstall procedure to properly clean up the newly renamed default PECompact start menu folder
  • Fix.Installer: Fixed rarely used 'Visit Bitsum Tehcnologies' start menu shortcut
  • Fix.Installer: Fixed missing PEC2CodecSDK.h for CODEC SDK (registered build only)
  • Fix.Installer: Fixed scrambled Swedish EULA

New in PECompact 3.00.1 (Jul 22, 2009)

  • Addition.Package: Added user contributed ElfHash plug-in (a fast hash algorithm)
  • Addition.Package: Added user contributed Pascal/Delphi header files for all plug-in types (registered version only)
  • Addition.Package: Added user contributed 'IsDebuggerPresent' API plug-in (registered version only)
  • Addition.Package: Added user contributed API hook and Codec plug-ins developed in Delphi
  • Addition.Installer: Added x64 build of PEHTLib.lib
  • Change.GUI: Improved message boxes (updated to XMessageBox 1.10 and applied Bitsum custom mods)
  • Change.PETrim: Enhanced stripping of debug directories
  • Change.PEHTLib: Change to macros
  • Change.Installer: Switched to UNICODE build of NSIS
  • Change.Localization: Updated Swedish translation
  • Change.Docs: Added credits for contributions of BoB of team PEiD
  • Change.Docs: Some minor maintenance and improvements
  • Removal.Installer: Some out of date languages removed
  • Fix.GUI: Adjustments to initial display position of child windows
  • Fix.UpdateChecker: Fixed missing space after beta version numbers
  • Fix.Installer: Fixed missing application icon in 'Add/remove programs' or 'Programs and features'
  • Fix.PEHTLib: Some fixes for thread safety, applies only to users of PEHideText
  • Fix.Core: Fixed issue where small decoder was sometimes being used even when fast decoder was specified
  • Fix.EADLoader: Fixed conflict with removal of import table by enhanced anti-debug loader and Restore Imports option
  • Fix.TestCodec: Removed dependency on CRT DLLs

New in PECompact 2.98.6 (Apr 1, 2009)

  • Fix.Core: Fixed problem with compression of some previously signed modules. Note that the signature is removed after compression, since it will be invalidated by the changes.
  • Fix.GUI: Fix to display of compression ratio.
  • Fix.Installer: Improved Vista+ UAC support.
  • Change.All: Removed use of alternate HKCUPECompact2 registry key.
  • Change.Core: Cleaned up console output.
  • Change.Core: Removed /AllowSecurityDirectory (/Asd) command line parameter (now always 'Yes').
  • Change.GUI: Removed 'Ignore Security Directory' option.
  • Change.Installer: Language selection is now propagated from the installer to GUI, removing redundant language selection on first run of the GUI.
  • Change.PEClassify: Cleaned up console output.
  • Addition.PEClassify: Added PE or PE+ type output.
  • Addition.Package: Added new plug-in to break automated decompression by UN2PEC, pec2hooks_break_un2pec. (registered version only)

New in PECompact 2.98.2 (Jan 21, 2009)

  • Addition.Package: Added new plug-in to break automated decompression by UN2PEC, pec2hooks_break_un2pec. (registered version only)
  • Change.EAD-Loader: Tweaked Enhanced Anti-Debug Loader so it isn't unpackable by UN2PEC. (EAD license owners only)

New in PECompact 2.98 (Dec 22, 2008)

  • Change.Package: Moved more plug-ins to the registered build only.
  • Change.GUI: Updated Russian translation.

New in PECompact 2.96 (Oct 31, 2008)

  • Fix.Core: Fixed compression of executables with MUI resources (i.e. Vista's notepad.exe). In previous builds, affected executables would fail to start after compression.
  • Change.EAD-Loader: Updated, some more protection code added.
  • Change.EAD-Loader: Changed name so it appears more descriptive and correct.
  • Installer.Change: Trial version no longer includes cipher codec plug-ins.
  • Installer.Removal: Removed PEHideText from trial version.
  • Installer.Removal: No longer publicly distributing student version due to abuse by malware authors. Freeware authors and acedemics can obtain a freeware license for PECompact by emailing [email protected].

New in PECompact 2.94.2 (Oct 10, 2008)

  • Digitally signed all modules and installer

New in PECompact 2.94.1 (Sep 20, 2008)

  • Fix.Core: Fixed handling of some non-Microsoft linkers debug directories. This could have caused a decrease in compression ratio or an inability to locate post-compressed debug information, depending on if /StripDebug was set to Yes or No, respectively.
  • Fix.Core: Improved compression ratio when debug directories are present and preserved. In previous versions, unrelocated (old) copies of the debug data would get left in the compressed data stream.
  • Fix.Core: Improved handling of very large debug directories.
  • Change.Core: If overlay/extra-data is empty (no non-NULL data) we skip storage of it after compression. This is useful for the new code changes that can strip debug information from the overlay/extra-data area.
  • Fix.Console: Fixed help mode capital 'A' not being accepted correctly to show advanced help menu.
  • Fix.Console: Fixed ' ompressed' output.
  • Fix.TestCodec: Various updates to get it up to speed with the latest CODEC specifications and more.
  • Change.Settings: Made /StripDebug:Yes (/SD:Y) the default. Debug information will get stripped unless you specify /SD:N.
  • Addition.GUI: Now remembers last browsed folder when adding files to the listview in older NT OSes (XP, 2k).
  • Change.GUI: Minor cosmetic adjustments.
  • Addition.Package: Included new cipher1 codec in all packages.
  • Addition.Package: Included new cipher2 codec in retail build.
  • Installer: Update to NSIS 2.39.
  • Addition.GUI: Added ability to remember window position and size.

New in PECompact 2.92 (Jul 15, 2008)

  • Complete rewrite.

New in PECompact 2.87 Beta 2 (Jun 24, 2008)

  • Added preliminary .NET executable compression support (in early beta stage)
  • Changed behavior of skipping compression of all resources so that compression ratio is improved and tendency for compression-time errata is decreased
  • Now includes all extra-data/overlay by default
  • Documentation cleanup (work continues as of this beta)

New in PECompact 2.86.1 (Jun 10, 2008)

  • Released to replace v2.84, fixing minor mistakes and doing the ASLR support a 'little more right'.

New in PECompact 2.84 (Jun 9, 2008)

  • Change.Core: For support of randomized image basing, changed behavior of /Sf:Auto (the default) so that fixups/relocations are always preserved, whether DLL or EXE. If you do not use randomized image basing and want relocations gone from your EXE (for smaller output), you must now use /Sf:No or /StripFixups:No. Applications like FreeCell.exe in Vista now compress and run without needing to change the configuration.
  • Change.Installer: Updated to NSIS 2.37.

New in PECompact 2.82 (May 3, 2008)

  • Addition.Core: Completely rewrote the debug data directory handling. It now can properly relocate the entire IMAGE_DEBUG_DIRECTORY array and referenced raw data into an uncompressed area of the executable. This has two effects: (1.) Debuggers like Visual Studio can find and match the debug symbols in compressed executables and (2.) the size of compressed executables may be reduced further than it was in previous versions when /stripdebug:no and debug information is present
  • Change.Core: KeepOverlay is now a tri-state option with the default being 'Auto' - which will auto-preserve overlays greater than 256 bytes in size.
  • Change.Core: Added detection of UPX compressed executables (and abort if multicompress is not enabled)
  • Fix.Core: /KeepOverlay:No was being interpreted wrong (Yes/No was disallowed on that switch, so any mention of it resulted in the option being turned on). Note that its now a tri-state switch that accepts Yes, No, or Auto.
  • Addition.GUI: Added Strip Debug Directory option to the GUI. Yes, it was missing all this time, but necessary now that PECompact has full debug directory preservation support on compressed executables.
  • Addition.GUI: Added Korean translation thanks to Jon gryu
  • Addition.GUI: Updated german translation thanks to u!^UBY
  • Addition.GUI: Added strings and terminal output for UPX compressed executables.
  • Change.GUI: Preserve overlay is now a tri-state checkbox.
  • Change.GUI.Projects: I am sorry, but the project file format and saved [registry] options format has changed due to the KeepOverlay change and StripDebugDirectory addition. All existing projects will be incompatible with this version. I will try not to make any more changes from here on out. Note that you could use the old pec2gui.exe with the new pec2.exe, if you're really desperate not to abandon or recreate your PECompact projects.
  • Change.GUI: Expanded default width of the main window so that the Options column is visible (many people may have never noticed it). This column shows the command-line version of the options you have set for each executable in the list-view.
  • Change.Installer: Now deletes old language setting, forcing pec2gui to ask for new. This is because some were removed.
  • Fix.Installer: Added prevention of duplicate entries into the local path environment variable, which could occur in some circumstances.
  • Change.GUI: Updated Swedish translation thanks to Anders Norberg.
  • WARNING: Old project files and saved registry settings are incompatible with this build.
  • WARNING: Non-english languages need updating and may not currently show new options added to the Options dialog or other graphical interface changes.

New in PECompact 2.79 Beta f (Jun 21, 2007)

  • Addition.Plugins: GetWatermark plug-in to retrieve watermark from compressed executable at runtime.
  • Docs: Recompiled.

New in PECompact 2.79 Beta (Jun 26, 2006)

  • GUI.Addition: Added file-type column. Recognizes PE, PE DLL, PE , PE DLL, and .NET (CLR version detection coming).
  • All.Msc: Misc other fixes, additions, and changes.