Automatic Software Protection

Microcosm's Shell method is a simple way to automatically add strong protection to your software without having to modify the source code. Code is automatically added to your software which locks it to a licence inside a security key. The key can be a hardware dongle (Dinkey Pro/FD) or a purely software-based key (CopyMinder). This process is fast but also very secure because it includes many different protection strategies.

Security Check

When your software is first launched it will check for the presence of a valid security key. If it is not found then your program will terminate with an error message, otherwise it will run as normal.

Background Check

When the user executes your software it will continue to check for the security key at regular intervals. If the key is moved then the program is terminated (after a warning to the user).

Encrypts Your Code and Data

The Shell method will encrypt code and data in your executable to prevent reverse engineering and protect your IP. Additionally this protection continues while the software is being run, with large amounts of your code remaining encrypted even when your software is in memory.

Anti-Debug Techniques

The Shell method employs numerous anti-debug strategies to prevent your software from being debugged when it is run.

Data File Encryption

You can instruct your Shell-protected software to automatically decrypt/encrypt specific data files or types of data file on read and write access. This enables you to encrypt your data files so that they can only be accessed by your protected software and not by other external programs. (This feature is available for Dinkey Pro/FD on Windows only).

Shell Protection and Software Licensing

You can use the Shell method to easily implement different licensing models: one-off purchase, subscription, network licensing, trials/demos and pay-per-use.

However, to implement the feature-based licensing model you need to use the API method protection instead. This involves modifying your source code to call our API. It gives you greater flexibility as to when to check the security key and to use that to control the flow of your code. It also allows you to implement different protection techniques in your software.

For ultimate protection you can use both the API and Shell method to protect your software.

Shell Protection - Supported by Dinkey Pro/FD

Shell Protection - Supported by CopyMinder