Most advanced
software protection and licensing systems have extremely
rigid registration schemes imposed on them by their nature.
Consequently, most developers attempt to offer a
customizable solution for developers to give some control
over the product.
For some specialized applications, these "custom"
software protectors and licensing systems do not offer total
flexibility; therefore, those applications cannot implement
important features that they need to operate.
WinLicense DLL Control was born to achieve
that objective: To offer the most flexible scheme for
controlling the status of the protected application and
change its behaviour as desired.
WinLicense DLL Control is in fact a custom
DLL that is embedded inside the protected application. The
DLL control is never extracted to disk and
will receive notifications from WinLicense regarding the
current status of the protected application. The DLL control
can do processing on each notification received by
WInLicense without any restrictions.
You can create your DLL Control using any
programming language; you just have to export to your DLL
the functions that you want to handle when the protected
application is running.
When an
application has been protected with WinLicense DLL Control,
WinLicense will call the DLL Control until the protected
application finally takes control of the processor. It
attempts this through the following stages:
• WDC_Init : Your DLL
Control is notified when the protected application is
going to be launched. The DLL Control can perform any
initialization task or processing at this stage, like
implementation of your own trial/licensing scheme.
•
WDC_ProcessHardwareID : WinLicense will call
this function in your DLL Control when the hardware ID
for the current machine has been acquired. WinLicense
will pass the current hardware ID to your DLL Control
and give you the chance to modify or re-create a new
hardware ID from other devices...for example, creating a
new hardware ID from a dongle device that is attached to
your application.
• WDC_GetLicenseInfo :
WinLicense will call this function when a valid license
key is present and the application is fully registered.
WinLicense will send the license information to your DLL
Control.
• WDC_GetApplicationStatus
: WinLicense will call this function to report
the current trial/licensing status of the protected
application. In this function you will receive detailed
information about the trial status of your application
and licensing-related information.
• WDC_DoRegistration :
WinLicense will call this function if you want to offer
the option of registering the protected application
before it is executed.
• WDC_Finalize : WinLicense
will call this function when the protected application
has been totally loaded and decompressed into memory,
and it is ready to start its execution.
WinLicense does not impose any restriction
in the processing to be done inside each function called
from your DLL Control, giving you extra freedom to implement
all the ideas that you have in mind.
If you have
felt limited by all software protection and licensing
systems that you have tried, maybe WinLicense DLL Control is
what you were looking for. WinLicense DLL Control was born
with the sole objective of giving total freedom to
programmers, allowing them to control their protected
applications in every possible way. |