eXPressor -
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.
Features:
-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,Vista
Try before you buy!
Download
eXPressor (shareware
version 1.8.0.1)
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
|
What's new in latest release:
1.8.0.1 - 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;
1.7.0.1 - 3 june 2009
-the news are inside the help file ;)
1.6.0.1 - 8 march 2008
-interface
lifting, new options and features; download and install to see.
1.5.0.1
- 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;
1.4.5.1
- 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;
1.3.0.1
- 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
appear with LoadLibraryEx() and LOAD_LIBRARY_AS_DATAFILE or DONT_RESOLVE_DLL_REFERENCES
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;
|