SoftwareShield
System Feature Guide > FingerPrinting
/ Machine Locking
FingerPrinting / Machine LockingFingerPrinting (or Machine Locking) refers to a mechanism which will uniquely identify a particular computer by its various features, settings, serial numbers, memory address locations, characteristics, etc. There are two ways which the SoftwareShield System uses FingerPrints. These two are closely related, but it is important to understand the difference:
The FingerPrint of a machine is computed from a set of available options you include in your option flag set. There are 23 available options. Each one can be independently turned on or off. This effectively allows you to configure your license to use up to 8388608 different combinations of algorithms for computing the systems FingerPrint. As well, if you have any particular algorithm of your own, the SoftwareShield System essentially allows you to plug it into the FingerPrint sub-system, simply by calling the function SetPrependedFingerPrintString before you call the StartUp function. See Programmer Created FingerPrint Identifiers for more information. This essentially allows you to integrate any algorithm of your own design into the overall process of uniquely identifying a machine. This combination of possible option settings combined with the actual diversity of machine configurations and serial numbers results in a huge number of possible unique FingerPrints. Naturally, you can completely turn off FingerPrinting if you wish by selecting no options whatsoever. Each of the flags is described in detail in the subsection FingerPrint Option Flags. The various options are bound to machine specific information that is retrieved from the (customers) system at run-time. The associated attributes of enabled options on the customers system must remain unchanged or else the systems FingerPrint will essentially change. This could mean that Activation Codes that are intended for a specific system will only work on a system whose FingerPrint (generated from enabled options) match exactly with the FingerPrint that is embedded inside the code itself. Generally, setting more of these options makes the system more secure but less flexible. For example, if you create a license that uses a FingerPrint that includes the "Total RAM" flag and your customer legitimately upgrades by buying more RAM, they may encounter difficulties if they have to re-input an Activation Code which contained a FingerPrint. Or, if you enabled Copy-Protection, since the FingerPrint will have changed, the StartUp function will return FALSE_SYSTEM_NOT_AUTHORIZED, since with Copy-Protection, the FingerPrint check is performed every time the ClientProtector starts. In that case, you would have to reissue them a new Activation Code. Be sure you understand what all the Machine Locking Considerations are. The FingerPrint options code that corresponds to the set of flags you define in a license will be output into the Programming Notes file when you compile your license. More InformationFor help on understanding exactly what information each of the flags binds to on the host machine, see the FingerPrint Option Flags subsection. For help on actually setting your FingerPrint option flags, see System FingerPrint Options Tab in the SoftwareShield License Manager Reference. For help on understanding Copy-Protection, see Copy-Protection in this Feature Guide. |