eXPressor v.

Project start date: 2005
Status: working on v 1.8
[Registered Users' Area]

- Software Protection System and PE Compressor
Used as a compressor this tool can compress EXE files to half their normal size. Once compressed, the files execute just like normal. As a protector It is designed to protect applications against crackers; also can help developers in creation of uncrackable registration keys, and implementation of trial version for protected software.

-excelent compression ratios ~70%
  (this is - tighter than .rar, .zip, upx etc.);
-multilevel packing (over and over the same file);
-support for various 32/64bit PE files like .exe, .dll, .net, .ocx, .scr;
-support for packing Windows Mobile applications (.exe, dll)
-customizable resource compression;
-password protection for applications;
-counteraction to classical memory dumping tools;
-detection of cracking tools like file or registry monitors, debuggers;
-application integrity check (agains viruses, resource modifications);
-anti-debugging and anti-disassembling;
-anti memory patching techniques;
-protection of application's imported functions using different methods (emulation etc.);
-eXPressor offers a set of APIs for interaction betweend decompressing routines and protected applications;
-registration keys system using RSA based encryption/decryption algorithm; -keys can be generated using specific hardware ID; say STOP to your application keygenerators;
-"stolen" registration keys management, integration of stolen keys in new protected versions of the application;
-eXPressor offers the possibility of creating "trial" versions of the application, with limited functionality, and limited evaluation time or number of executions;
-reminder message in unregistered version of protected programs;
-shell integration, project file saving, command line support and more

PhotoshopPK13.exe CS2 - packed with eXPressor 1.3

System requirements: Pentium 166, 32Mb RAM
OS:Win98 ,Win2k ,WinXP

Try before you buy!

eXPressor (shareware version

Click to eXPressor 1.8

[You will receive the unlocking code instantly if you take care and enter the MachineID string]

click image

Coded in VC++ 6
SourceCode available for buying


Get it from CNET!




home user license ( compress your software at home )
developer license ( designed for developers)
corporate license ( designed for companies)
eXPressor sourcecode ( make your own packer in VC++ 6 ; not included in any available license types!)


What's new in latest release: - 14 jan 2010
- added support for Windows7; eXPressor and packed/protected executables runs on W7;
- the packer (ligh&full stubs) supports WinCE or Windows Mobile PE files (exe+dll - PE files compiled for the ARM cpu architecture);
- added support for packing (not protecting) PE+ (64bit files); exe, dll, tls support; not yet .net;
- added more checks for non win32 applications to see if we can pack;
- KeyStore allows now to generate a new key for a certain Customer (ie: if he changes his MachineID); this key will be imported inside KeyStore and the generation date for the new key will be taken from the first key generation date; it is for the projects which uses limited key support - aka the Customer can update with a key for one year; untill now, if after half an year he request a new key (in the past, the key generation date was the current date) he receives a key which gived him an update prolongation.
- added support for unicode registration names in KeyStore "Reg Name" column; although eXPressor it's an ansi compiled app, it can handle unicode Reg Names.
- fixed a problem when protecting PE files with .rsrc section having only MEM_READ flag (not write); just packing such files doesn't cause any problem;
- small fix in reset trial if some reg-cleaners delete reg-trial data; the reset button won't work in this situation and the app would remain expired; the truble can persist on the user's side; regcleaners can expire trial versions;
- added warning when Digital Signature is found at the end of the file;
- unfortunately on w7/vista drag&drop doesn't function if expressor's run as admin; a fix is to disable uac(run->msconfig-disable uac);
- added restore backup option in File->Menu; (keep-backup checkbox must be checked before saving packed file over original file;
- if "open last project at start" is checked, a second instance of expressor, won't open again the same project;
- added warning if the version info stored inside the project is different than the current target version; usefull if you use reset tral on new ver.; it prevents you to build new versions which won't reset the trial; - 3 june 2009
-the news are inside the help file ;) -
8 march 2008
interface lifting, new options and features; download and install to see. - 10 march 2007
-down here is at least 1 year of coding progress :)
-fixed an error when resource were packed (this only on level 2) if "Compress resources" wasn't checked;
-fixed an error with error displaying and different stub selection;
Show More
-changed the command line /err mode; default is now on;
-this version can compress .scr .ocx files;
-fixed a bug when compressing files linked to oleaut32.dll (skype v1.4);
-DSI (Digital Signature Information) is not preserved in any ver of eXPressor;
-added Project Save/Open option;
-password protect + messagebox display options on packed file;
-warning if PE file has memory shared sections;
-API redirection for protecting stub;
-fixed an error when canceling pack operation;
-added verbose text to progress window;
-resource compresion level 3 is now visual; you can select from eXPressor what resource to let unpacked; good for a lot of icons in first icon group when it's hard to find default shell one;
-fixed some errors when packing .dll files with protection stub; (stack problems)
-fixed eXPressor closing when Esc/Enter were pressed on main interface;
-added most recent used (MRU) pe/project files in File menu;
-will spit an error when .net packed file fail to run (full/protection stubs);
-done crypt with password; it will be impossible to rebuild exe, coz the unpack information is encrypted with password;
-changed "Handle dll imports" to "Use Windows Loader" to align to other packers definition standards; it just means to include at least one import from each module in the import table in the "new" import table; (some exe needs this)
-added expire date/days/executions in protected mode;
-SDK (Software Developement Kit - API for comunication between stub and packed file);
-added registration scheme; is done using 768 up to 2048 bit key lenght;
-added encryption for code fragments inside packed executable which decrypts only when registered, with the right key(external or from eXPressor registration scheme); encrypting blocks of code on dll's it's difficult because when we handle relocations we must check to see if some reloc are inside those encrypted fragments and avoid fixing them untill after decryption;
-file extension support for .epf (eXPressor Project Files); click on icon and the project will be automatically opened; renamed "Shell menu" to "Shell stuff" which, when checked, will install support for opening .epf files onclick and option to "Pack with eXPressor" on rightclick menu over .exe .dll files;
-fixed a bug in protection stub when packing dll's which relocates at runtime; this was caused by the fact that tls image dir must have fixing entryes inside .reloc; made a class which handles relocation dir manipulation, adding new elements etc;
-fixed a bug, not handeling right overlay, when last section had the same raw start with the one before, with rawsize 0;
-added support for stolenkeys; you must add to database new stolen keys and then reprotect the exe file and put it for download;
-it is now possible to modify compression thread priority from GUI, even at packing time; this was possible only from the command line in previous version (aka /tp);
-added execution dir for "Test file" because some exe needs files relative to starting directory specified for example in shortcut properties like "Start In:";
-emproved TLS support; it seems that when loading dll's via LoadModule windows do not process TLS informations; so you may encount an error if you pack&test such an .dll because it tries to find it's global data which is placed in some memory allocated only by winloader via import loading; so dll's with tls data can't be loaded via LoadModule, only dinamically linked, so if you pack an exe which loads such dll it is advised to use "Use Win Loader" option;
-added "Restore" backup after compressing; if a backup exist after replacing original file with packed one by pushing "Save It", this button will turn to "Replace", which will allow to restore backup if somthing went wrong after filename conversion.
-ocx files needs seh to be executed in a -rwe segment, (tested on regsvr32 winxp);
-Windows Vista has a problem with drag&drop operation; it will not work if eXPressor isn't run with admin privilege;
-better handeling of dll proc detach; eXPressor won't crash (exit) now, when testing dll with errors during stub initialization (like dll not found) in dllmain; also additional libraries loaded by packed dll are now unloaded when packed dll quits; on prev versions of eXPressor after testing packed dlls (Test button), the aditional dlls loaded by packed dll were not unloaded, remaining atached to eXPressor's loaded modules.
-additional tools were made to help project&stubs manipulations;
-added CRC prot;
-added antidump prot;
-added use common section names;
-added obfuscation code;
-warn for Use Win Loader on PE with TLS;
-added restore backup;
-added Antidebug protection: Antidebug SEH Antitrace etc;
-done this Help File (6 days).
-changed license types, packeges name, prices; - 27 oct 2005
-"Command Line" enhancement;
-fixed a little bug when "compression level" was set to 0 if "Compress resource" was unchecked => a non working executable;

-fixed a bug, eXPressor not compressing resources -> Type String on level 2;

-added option "Add automatically overlays";if not checked will ask;
Show More
-"Allow MultiPacking" option to allow files to be packed by eXPressor more times;
-"Stay on top" option for main eXPressor dialog window;
-more gui enhancements;

-eXPressor can pack now resource only dlls,those with entry point 0 and no imports;
-initial ImageSize is now allocated by winloader;this prevents other malloc calls when stub decompresses packed data;
-option to pack all sections at once; this will free few more bytes; when this is set more memory is needed to decompress packed data...about the size of original exe is needed,so you may want not to use this option;
-option to set compression thread priority when multipacking files from cml;
-option to compress export dir;good if you pack .executable with export dir.; (see firefox.exe)
-packer data is dynamically allocated depending on sections number; now can pack exe files with more then 20 sections;
-dos header can be now removed;it will free few more bytes;
-more TLS support (callback support);need to test more exe files;tls,dirty little trick -> execute code before the entry point gets called ;)
-discovered what SizeOfHeaders really is and made a bugfix for nonworking packed exe related to this problem ;) "...\bug.exe is not a valid Win32 application."
-support for packing "apache.exe",when all imported dll names (for packed file) must be visible to winloader;try to check "Handle dll imports" if your file doesn't run; this will add few more bytes to final exe;
-light protection for packed executables (antidebugging);
-light .NET support (only .exe not dll) [this ver. can pack files with com header (aka .net C#)];
-discontinued lib1 support (useless);
-added an option to choose compression level from 1-3:
-option to choose Uncompressing Stub; this is a little portion of code at the very beginning of the packed executable, which does the unpacking job;
1- Light stub is designed only for .exe files and has no support for tls directory,
relocations, net directory, and no errors will be displayed, this for keeping
a minimum file size; most of people pack .exe files (no need 4 reloc,tls code);
this will use an ~3kb stub;
2- Supporting exe,dll,net files (including tls,reloc);
3- Same as 2 but it has some anticracking protection;
-changed the license types; - 4 aug 2005

-customizable resource compression;
-you may want to use a resource viewer to find what you want to let uncompressed;
-fixed the Compressing Thread...better said..finished it :) ;it can be canceled now;

-increased Lib 2 compression by applying a filter;
Show more
-fixed a bug related to Lib 2 when compressing bigger files...(Acrobat Reader);
the compressed filesize was increased with garbage...also the progress stat freezing
a little at the end,when garbage was compressed;now in the same circumstances,the compressed
filesize is smaller;AcroRd32Pk.exe 2.708KB (2.930KB previous version);
-using new enforced Lib 2 compression + resource handeling AcroRd32Pk.exe becomes 2.466Kb
(67%);this is avesome because upx stops with compression around to 2.786Kb;
(original AcroRd32.exe 7.485Kb);
-reduced stub size for packer, from 7 to 4.5Kb; canceled MesageBoxes for different errors;
the stub will exit quietly;also removed TLS support functions, which wasn't finished and
didn't worked;
-so based on stub size...if you want to get some compression,you must pack files at
least twice bigger than stub size;
-iexplore.exe (6.0.2900.2180) with Lib2 and resource string '3:8,14:32528' was compressed
from 91Kb to 48kb (48%);
-memory requirements depend from compression Libs; Lib2 require much memory 4-5 times file size;
-new progress bar for packed file size;ratio shows real time compression of different blocks of data;
-"Silent start" option to autostart packing file when choosing to pack from sell menu command;
-now packed .dll's are tested also,to see if it works, when you press "Test" button;
-fixed relocation bug when packing .dll files;in previous version eXPressor couldn't
handle right the situation when windows loader rebase loaded dll at other ImageBase;
-support for dll's which must be registered via regsvr32;
-"TYPELIB" and "REGISTRY" resources are not packed on resource compression level 2; they
say that these resources must stay uncompressed,but if Dlls are loaded via LoadLibrary(),
and DllMain is invoked it will be decompressed at runtime;i belive that the problem may
flags when DllMain is not called;regsvr32 seems to work fine on xp (altough will show a
fail message it will register the dll) with all resoures packed but i don't know what's
happening on other OSs;
-well find the so called Restorator bug;the resource section must have name ".rsrc",otherwise
this program won't see any resource jajaja :)
-support for DLLs which are not in the same dir with the main exe (problem when resolving IAT),
aka com dll's which are loaded via registry..and offen are placed in other than system default
directories; Ex:IEtools.dll is a BHO loaded by iexplore.exe;if we pack ietools.dll at unpacking
time,when solving imports for ietools LoadLib will fail, for a dll linked by ietools
which is not placed in system dir,but in ietools.dll dir;
-fixed a bug related to resource dir relocation (when packing shell32.dll winXP)
...when,on large .rsrc dirs..the string of Type/Name was lost;

2000-2014 CGSoftLabs