PECompact – Windows (PE) Executable Compressor

Windows Executable Compressor

PECompact

PECompact is one of the original Windows 32-bit executable compressors. It compresses native 32-bit EXE, DLL and other PE modules, and its plug-in system offers virtually limitless customization, setting it apart from other compressors.

To deter abuse, we verify that customers are legitimate software publishers or developers.

PECompact settings dialog with general options, resources to compress, and loader, CODEC and API hook plug-in selections
Settings: Compression options, resources and plug-ins.
Compresses
Native 32-bit PE ModulesEXE, DLL and other 32-bit Windows modules
Not Supported
64-bit (PE+) ModulesAlso .NET assemblies and device drivers
Compressed Modules Run On
Windows 95 to Windows 11Including 64-bit Windows (WOW64)
Licensing
Per Distributed ApplicationIncludes one year of updates

Why Compress

Why Compress Executables?

Software vendors compress their Windows executables for a wide array of reasons, but the usual reason is to help protect the code and data inside.

Protect Code and Data

Compression inherently obfuscates a module, adding a layer of protection, though no solution is fool-proof. Plug-ins add protection against reverse engineering, some sold separately by third parties.

Smaller Than ZIP or RAR

PECompact is optimized for PEs. It pre-processes code with advanced algorithms that make it more compressible, so it almost always compresses better than ZIP, RAR and other archivers.

Load Faster

Reading a module from disk or the network usually takes longer than the very rapid decompression. Pages your application doesn’t use are paged out by Windows as needed, and shared sections are skipped by default, so your EXE still shares system DLL pages.

Why PECompact

Mature, Compatible and Extensible

UPX, ASPack and PECompact are the top native 32-bit executable compressors. PECompact stands out for its maturity, interoperability, compatibility and compression ratio.

  • Excellent Compression

    Better than or roughly equal to other executable compressors, depending on the module. PECompact almost always beats ASPack and compresses as well as UPX, without UPX’s decompress switch. Compare them on your own modules.

  • Security Software Support

    We work with antivirus and anti-malware companies so they can scan inside PECompact-compressed executables. That keeps false positives near zero and deters abuse.

  • Does Things Right

    Shared sections of DLLs are skipped by default, and shell icons, version and manifest resources stay uncompressed. PECompact is the only compressor that properly preserves debug information embedded in the PE.

  • Plug-In Framework

    Use CODEC, API hook and loader plug-ins, as many as you want on the same executable. You can even chain CODECs together, or write your own plug-ins.

  • Overlay Emulation

    Compresses installers, SFX archives and other EXEs with appended data that normally can’t be compressed, by emulating the extra data at its original offset.

  • DEP and Code Signing

    Full support for software and hardware DEP, and for code signing after compression. One loader goes further and never executes from a page not marked executable.

  • C++, Delphi, VB and More

    Compression works on C++, Delphi, VB and most other languages that generate native 32-bit PEs.

  • Settings, Settings, Settings

    More settings than you’ll likely ever need, plus one-click presets for maximum compression or maximum decompression speed.

Plug-Ins

Loaders, API Hooks and CODECs

Plug-ins change how a module is compressed, decompressed and loaded. Not all are included with the trial version, and some are sold separately. There are many more plug-ins, both third-party and developed by Bitsum.

PECompact CODEC selection dialog with the LZMA2, CRC32 and password CODECs chained in order
Chaining CODECs: LZMA2, a CRC32 check, then password encryption.

Alternate Loaders

  • pec2ldr_anti_debug.dllAnti-debug loader with basic debugger presence checks.
  • pec2ldr_ead.dllSold SeparatelyThe Enhanced Anti-Debug Loader: Anti-debugging and anti-reverse engineering technology.
  • pec2ldr_debug.dllAlternate loader for easier debugging (no SEH traps).
  • pec2ldr_reduced.dllReduced size loader, for the truly size obsessed.

API Hooks

  • pec2hooks_api_fix_extradata.dllEmulates extra data at its original physical offset, so installer-type EXEs can be compressed. Used automatically when an overlay is present, or with the /Emo switch.
  • pec2hooks_api_ispacked.dllAPI callback that tells your program whether the module is still compressed.
  • pec2hooks_api_watermark.dllAPI callback that retrieves a watermark placed by PEWatermark.
  • pec2hooks_break_un2pec.dllBreaks a known PECompact unpacker.
  • pec2hooks_fastimport.dllCustom GetProcAddress that uses a binary search through the target import table.

CODECs

  • pec2codec_jcalg1.dllJCALG1: Slow compression, good performance and fast decompression.
  • pec2codec_aplib.dllaPLib: Faster compression, good performance and fast decompression.
  • pec2codec_ffce.dllFFCE: Faster compression, good performance and fast decompression.
  • pec2codec_lzma2.dllLZMA2: Faster compression, good performance and fast decompression.
  • pec2codec_crc32.dllStores a CRC32 of the data when encoding and checks it when decoding.
  • pec2codec_password.dllPuts a password on the EXE and encrypts the data with it.
  • pec2codec_expand.dllExpands the data instead of shrinking it, for robustness testing.
  • pec2codec_cipher1-4.dllFour simple XOR, ADD and SUB based ciphers.

Licensing

Licensing, Trial and Add-Ons

Licensing

PECompact is licensed by the number of applications you distribute with it. An application is an installation package, which may include any number of modules compressed with PECompact.

Licenses include one year of updates, and the last version released during that period can be used indefinitely.

Trial Version

To deter abuse, many plug-ins and some utilities are not included in the trial version. If you need to try one that isn’t included, email us and we’ll set you up.

We require verification that you are a legitimate software publisher or developer.

Add-Ons

Enhanced Anti-Debug Loader: Anti-debugging and anti-reverse engineering technology for PECompact.

Loader SDK: Create your own plug-ins, or your whole alternate loader. Perpetual license.

About PECompact

Used by Software Publishers Large and Small

History

PECompact started as a small x86 assembly program and grew into what it is today. Companies large and small throughout the world depend on it for reliable executable compression, obfuscation and protection. Our biggest client has been Google, which used PECompact on its Google Desktop product (now discontinued).

PECompact is available in English, Russian, Chinese (Traditional and Simplified), German, Dutch, French, Swedish, Italian, Slovenian and Polish.

Security Company Representative?

If your company needs any assistance scanning inside PECompact-compressed modules, email us and we’ll be happy to provide all the help we can.

Our goals are the same as yours: Allow legitimate application use and deter illegitimate use.


Discover more from Bitsum

Subscribe to get the latest posts sent to your email.