AV-SOFT.COM
AVLock SIMPLE
Introduction
What is AVLock Gold?
How to buy AVLock Gold?
How to Upgrade from previous versions?
What's new in version 5
Another AVlock components
License Agreement
Using AVLock Gold
How to install AVLock Gold?
How works AVLockGold?
Brief practice with demo's
Step by step samples
Basic sample
Working with modules
Creating your own registration form
Running on a network
"MoveReg" feature
Some configuration issues
Hacking cautions
How to translate AVLock Gold to any language?
Properties
Methods
Events
Useful concepts
Registration keys
KeyFiles
RegFiles and ControlFiles
RegistryKeys
MasterComputers and RegularComputers
Utilities
AVLockManager
RegMonitor
Configure
KeyGen
Php key generators
FAQs

Registration keys

Top  Previous  Next

icon10 What are Registration keys (RegKeys) ?

 

RegKeys are pieces of code with an especial format. All registrations will be done just through these RegKeys.

There are two kinds of RegKeys: Regular and Generic keys. All with the format

XXXXXXX-XXXXXXX-XXXXXXX-XXXXXXX (four segments of seven chars each),

 

Regular keys:

 

This kind of keys require a different key for each user/computer. These Keys are machine dependent for the InstallCode based lock strategy and UserName dependent for the UserName based lock strategy.

 

You can chose between two lock strategies, namely:

 

InstallCode based: The lock protection is based in a special code called InstallCode calculated from some specific values from the machine. This value is displayed on the registration form and when the user decide to register your application, then he must send you this value in order to calculate the registration keys.

 

icodebased

 

The InstallCodeSources property establish from where will be calculated the InstallCode value, can take these values:    BIOS_SN, CPU_ID, HD_SN and Random_Number.

 

The InstallCode value is embedded into the RegKey, then, when the program runs, this value is compared with the similar one calculated from the machine at run time. If these codes matches then the application starts, otherwise the user is prompted to register. This method together with the tmNone value for the TrialMode property provide you a high security level.

 

UserName based: The lock protection is based in a special code calculated from the UserName and stored into the local registry. Each time the program runs, This special code is compared with a similar value stored into the RegKey.

This method is less secure than the InstallCode based, however, this give you a reasonable level of security against common users intrusions. The better way is with GetLocalTrial=True and  TrialMode=tmNone. You may optionally to use tmRelative or tmAbsolute but insofar as possible don't  use GetLocalTrial=False with UserName based Keys.

 

When the user run the application the first time this is prompted to enter his user name then the UserCode is calculated from this name and  stored into the local registry. In the other hand, when you calculate the registration keys for this user, an UserCode is calculated from the user name entered into the user data in the AVLockManager utility. This UserCode is embedded into the calculated registration keys.

 

unamebased

 

When the user register the application this is prompted to enter again your user name, if the UserCode calculated from this name match with the one embedded into the entered registration key then the registration process continues and the registration key with the embeded UserCode is stored into the registration data, otherwise this process is aborted.

After registration when the program runs, the UserCode stored into the registry is compared with the similar one stored into the registration data. If these codes matches then the application starts, otherwise the user is prompted to register.

 

Generic keys:

 

These keys was intended to register apps for several users with only one RegKey avoiding the tedious task to generate a different Regkey for each one. These keys only compares the AppID into the exe file with the existent one into the RegKey which the user is trying to register, and eventually this can check too the VersionId number. More insecure than regular keys but much more efficient.