Any questions? Ask us: support@enigmaprotector.com

The Enigma Protector

A professional system for licensing and protecting
executable files for Windows.
The Enigma Protector is an essential tool for every developer of
commercial software and shareware for Windows.

The Enigma Protector includes a wide range of unique features aimed at protecting executable files from illegal copying, hacking, modification, and analysis. The supported formats include almost all types of 32- and 64-bit executable files (exe, src, dll, ocx, bpl, etc.) and .NET files created using various development tools, such as MS Visual Studio C#/C++/VB/VB.NET, Borland Delphi/C++, FreePascal, MASM, TASM and others. The protected files can be run on all versions of Windows 95/98/ME/2000/XP/2003/Vista/2008/Seven and Windows 8.

The Enigma Protector will make your software resistant to cracking, and thus will increase your sales. The use of attack-proof cryptoalgorithms for registration key generation will make it impossible for others to reconstruct or reproduce the registration key generator for your software. Various methods of code obfuscation, mutation and virtualization will help protect your application from hacking, modifying, disassembling, illegal retrieval of unique functions and data, etc.
Main Benefits
The "Try Before Buy" Concept License Manager and Mailer Virtual Box Technology Virtual Machine
Trial limitations restrict functioning of the application to a certain period of time and once it is expired, the program has to be either uninstalled from the computer or registered (purchased). The Enigma Protector allows you to limit the number of application launches and the number of days that the application can be used since the first launch, to specify the dates of the first and last launch, as well as the time of each run. License Manager allows you to store and process purchase orders, to generate registration keys and store various customer records in a database. The Mailer allows generating and sending template-based e-mails (for example, messages about a purchase made or a new version available) to registered users. The tools have a user-friendly and simple interface and a wide range of unique features. The unique technology offers a possibility to consolidate the files used by your application into a single module without loss of efficiency. This function supports all kinds of files – dll, ocx, mp3, avi, etc. Virtual Box will protect your files, and will prevent them from being copied and used in third-party products. The most powerful and sophisticated mechanism for executable files protection. When a secure module is run, part of the program and protection code is translated (decompiled) into the so-called PCODE (a programming language which can only be read by the Enigma Protector) and the decompiled code is executed in its own virtual processor. Comprehension of such a code is almost impossible, not to mention its modification.
Miscellaneous
Licensing System The scheme where a license key is provided to a registered user is often used upon selling software over the Internet. The Enigma Protector suggests flexibility in the integration of a license verification system based on cryptographically strong asymmetric algorithms into software and license (registration key) generation systems. Here, strong means that the complexity of algorithms used for registration key generation is comparable to the RSA algorithm with the key length up to 4096 bits. Many programmers make a mistake trying to implement algorithms for license validation and generation themselves, or misuse the ready-made solutions. This allows hackers to create their own license generators (key generators), which surely does not stimulate sales. The Enigma Protector will eliminate these threats as no one except yourself will be able to generate licenses for your applications. A registration key generation system can be easily embedded into automated registration systems such as ShareIt!, RegNow, Plimus, and others. Furthermore, the Enigma Protector can restrict the use of a license to a particular computer through adding information about the user's computer into the registration key. These registration keys will only work on one specific computer.

In addition to limiting (binding) the license to a specific computer, you can limit the license use to certain dates, and specify the number of launches of a registered application or the number of days it can be used. Besides, you can restrict the total term of the license on a specific computer to several hours or minutes since the first launch of the protected file. There is also a possibility to limit the use of a license for a specific country.

You can verify registration keys in your application by means of special Enigma API functions that can be used in virtually any programming language (C++, Delphi, Visual Basic, etc.). Even if you cannot make changes to the source code, you can use a standard Enigma Protector registration dialog. The registration dialog features a flexible and user-friendly editor which lets you change any settings and styles of the dialogue to give it a unique design or the one of the main application.

The key generator for your application can be exported into a separate executable file. You can use CGI web key generators (for your own php/.net shells) or the License Manager system to store registration and user information. Moreover, in case you need to create your own shell for the key generator, the Enigma Protector includes binary libraries for generation of registration keys via Windows x86/x64 and Linux applications.
Protection of executable code from analysis and modification When we say an application is cracked, it means that some data inside it have been modified so that the functionality of the program has changed. Usually is affects the executable code of the application. The Enigma Protector encrypts and compresses the executable code and application data so that changing them without destroying the protection turns impossible.

Not only does the Virtual Machine technology protect the executable and protection codes, but also it makes the process of analysis far more complicated (next to impossible). The essence of the Virtual Machine technology is that the executable code is translated into a special PCODE language which can be read only by the Enigma Protector, and is subsequently executed in the internal CPU emulator. The Virtual Machine generates different data in each instance of protection, and the decompiled algorithm for one Virtual Machine becomes useless for another one.

One of the major achievements in software protection against hacking is a closer integration of the protection functions with the executable code of the application. For this purpose, you can use special Enigma API functions that return the protection status and allow controlling numerous parameters, such as the license status, the trial period status, and much more.
Trial Period When software is sold over the Internet, it is sometimes critical to show the full functionality of the product to the user, whereas limiting the use of a fully functional version to a certain period. This limit is called a trial period. At the end of the trial period, the user must either purchase the program (register) or remove it from their computer. The Enigma Protector allows you to automatically add the trial period function to your application and to choose from a variety of trial limitations, such as the number of launches, the number of days or the last date the application can be used, the number of minutes or hours since the first launch. The Enigma Protector monitors the system clock on the user’s computer so the user is not able to extend the trial period – if the system clock is detected to have been set back, the program will automatically stop working.

To disable the trial period, the user will need to register the program, i.e. obtain a registration key from you.

You can control the parameters of the trial period within the application yourself using a specially designed system of Enigma API functions that will return information on the expired and remaining trial period.
A wide range of unique verification features The Enigma Protector enables you to check whether a debugger is running (a debugger is a tool used to analyze the executable code of an application), control the integrity (checksum) of the file and the protection code, the number of running instances of an application (and limit the number of application copies that can be run simultaneously), check the file name, the type of media the protected file is launched from, and much more.

If your application is designed to support certain versions of Windows, the Enigma Protector can control this. To restrict the application launch, simply select the versions of Windows on which the protected application should not run.

Hackers often use software virtualization systems (such as VMWare, VirtualPC, VirtualBox, Sandboxie) to extend the trial period or to substitute the hardware data. To prevent the use of a protected file in these systems, the Enigma Protector suggests a feature that can check whether the application is run on a virtual machine.

A unique set of process monitoring and detection tools will allow you to configure the protection system to detect undesired or malicious processes running on the user’s computer. The process monitoring function helps find out what programs are running on the computer, if there are any hidden processes, etc. If your application uses any registry keys or data stored in files that should not be accessible for the user, you can use the function of detecting running processes and loaded drivers to configure the system so that it could detect such programs as RegMon (registry access monitor) or FileMon (file access monitor) and forbid the launch of the protected application if any of these programs are running.
The License Manager and Mail Delivery The Enigma Protector allows you to store the generated registration keys and customer information in a separate database using the License Manager. Many developers face the problem of stolen or illegally used registration keys to their software. Using the License Manager, you can block a certain key and the program will no longer accept it.

The mail delivery system (Mailer) will help automatically create and send an e-mail to a registered user, or to submit e-mails to all users (e.g. updates on a new version release). You can create message text based on specific templates, and the Enigma Protector will generate messages for users and will automatically submit them.
Additional Features Additional features implemented in the Enigma Protector allow adding your own resources, such as VERSION and MANIFEST, to a protected file. If your file takes much time to launch, you can use a screen saver which will be displayed to the user while the file is being loaded.

If you have your own tools to protect your application, you can use them alongside with Enigma Protector via the system of plugins. The system is based on the following principle: the dynamic library containing your implementation of security features will be built into the protected application, and certain functions will be called upon the launch of the protected file.

The Enigma Protector features the functions of application code and data compression and encryption. The compression of a file can reduce its size several times, and encryption helps protect the code from disassembling, analysis and modification.

Using the Watermark function, you can add any information into the protected file which will be available to any user or to you only. If your program is intended for use only within a particular group of users, and you realize that some user intentionally hands it over to others, the Watermark function will help you detect the unfair user.