Misc. Development/ActiveX/COM

WinLicense (x86/x64)

WinLicense combines the same protection-level as Themida with the power of advanced license control, offering the most powerful and flexible technology that allows developers to securely distr...


WinLicense combines the same protection-level as Themida with the power of advanced license control, offering the most powerful and flexible technology that allows developers to securely distribute trial and registered versions of their applications.

WinLicense as a Software Protector
WinLicense is a powerful protection system designed for software developers who wish to protect their applications against advanced reverse-engineering and software cracking. Developers do not need any source code changes or programming experience to protect their applications with WinLicense.

WinLicense uses SecureEngine® protection technology, which is able to run its code at the highest priority level to implement never before seen protection techniques; this protects any application with the highest level of security.

Here are just a few of WinLicense's protection features:

Multilevel encryption to protect code and data in an application.
Advanced detection of cracking tools.
Scrambles executable code, data, and APIs in the application to avoid any possible reconstruction of the original application.
Protection against disassemblers and debuggers.
SDK offers two-way communication with SecureEngine® and the protected application.
Fully customizable protection options and dialogs.
Multiple Virtual Machine architectures for code virtualization against tracing/reverse engineering.
Plugin system to add your own code at specific stages in the protection boot code.

Comparing WinLicense with other Software Protectors
The main objective in WinLicense is to cover all current vulnerabilities in software protection. Most software protection programs claim to be the perfect solution against cracking, but this is far from reality. Normally, software protectors use obsolete protection techniques that can be easily defeated with newest cracking tools. Even the newest software protectors are just a copy of older software protectors with just some new and not-very powerful techniques against software cracking. WinLicense uses a new and very advanced technology that detects multiple cracking attempts of an application and ensures each application is uniquely protected to avoid general attacks.
WinLicense as License Manager
WinLicense offers the widest range of options and features to create both trial and registered versions for an application. Developers can communicate with WinLicense to check the current state of the trial or registered versions of their application through a complete SDK. WinLicense also offers the capability to automatically handle all possible situations, such as when an application expires, a license is corrupted, etc., saving developers from including extra code into their applications.

Some of the most important licensing features included in WinLicense are:

Possibility to create Trial versions with multiple different expiration types like: expiration by days, by executions, by specific date, by minutes, by runtime, etc.
Possibility to extend the trial period in an application with Trial Extension Keys.
Powerful engine to store the trial status in the system to avoid trial period resetting by possible attackers.
Possibility to create different types of license keys for different developer needs.
Lock trial and license keys to a specific country.
Machine binding, which allows an application to run on a specific computer only.
Custom trial counters to keep control of limited resources in your trial versions.
Independent password protection for both Trial and Registered versions.
Possibility to create your own automation system with help from the external WinLicense DLL.
Complete SDK with over 50 different functions.
.NET SDK support for Trial and Registered versions.
Database-driven implementation to keep safe records of all your software, customers and licenses.
Embedded generators to create license keys, trial extension keys, and passwords for an application.
Customization for all trial/registration messages with possibility to include/exclude them from being displayed.
Comparing WinLicense with other License Managers
Many license managers seem very easy to use to add trial and licensing support inside an application. Then, when the developer needs extra licensing features or extra protection to protect sensible trial data, they get frustrated with the license manager that they use. In many cases, even amateur programmers that don't have knowledge in cracking and reversing tools can easily reset the trial period in protected applications. WinLicense was developed specifically to cover this vulnerability.

In the following, we present the main weaknesses in current license managers and how WinLicense solves them.

Rigid License registration: Most license managers define the way that an application can be registered, offering limited ways to license an application. This forces developers to adapt their applications to the licensing system that they use, instead of the license manager adapting to a specific application. WinLicense offers multiple ways to license an application, fitting into any kind of program without limiting the developer's ideas to license his/her applications.
Limited SDK to control the trial/licensing status: Most license managers offer a limited set of SDK functions to interact with the license manager. Subsequently, developers are limited in implementing their licensing ideas due to the lack of a function in the license manager. WinLicense exports more than 50 functions with its SDK to allow full control over the trial/licensing status in an application; many of these functions will give ideas to the developer for adding extra features into the application.
Easy resetting of the trial period: Many license managers look very attractive and appear to be good solutions for creating trial periods in an application. The problem appears when a developer protects an application and realizes how easy it is to reset the trial period in the protected application by using cracking tools, leaving the trial application totally unprotected and open to infinite use. WinLicense offers the strongest solution available to store the trial period in a system through a complex engine called Trial Storing Manager®. This engine makes it extremely difficult for attackers to reset the trial period in any protected application with WinLicense.
If you are in software development, be it something as simple as a shareware programmer or a position as high as a project manager, you need to protect your software. While estimates on how much money is lost annually from cracking and fraudulent use of software vary wildly, the point is that money is lost…not just money, but your money. All software developers need to take steps to protect their programs from being used illegitimately; let WinLicense do that for you.

Trial/Licensing Features:
Machine dependent keys
SmartActivate® keys for elegant registration systems
Multiple trial expiration types
Possibility to combine several expiration types for trial and license keys
Powerful engine to store the trial period in the system
Complete SDK with more than 50 exported functions
Full .NET SDK support
Custom trial counters SDK for different developer's needs
Easy support to create your own licensing systems via web server
Country locking for trial and license keys
Trial extension keys to extend the trial in an expired application
Text keys registrations
File key registrations
Registry keys registrations
Independent password protection for either Trial or registered versions
Expirable license keys
Tracking and detection of stolen keys
Customization for all trial/registration messages with possibility to include/exclude them from being displayed by WinLicense
Embedded generators in GUI to create licenses, passwords and trial extensions keys
Specific key generators can be automatically generated for every protected application
Custom data field in license keys for different developer's needs
Database driven implementation to keep safe record of all your software, customers and licenses
Protection Features:
Anti-debugger techniques that detect/fool any kind of debugger
Anti-memory dumpers techniques for any Ring3 and Ring0 dumpers
Different encryption algorithms and keys in each protected application
Anti-API scanners techniques that avoids reconstruction of original import table
Automatic decompilation and scrambling techniques in target application
Virtual Machine emulation in specific blocks of code
Advanced Mutator engine
SDK communication with protection layer
Anti-disassembly techniques for any static and interactive disassembler
Multiple polymorphic layers with more than 50.000 permutations
Advanced API-Wrapping techniques
Anti-monitors techniques against file and registry monitors
Random garbage code insertion between real instructions
Specialized protection threads
Advanced Threads network communication
Anti-Memory patching and CRC techniques in target application
Metamorphic engine to scramble original instructions
Advanced Entry point protection
Dynamic encryption in target application
Anti-tracing code insertion between real instructions
Advanced Anti-breakpoint manager
Real time protection in target application
Compression of target application, resources and protection code
Anti-"debugger hiders" techniques
Full mutation in protection code to avoid pattern recognition
Real-time simulation in target application
Intelligent protection code insertion inside target application
Random internal data relocation
Possibility to customize dialogs in protected application
Support of command line
Many many more...

WinLicense [] (26-Apr-2022)
[+]Improved compatibility with Windows 11
[+]Improved detection of protection macros with specific compiler optimizations
[+]Improved support with specific applications using forwarded exports
[+]Improved logic to allow "one hour" and "one day" clock back in trial and expiry licenses
[+]Improved exception handling inside virtualized code
[+]Improved option "Perform protection checks on VM macros"
[+]Improved support with manually mapped protected DLLs
[+]Improved processing of relocations in specific DLLs
[+]Added new plugin callback "SecureEngineGetFingerprint"
[+]Added Software Custom Value "LicenseSmartKeyEmbedInfo"
[+]Added "%softname" and "%runtime" keywords in Customized Dialogs
[+]Added searching for "Hardware ID" in Activation panel
[!]Fixed compatiblity issue with new anti-debugger detection on Windows on ARM
[!]Fixed sudden exit when runnning protected applications on specific Windows 11 machines
[!]Fixed compatibility issue running protected applications under Linux/Wine
[!]Fixed exception in WLHardwareCheckID
[!]XBundler x64: Fixed exception will all files to be extracted to disk and option "Delete extracted on exit"
[!]Fixed compatibility wrapping GetVersionEx when running in "Compatibility mode"
[!]Fixed exception processing MAP functions to virtualize from command line protection
[!]Fixed memory leak when unloading protected DLLs
[!]Fixed sudden license expiration when changing time zones
[!]Fixed construction of Exception directory with re-virtualized VMs
[!]x64: Fixed deadlock when exception happened in virtualized code
[!]Fixed exception on specific Windows 11 computers when protecting via the User Interface
[!]Minor bugs fixed

Additional Information