Copy Protection

A practical and effective solution to enforce software licensing and protect software against piracy and reverse engineering.
Copy Protection

So Many Ways to Protect Your Application

Node-Locked, USB Dongle, Network Licenses, and combinations.
Machine License
USB License
Network Licenses
via Machine License
Network Licenses
via USB License
Node-Locked License (Machine License) offers software-based protection to lock the application to a particular machine.
USB Dongle License (USB License) offers dongle-based protection to lock the application to a particular USB device.
Network License offers copy protection to lock the application to the license on a remote server. Both network Machine and USB License types are supported.
Machine/USB License offers a combination of both software- and dongle-based protection. Machine License is great for online distribution, e.g. trial software. Then, turn the license into USB License for full featured software.
Machine/USB/Network License allows you to protect and distribute software in one single version that can be licensed as Machine License, USB License, or Network License.

Simple, Easy, No Programming Needed

Turn your application into the protected version in minutes.
The state-of-the-art shell protection provides a fast and easy way to protect your application. You don't need to add or modify any source code. The shell protection supports standard executables including EXE, DLL, OCX, and .NET assembly, for DOS, Win16, Win32, Win64, and .NET applications.
How to protect an application
Simply run the provided ElecKey Integrator. Specify your original executable file, a new file name for the protected version, and follow the wizard dialogs. The Integrator will wrap over the original executable with the shell protection, and create the protected version that is ready for distribution to the user.

Code Protection

Protect your intellectual property against reverse engineering.
Besides copy protection, the state-of-the-art shell protection offers code protection to protect your software, algorithms, and intellectual property against tampering and reverse engineering. Several technologies are employed to defend against any possible attack, to make it extremely difficult, complex, and time consuming.
Anti-Debugging and Anti-Tracing
The shell protection transparently and continuously monitors the run time to detect if it is run under control of a debugger. If detected, the shell protection immediately terminates the executable. In addition, the shell protection itself is designed with complicated and confused logics to protect against debugging and tracing.
Code Encryption
The whole native executable or managed assembly is encrypted to safeguard against decompilation and disassembly. The shell protection only decrypts the needed code just before the run time in memory. After execution, the code is immediately returned to its encrypted state.
Anti-Tampering
The shell protection regularly performs integrity check when calling the executable, to protect against tampering, modification, and virus infection. If a checksum is found invalid, the shell protection immediately terminates the executable.

KeyCheck API

Greater flexibility, better seamless integration, and enhanced security.
KeyCheck API for Windows KeyCheck API for Mac
The KeyCheck API offers an alternative to the shell protection, which allows you to integrate the software protection and licensing functionality right into your application. The API includes 32/64-bit DLLs, ActiveX, .NET Class Library, and .NET Component, with lots of example projects for study and code reuse. For macOS applications, the KeyCheck SDK for Mac is provided, including the library and example projects for XCode, Objective-C, C++.
Greater Flexibility
Support more types of applications including .NET WPF, non-standard executables (e.g. Visual FoxPro, MS Access/Excel/Word Macro), and more.
Better Seamless Integration
Make any customization you want. For instance, seamlessly add the license registration and activation menu within your application.
Enhanced Security
Customize or add more security measures. For instance, create random key-value challenges/responses to the Key to protect against DLL emulation and dongle emulation.

Instant KeyCheck API

A simpler and easier way to API.
The Instant KeyCheck API is a special function that provides a simpler and easier way to integrate the software protection and licensing functionality into your application. Besides, it offers greater flexibility than the wrapper method to support more types of applications including MS Access/Excel/Word Macro, Visual FoxPro, .NET WPF, and more.
How it works
Step 1: Run ElecKey Integrator to create the System Image File (.SIF), an encrypted file containing all protection settings.
Step 2: In your code, include the System Image (e.g. Prg0.sif) and make only one function call to InstantProtection().
The code above shows how you can easily add the protection into a Hello World program.