Windows Executable Compressor
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.
Why Compress
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.
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.
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.
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
UPX, ASPack and PECompact are the top native 32-bit executable compressors. PECompact stands out for its maturity, interoperability, compatibility and compression ratio.
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.
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.
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.
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.
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.
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.
Compression works on C++, Delphi, VB and most other languages that generate native 32-bit PEs.
More settings than you’ll likely ever need, plus one-click presets for maximum compression or maximum decompression speed.
Plug-Ins
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.
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.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.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
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.
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.
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
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.
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.
More
Subscribe to get the latest posts sent to your email.