ShareGuard Locksmith Help Contents
Check current pricing and specials.
Documentation for ShareGuard V4.0 November 28, 2008
ShareGuard is the most flexible copy protection system available. It can be used in any programming language and will protect EXEs or DLLs or run time systems (e.g. Microsoft Access, Visual Basic, Java) and works with the new .NET architecture. It will unlock software using three different methods and has online activation. It will generate product registration keys for completely automated systems. It will also allow for unlocking of single computers for the ultimate in security.
ShareGuard will wrap executables and then can issue product registration keys for a completely automated system that works with any e-commerce provider. You will never need another copy protection system other than ShareGuard. ShareGuard can be used as a wrapper for easy to use copy protection or as internal code in your application for more control over the copy protection.
ShareGuard allows for multiple Registration form styles and/or allows for you to design your own form or use internal coding to make function calls inside the DLL so you can present your own forms and/or data. ShareGuard uses our own encryption system plus CRC32 file checking for the lock and application files and MD5 hashing for the key program parameters. ShareGuard also has several other secret protection systems built into all of the software.
ShareGuard is designed to work with all of our other products. It is completely integrated. This includes eBookGuard, MP3Guard, MovieGuard and PDFGuard. These products have the coding built in already so that the data (pictures,text,videos,mp3,pdf) is completely protected according to your specifications.
ShareGuard will lock and unlock an unlimited number of customers and is all royalty-free.
There are 4 basic components to this system:
- ShareGuard Lock (EXEcutable or DLL)
- ShareGuard Key (several types available)
- ShareGuard Locksmith
- Cyclic Redundancy Check DLL
- This is the software that protects your system from
unauthorized users and/or extended use beyond the demonstration period. Its main purpose is to get the customer to register your software product (generate revenue for you). You will distribute this module, along with your software, to your customers.
NEW FEATURE (V3.6 2005/06/08):
All modules in ShareGuard are now encrypted and have a corresponding DAT file for higher security. Create Online Registration Executable with your web page key address embedded in the program so that the end user never knows the website where the activation key is located. Username and password are the only prompts. Go to the Tools Page and enter your webpage (see Naming Conventions) and press EXE OLR button. The module ZSSGREG.EXE and ZSSGREG.DAT are output into the C:\Program Files\ShareGuard\Output folder. Your executable is encrypted and is decrypted in memory at load time. There is no ZSSGREG.EXE module. It is now only generated on the Tools Page.
NEW FEATURE (V3.5 2005/06/03):
Encrypt EXE for SDK. This is found on the tools page. This is for the SDK Internal Coding (Software Development Kit) approach as opposed to the wrapper. You put your generated code in your program for internal copy protection and then encrypt that executable. The loader program is used to decrypt the program in memory. This is similar to using a wrapper approach except that your copy protection is still within memory to provide an additional layer of security. This is now the highest rating of copy protection when using the Encrypted EXE with internal coding.
NEW FEATURE (V3.4 2005/05/01): Setup Program support and web service. ShareGuard will create a setup program for you automatically. Everything is placed into one single executable file. This can be used to create setup programs for your complete application as well as for single user keys. NOTE: eBookGuard, MP3Guard and MovieGuard requires 2 steps to create your steup file. First create a ShareGuard project (click on the Calling Program field on the Lock page and select the correct product - eBookGuard, MP3Guard, MovieGuard or PDFGuard), compile it, save it. Now add your ShareGuard project to eBookGuard, MP3Guard or MovieGuard. Make sure the output folder (e.g. c:\Program Files\xyz\Output where xyz = eBookGuard, MP3Guard or MovieGuard) is deleted before compiling. Compile (produce) your eBookGuard, MP3Guard or MovieGuard with the ShareGuard project entered in the input field (double click and then select the project file) for the ShareGuard Project. Test it from eBookGuard (Read), MP3Guard (Play) or MovieGuard (Play) using the Play or Read button. Now open ShareGuard again and open the ShareGuard project and compile again. Say YES to Create Setup Program and your eBookGuard, MP3Guard, MovieGuard or PDFGuard files will be placed into one single executable file ready for installation. ShareGuard can be used as a web service to pass the project name and the key for the single user key to create the parameters to unlock the software. The two parameters are /P for the project filename and /K for the single user key product key for method 2. e.g. Call locksmith in batch mode with the correct parameters. ZSSGLS.EXE /Plocksmith.sgp /KDEMOSG01-AB123456-26012345
This allows you to accept the manual key from the user, call Locksmith in batch mode and have Locksmith compile and return the batch file. You can then call the batch file and it will unlock the computer.
NEW FEATURE (2005/04/02): Screen Saver support and parameter passing using the wrapper. ShareGuard will now perform copy protection for screen saver programs. You can also now pass parameters to your executable through the wrapper. Multiple backups of the output folder are now available through the options/settings menu.
NEW FEATURE (2005/02/28): ShareGuardLock EXE Wrapper - Automated Copy Protection Wrapper. All of the files required for your application are
generated into the ShareGuard\Output folder. Your application is the main application and all of the other files necessary are included. See the Readme.txt for a list. Just copy the contents of the output folder to your setup program. NOTE: You must include any other necessary DLLs or EXEs that were not part of the main program (if necessary).
NEW FEATURE (2004/02/09): ShareGuardLock Dynamic Link Library -
A new DLL called ZSSGLOCK.DLL which is intended to make coding easier. The CRC checking and program execution and registry value retrieval is all performed within this DLL. This allows you to add more protection to your system by shutting down the application if the reason code is not zero.
function ShareGuardLock(LocksmithParameters: PChar): PChar; stdcall external 'ZSSGLOCK.dll';
See the ShareGuardLockDLL folder for the sample application with a full walk through on how to use static and dynamic link libraries. There is also a new release of the ZSSGCRC32.DLL for C++. This is just a minor change to the length of the return value. It is now 8 bytes being returned with no garbage at the end.
- Generate parameters in Locksmith Lock page
- Define either static or dynamic calling of DLLs
- Perform CRC check on the ZSSGLOCK.DLL to ensure that it is correct.
If it does not have the correct CRC value then shut down the application.
- Call the ShareGuardLock function in the ZSSGLOCK.DLL with the
- Locksmith Parameters for calling the Lock program (ZSSGL.EXE)
- Check the Return Code - if it is not zero then shut application down
Just pass in the Locksmith parameters and reason code will be returned.
The reason codes are as follows:
- 0 - OK
- 1 - CRC Check failed, DLL Missing
- 2 - CRC Check failed, product modified - incorrect version or has been tampered with by user
- 3 - Invalid Registration
- 4 - Demo Expired
- 5 - Parameters missing or invalid - ZSSGL.EXE parms
- 6 - System Migrated to another computer
- 7 - ZSSGL.EXE program missing
- 8 - Registry entry missing
There are several other functions available in the dynamic link library. They are not required but if you wish more control over the ShareGuard Lock then you may find them useful.
More details on ShareGuard Lock DLL
Just remember to check the CRC value of ZSSGLOCK.DLL and you have very safe system without any coding hassles. IMPORTANT: If you are using Visual Basic or FoxPro then you may need another DLL. If you intend to use this method then contact us and I will supply you with the Visual Basic/FoxPro DLL. See the web site help section on DLLs for the latest versions for all languages. There are also many code samples in various languages with downloads for complete applications.
- This is the software that you sell to your customers to allow
them access to your application. This is optional as you may want to sell them another version of your software without the Lock program. You will distribute this module to your customers after they pay for your software product.
NEW FEATURE (2004/04/30): You can also lease your software using either the manual key or the online key or certificate method.
NEW FEATURE: The manual key distribution method is the most secure and it is impossible for anyone to copy your software. You must, however, generate a key for each customer. You can then e-mail the small batch file to the customer to unlock ONLY their software. The key is useless to anybody else. If you want high security and an automated method then use the online activation module.
NEW FEATURE (2005/03/13): You can now generate registration codes. These can be sent to your e-commerce provider.
Use ShareGuard Locksmith to create a calling program on the Key tab called
bzssgkey.bat (for Unix). Once the lock and key has been generated save the key batch file as bzssgkey.bat. Place bzssgkey.bat in the web server directory you will use for on line registration. Place another file bzssgkey.html in the web server directory you will use for on line registration. NOTE: See the naming conventions at the bottom for your server type (for Windows IIS or other servers requiring different file extensions).
ShareGuard Locksmith- This is the software that builds your lock and key, provides your testing tools and ties everything together into a cohesive secure package. This is NEVER distributed and is a licensed product to you for one seat.
Cyclic Redundancy Check DLL- This DLL function ensures that your software and the the Lock program have complete integrity. If you do not use the CRC then a hacker could modify your code and/or modify the Lock program. e.g. They could create a dummy Lock program which your program would call and not realize that it has been modified thus unlocking your software. You will distribute this module to your customers along with the Lock module and your software.
These are some samples of the screens. Click to enlarge.
There are several different ways to use this system:
- Nag Screen - no date or run checking is performed. This is accomplished by unchecking the Verify By Date and unchecking the Verify By Run. This feature is useful for marketing when you want to give away free software but you want them to visit a particular web site in order to upsell them on another product or a better version of the product that contains the Nag screen.
- Splash Screen Only - no Nag screen or Lock screen will appear. Only the Splash Screen will be displayed. This is accomplished by checking the Splash Screen Only.
- Kill Programs Only - only the specified programs will be terminated from memory. This is accomplished by checking the Kill Programs Only. This feature is useful for prevent reverse engineering of your product. You may also display a Splash Screen while you are killing de-assembler programs.
- Lock Screen only - when users purchase your software you will give them a complete new version that does not contain the Lock program. This is accomplished by not generating a Key and having two versions of your software (1) version with the Lock program (2) version without a Lock program but only accessible to customers who have registered.
- Lock and Key - when users purchase your software you will give them a Key program only (downloaded from your site). This will unlock the Lock program. They will never see the Lock program again. This is accomplished by using the Run Silent option without adding any certificate numbers on the Key page.
- Lock and Key and Certificate - when users purchase your software you will give them a Key program and a Certificate Number. This will be downloaded from your site. The customer will enter the Certificate Number and his will unlock the Lock program. They will never see the Lock program again.
- NEW FEATURE: Online Activation (Automatic) - when users purchase your software you give them a username, password and a web site URL (password protected) to visit. The software is automatically unlocked. This method is very secure but requires internet access and frequent username and password changes. Use this method for users that have an internet connection and/or if you do not wish to generate unique product keys. This level of security is dependent upon how often you change your usernames and passwords. Effective V3.6: Go to the Tools Page and enter your web page URL and press EXE OLR to generate the Online Activation module which now contains your webpage and is all encrypted code.
- NEW FEATURE: Single User Product Key (Manual) - when users purchase your software you issue a product key batch file that will unlock their software for a single specific machine. This is the highest level of security but requires manual product key generation for each sale. Use this method for distributing software to users without an internet connection or for distribution on CD Roms or where the highest level of security is required.NOTE: The first part of the product key (product id) is masked to ensure that nobody else can make a copy of your key using ShareGuard. When the user e-mails the product key they will not know the product id. You will enter it from your ShareGuard project.
- NEW FEATURE (2005-03-13): Generate Keys - when users purchase your software your e-commerce provider can just send one of these registration codes that will unlock their software. This is medium level of security but requires little work. You can generate and send your PASSWORD.TXT file to your e-commerce provider. They will use the list to issue these keys to customers when they buy so the process is totally automated. Use this method for distributing software to users with or without an internet connection or for distribution on CD Roms or where the highest level of security is not required. You will have to include the key software with your application. Only customers who know the registration code can unlock the software. You can keep track of your customers based on the unique registration keys that are issued.
There are 4 basic security features to this system:
- ShareGuard Lock - product key and license are encrypted using the Lock encryption. You cannot reverse the encrypted keys. These encrypted keys do not externally match to the Key program. This protects your software from being unlocked by anything other than the correct key that you generated. Attempts to hack the key are limited to 10 attempts and then the software disables the lock and key.
- ShareGuard Key - product key, license and certificate(s) are encrypted using the Key encryption. You cannot reverse the encrypted keys. These encrypted keys do not externally match to the Lock program. The key program can only be executed once. If the user executes the key program again it will warn them that they are migrating the software and then, if prompted will migrate the software key. See Software Migration. If you select the Run Silent option then a dummy certificate is issued which the user does not ever have to see. This is to ensure that nobody can run a key program using your encrypted product key and license key. If you select Generate Keys then you will be issuing product activation keys.
- Cyclic Redundancy Check DLL - (a) automatically checks (when the option is specified) the size/contents of your software as it was recorded during the software installation. Any modifications to your source code will result in an error and the program will not run. (b) You the programmer must, however, perform a CRC check on the ShareGuard Lock to ensure that nobody has replaced the program with a dummy module to get past the Lock program.
- Software Migration - the user is permitted to migrate the software
from their computer to another computer by invoking the Key program a second time. This will warn the user that the software will be migrated and that the user may never run the software on their computer again. The user then migrates the software key to a floppy or network drive, re-installs your software and then re-applies the ShareGuard Key. They cannot apply the key to their original machine. IT WILL NEVER WORK AGAIN on the computer from which they migrated. This allows the user to reformat their hard drive, upgrade their operating system or change computers without having to purchase the software again or have to contact the software vendor (YOU). This feature has been implemented to overcome software selling points in some highly secure copy protection programs that only allow for one computer. Most users will NOT buy software that cannot be migrated. This feature overcomes that obstacle.
Quick Start Step-By-Step Procedures
When you first start the ShareGuard Locksmith program it will start on the Quick Start page. This is a primer for beginners to show the overview of the steps required. After you understand the system you can set this page off and the program will always open to the Lock page. You can reset it back to this page by going to the menu Options/Settings/Quick Start.
Lock/Product Key: Enter a unique Product Key from the assigned range of product keys. These are assigned after you register and are only applicable to you. Everyone receives their own assigned ranges to prevent conflicts. If you are evaluating the DEMO version then enter a number from DEMOSG01 to DEMOSG99.
Lock/License: Enter an 8 byte license key.
Lock/Application/Calling Program: Enter the executable name of the software that you are trying to protect.
Lock/Application/Shutdown: Checking this will shutdown the calling program if the demo has expired or other problems exist. If you are creating your own form and using INVISIBLE and you wish to control total program control then uncheck this. You must shutdown the program yourself manually in your code.
Lock/Web/Registration URL: Enter the website page URL where a customer can purchase your software and/or the ShareGuard Key.
Key/Certificate Number: Enter up to 10 different certificate numbers. These certificate numbers are what you will issue to your customers
in order to unlock the software. e.g. Each customer will receive only 1 certificate number which will then be matched against one of your ten certificate numbers, if it matches then the software is unlocked. This is a case sensitive field so be sure to advise your customers that upper and lower case must be used. Allowing up to ten certificates allows you to cycle through for a particular key. Method 1 is used in the QuickStart quide for simplicity but you can use several methods of unlocking the software including key generation that most e-commerce providers accept.
Press the COMPILE button at the bottom of the form to generate the Lock and Key parameters. Alternatively you can press the OK button on the Lock Page and the OK button on the Key page. The COMPILE button performs both functions at once.
Messages: Review any messages and adjust your parameters accordingly.
Tools/Test/Lock: Test the Lock program to ensure that it is functioning according to your anticipated results.
Tools/Test/Simulate: Test the Lock and the calling program (your program) to ensure that it is functioning according to your anticipated results.
Tools/Test/Key: Test the Key program to ensure that it correctly unlocks your Lock program with the valid certificate numbers only. NOTE: Any attempts to unlock the system will be monitored. Any more than 10 password attempts will result in the system setting a flag to prevent any further attempts. This is to prevent anyone from hacking your Key password (Certificate Number).
Tools/Code/Generate: Select your language and generate the code. Cut and paste it and then test it. This is only sample code and may require some fine tuning for your particular software language and/or version.
Keys - Registering The Software
- There are three basic ways to register (unlock) the software after the customer pays. You can mix and match some of this to create various combinations.
- Certificate - send the customer the batch file and ZSSGK.EXE module and a certificate number. This is the least secure method.
- On-Line Registration - upload the batch file (encrypted batch files are available in V2.1) and html file to a protected directory on your web server. e.g. Create a dummy web page called zkey.html and rename the key batch file to zkey.bat and then upload to your server. Send the On-Line Registration module ZSSGREG.EXE to your customer. Tell them to enter the web page (www.yoursite.com/protected/zkey.html) and the username and password. This will copy the batch file from the server to memory on the customer's machine, execute ZSSGK.EXE with the correct parameters to unlock the software (registering the software). The batch file cannot be accessed by the end user as it is only on the machine for a second, is deleted and is hidden and cannot be shared (cannot copy). Encrypted batch files are available in V2.1 of ShareGuard. This is a medium secure method. If you use the on-line registration method then you must allow for manual method as well as some users will not be able to use the on-line method as they may not have an internet connection or they are behind a proxy server.
- Single User Key - send the customer the Key module ZSSGK.EXE and the batch file (or executable that you built) to display their product key. This will display their unique product key with the Product ID being masked. The user then sends you an e-mail with their product key, you open the project for that product and enter their product key into the Key Page of ShareGuard Locksmith. Generate another batch file by hitting the OK button and then save the Key Batch file and e-mail to the customer asking them to save it to the C:\Program Files\Your Product\ directory (it must be in same directory as ZSSGK.EXE) and to run the batch file. You could an installation program with the batch file and the ZSSGK.EXE module. It will then register the product. The batch file will only work for that computer. This is highest security method.
NEW FEATURE (2005-03-13): Generate Keys - when users purchase your software your e-commerce provider can just send one of these registration codes that will unlock their software. This is medium level of security but requires little work. You can generate and send your PASSWORD.TXT file to your e-commerce provider. They will use the list to issue these keys to customers when they buy so the process is totally automated. Use this method for distributing software to users with or without an internet connection or for distribution on CD Roms or where the highest level of security is not required. You will have to include the key software with your application. Only customers who know the registration code can unlock the software. You can keep track of your customers based on the unique registration keys that are issued.
You must have at least one certificate added, set the Single User Key and Run Silent to No, enter a password seed value, enter the length of the passwords, enter the number of passwords and then Compile. You must not leave the cursor in the certificate combo box field or it will not compile. If you do not add a certificate then a dummy certificate will be added based upon your password seed.
This is a medium security method.
Tools and Their Uses
These are some tool that you might require for testing purposes.
Test Lock. This will test your current Lock configuration. You can modify your parameters and then execute the Test Lock without having to reset the Product Key.
Test Key. This will test your current Key configuration. You can modify your parameters and then execute the Test Key without having to reset the Product Key. Once you unlock the Lock program with the Key the subsequent invocations of Test Lock should result in the suppression of the Lock form. The splash screen, if specified, will still display. Reset the Product Key if you wish to re-test the Lock and/or Key after unlocking or after the demo expiry period.
Reset Product Key. This will reset your system after the DEMO has expired and/or you wish to test for other conditions.
CRC File Check: This will establish a CRC number for a given file. You will use this to
test inside of your program to ensure that nobody has tampered with any of your executables
or the Lock executable. Push the File Name button and select the program that you wish to perform a CRC check against. Push the CRC button and the CRC value will appear in the text box labelled CRC of File.
- Pack Executable: This will allow you to strip the relocatable from an executable or a Dynamic Link Library or you can pack an executable using UPX. Packing with UPX and selecting the BEST option is recommended before you Compile the ShareGuard project.
Generate Code: This will generate sample code in the language of your choice, for calling the Lock from your program. If you specify anything other than a batch file in the Key Calling Program then the appropriate code will also be generated. This allows you to create a wrapper program for the Key.
Lock Batch File (Lock Batch File Page): This creates a batch file with the Lock parameters. It is for TEST
purposes only. You would normally use WINEXEC or CreateProcess as an API call to
invoke the ShareGuard Lock program with all of the generated parameters.
Key Batch File (Key Batch File Page): This creates a batch file with the Key parameters. It is for DISTRIBUTION
or TEST purposes. You can also use WINEXEC or CreateProcess as an API call to
invoke the ShareGuard Key program with all of the generated parameters. If you do not want to
create a wrapper program then use the batch file. This batch file saves you the effort of
writing a wrapper program. The user is only going to execute this once when they buy your
product. If they execute it again it will migrate their system to another computer by copying
the appropriate Product Key and License files. It will set their system status to MIGRATED
which means that they will never be able to run the program again on their computer even
if they re-install it.
There is a double WARNING message when the user attempts to execute this program for a second time.
NOTE: If you are using the Manual Product Key then they cannot migrate nor copy the software. The Single User Key / Manual Product Key is the highest security and is intended for use for expensive software and/or CD Rom distribution of software.
These are all of the File options to clear, open, save and print your work.
This clears all entries on the current page only.
This clears all entries on all of the pages.
This opens a file for the current page only.
This opens a project file for all of the pages.
This saves a file for the current page only.
This saves a project file for all of the pages.
This saves a file for the current page only. It prompts you for a new filename.
File/Save Project As
This saves a project file for all of the pages. It prompts you for a new filename.
This closes the Locksmith program. It will prompt you to save your current project before closing.
These are all of the Edit options to undo, cut, copy, paste, delete and select all for work in your project files.
This undoes the last edit command.
This cuts the selected text and places into the clipboard.
This copies the selected text and places into the clipboard.
This pastes the clipboard text to the cursor specified location.
This deletes the selected text.
This selects all of the text specified. This is used prior to a cut, copy or delete command.
These are all of the pages accessible in the Locksmith program. This is an alternative to using the tabs. A check indicates the current page.
This page contains all of the parameters required to build a lock.
This page contains all of the parameters required to build a key.
This page contains all of the messages generated during the Lock and/or Key generation.
Page/Lock Batch File
This page contains the batch file for the Lock program to be used for testing purposes only.
Page/Key Batch File
This page contains the batch file for the Key program to be used for testing or distribution to your clients to unlock your software.
This page contains the tools required for testing of the Lock and Key programs that you have built.
This page contains the basics of using the Locksmith program. This consolidates several functions from different pages. This will generate a basic lock and key. It is merely for learning purposes. You can turn this page off after you understand the system. See the checkbox at the bottom of the Quick Start page or see the Options/Settings Page.
These are all of the options available to the Locksmith program. This contains fonts and settings.
This allows you to select a different font size and style. Select your font and then press Apply. These fonts will remain in effect until you change them back.
This page allows you to change the following settings: Project Directory, Application Path of your software, Password, Product Number Start Range, Product Number End Range, Help Browser and Show Quick Start page at startup.
This is the path for your project files that you will create. You may want to save them in a different directory.
After you register the ShareGuard system, you will receive a certificate number, a password, a product key start range and a product key end range. You will enter the password into this field once and then the Product Key Start Range and Product Key End Range fields will become enabled. You will now be able to enter your assigned start and end ranges.
Options/Settings/Product Number Start Range
This is the starting number of your product keys. This will be assigned to you after you register ShareGuard Locksmith. All of your product numbers will be edited against the start and end range to ensure that they are within these bounds. This ensures that nobody else can wipe out your software keys.
Options/Settings/Product Number End Range
This is the ending number of your product keys. This will be assigned to you after you register ShareGuard Locksmith. All of your product numbers will be edited against the start and end range to ensure that they are within these bounds. This ensures that nobody else can wipe out your software keys.
Options/Settings/Show Quick Start
This will show the Quick Start page at startup if checked. Once you are familiar with all of the steps involved in the ShareGuard Locksmith program then you can set this off. This has the same effect as checking the check box on the Quick Start page itself. You can always go back and turn the Quick Start page on again in the future.
This allows you to select a different skin to change the look and feel of the application. Select from one of the included skins or load from skins directory. You can also create your own skins. See the http://www.zappersoftware.com for details. The skin will remain in effect until you change it back.
These forms are the registration forms and you just load a skin file into the directory where the ShareGuard Lock program resides. There are several skin files to choose from. NOTE: You must rename the file DEFAULT.SKN.
This will open your default browser to Google for searching.
This will send an e-mail to anyone that you specify.
These are all of the help options available to the Locksmith program. This contains access to the Help Contents, Help Index, Help On Help and About.
This is the page of all of the help contents. The page you are currently reading here is the contents page.
This is the page of the index for the help contents. Clicking on any item will send you to the specified position within the contents page .
Help/Help on Help
This is the page containing information on how to use the help system.
This will open your default browser to Zapper Software so that you can view any additional help or updates regarding ShareGuard.
This will send an e-mail directly to Zapper Software for personal help.
This is the page containing information about the ShareGuard Locksmith program.
This is the Product Key that is unique to your software version/release/build. You will be assigned a range of product numbers and a password to be able to enter the product range. The range will have a start and end product number series. The product number must be within the range. This ensures that your product numbers are unique. After you have entered a Product Range Start and Product Range End then all edits will check to ensure that you are within the correct range. Every time that you issue a new software version (new version or build) then you will be required to issue a new product key. DO NOT re-use product keys as it will not work on your customers machine. You can re-use the same License and/or Certificate numbers from the old Product Key for the new Product Key. This is, however, not recommended due to security reasons.
|IMPORTANT: Do NOT use PRODUCT KEYS without acquiring a correct range. A correct range will be assigned to you after you register the ShareGuard product. This ensures that other shareware developers will not wipe out your product keys and vice-versa.
This is the License number that you assign to your product. The License is, normally, unique to each product key. The product key and license have a one-to-one mapping. This is only true for each Key that you generate. The certificates have a many-to-one mapping to the license. You can have many certificates for one license. You can also set many Key programs to unlock the Lock program by using different licenses for a given product key. This enables you to have thousands of certificates for one product key.
This is the name of your executable program that calls ShareGuard Lock program. This is your software application that you are protecting. The purpose of this field is to allow the ShareGuard Lock program to know which application called it in order to shut down the program when required. When the demonstration period is over, then the ShareGuard Lock program will automatically kill the running process thus not allowing the user access to your software any longer. The ShareGuard Lock program will still appear to notify the potential customer that the demo period has expired and to allow them to register.
Enter the names (up to 10) of any executable program name that you wish to remove from memory whenever you program runs. Several programs have already been identified and are
automatically removed. See Reverse Engineering.
This is the title that will appear at the top of the ShareGuard Lock form.
This is the name of the product that will appear as the caption on the ShareGuard Lock form.
This is the price of your product that will appear on the ShareGuard Lock.
This is the URL where customers can purchase your product. Do not enter "http:// ". Just enter the URL and page. e.g. www.yourwebsite.com/orderform.html.
This is a checkbox for using a secure server for your registration URL. Check this if you wish to use HTTPS protocol (port 443). Leave this field unchecked if you wish to use HTTP protocol (port 80). Using a secure protocol is highly recommended. Users may not purchase your product. This option is mainly for allowing you to send the user to a given unsecured page and then you can forward them or provide a link to a secure server.
This is the URL where customers can obtain more information about your product. Do not enter "http:// ". Just enter the URL and page. e.g. www.yourwebsite.com/producthelp.html.
This is the e-mail address where customers can contact you. e.g. email@example.com
This is the contact name that will appear on any e-mails sent to the e-mail address.
This is the color to be applied to the ShareGuard Lock form. Various colours to choose from.
NEW FEATURE: Choose INVISIBLE to use your own Lock form. This will dump the current variables to the registry. The registry entry is "HKCU/Software/ShareGuard/your encrypted product key". Modifying these values will not affect the performance of ShareGuard.
See http://help.zappersoftware.com for examples.
This is the font name to be applied to the ShareGuard Lock form. Various fonts to choose from.
This is the font size to be applied to the ShareGuard Lock form. 3 font size to choose from. 8 is the smallest, 10 is medium and 12 is the largest. The form will adjust the text for appropriate spacing depending upon your font size.
This is the inner bevel to be applied to the ShareGuard Lock form.
This is the outer bevel to be applied to the ShareGuard Lock form.
This is the width of the bevel to be applied to the ShareGuard Lock form.
Limit By Date
This is limits the demo shareware ShareGuard Lock programs by the dates.
This check box allows you to Limit By Date AND Limit By Run (allows for more usage by customer before the demo expires). If you do not set the AND check box on then it is Limit By Date OR Limit By Run (less usage by potential customer).
Limit By Run
This is limits the demo shareware ShareGuard Lock programs by the number of runs.
Maximum Days Used
This is the maximum number of days the demo shareware ShareGuard Lock programs will run.
Maximum Run Number
This is the maximum number of runs the demo shareware ShareGuard Lock programs will run.
CRC - Cyclic Redundancy Check
This performs a cyclic redundancy check on your executable to ensure that nobody has
modified your software.
This will display a splash screen prior to displaying ShareGuard Lock and your program.
This is the image (JPEG or Bitmap) that you can specify. You can create your own images (320x240) and then load them into the \images directory. The image name must be SPLASH.JPG or SPLASH.BMP and reside in the \images directory. The ShareGuard Lock program looks for SPLASH.JPG first and then SPLASH.BMP and if neither are found then it uses its own default image. Ensure that you have only SPLASH.JPG or only SPLASH.BMP in the \images directory, not both.
This allows you to define the shape of your splash screen.
Your Splash screen can be rectangular, ellipse wide, ellipse narrow or round.
Splash Screen Delay
This allows you to set the display time for your splash screen.
This is the delay in milliseconds that the Splash Screen will appear. This time should be between 2000 (short display time) and 8000 milliseconds (long display time).
These are the generated parameters for calling the Lock program. DO NOT modify. This is what you will call from within your software application.
OK- Generate Lock Parameters
The OK button will generate the Lock parameters for you and display the results in the Lock Parameters field. No longer required, use the Compile button.
All - Generate Lock and Key
The COMPILE button will generate the Lock and Key parameters for you and display the results in the Lock Parameters field and the Key Parameters field (found on the Key Page).
This closes the ShareGuard Locksmith application. It will prompt you to save your current project before closing.
This is the product key that you entered on the Lock page. If you change this product key then you will not be able to unlock your lock software.
This is the license defined for the Product Key.
This is the certificate number defined for the license. You can have up to 10 different certificate numbers. The customer will enter any one of these certificates and it will be matched to the license. This field is case sensitive to allow for more combinations. Please be careful in notifying your customers that certificate is case sensitive.
Button Key Delete
This button deletes a certificate that you may have accidentally entered. Ensure that you select the correct certificate to delete before presssing delete.
Button Key Delete All
This will delete all certificates in the combo box.
Key Calling Program
This is the name of the program that calls the Key program executable. If you intend to use the batch file for distribution then leave the default alone. If you change this field to something other than a batch file then the code generator will automatically generate the code for the ShareGuard Key program. It will follow the generated code for the ShareGuard Lock program.
This is the name of the product that will appear as the caption on the ShareGuard Key form.
This will install the software key without the user having to enter any certificates. This, however, reduces the security of your system as the user does not have to enter a specific certificate number.
Single User Product Key
Set this to YES if you wish to manually issue product keys to users. Setting this radio button to NO will cause the program to use Method 1 which is for automated software key distribution (for use with the online activation or the certificate method of distribution). Setting the radio button to YES will cause the program to execute different logic in the ZSSGK.EXE module which is for manual software key distribution - Method 2. The manual method is the highest level of security but requires you to send each user the UNLOCK KEY in a batch file. This unlock key is ONLY VALID for the single user and cannot be copied to another computer.
NEW FEATURE (2005-03-13): Enter any set of characters from 1 to 20 bytes in length. This is used as a seed value to generate the registration keys. Changing this will change the registration keys that are valid for that project/key program parameters.NOTE: You must have at least one certificate added, set the Single User Key and Run Silent to No, enter a password seed value, enter the length of the passwords, enter the number of passwords and then Compile. You must not leave the cursor in the certificate combo box field or it will not compile. If you do not add a certificate then a dummy certificate will be added based upon the password seed.
Number of Passwords
NEW FEATURE (2005-03-13): Enter a value from 1 to 1,000,000. This will impact the generation of the product registration keys. The highest number of keys (e.g. 1,000,000) results in the lowest level of security. If you generate 100 keys then only 100 customers can enter the activation codes for that particular key. Most e-commerce providers will ask you for 100 activation codes/registration keys. Check with your e-commerce provider for their preference. When you run out of keys then you just change the seed value and re-generate more keys. You must issue that key batch file with the new keys. You can always keep the latest version of your keys on an accessible area of your web site and direct your customers to that download.
Length of Passwords
NEW FEATURE (2005-03-13): Enter a value from 1 to 20. This will impact the generation of the product registration keys. The highest length (e.g. 20) results in the highest level of security. The lower number results in the lowest security. Check with your e-commerce provider for their preference.
NEW FEATURE (2005-03-13): This is a list of all the registration codes. This data is stored in the output folder as PASSWORD.TXT. You will issue this file to your e-commerce provider if you are using method 3 for software activation.
For CD Rom distribution then use the generate keys method 3 or manual method 2 (set to YES). This ensures that nobody can re-distribute your software. This method is also best for high level security and for systems (your customers) that do not have access to the internet. The disadvantage to this method is that it requires you to issue a product key for each individual user and they cannot migrate the software to another system. They must contact you for each installation and you must generate each unique code based upon the product key that they supply you.
Create a file called AUTORUN.INF and place the follwing text inside:
Now place your setup file SETUP.EXE and AUTORUN.INF files on the CD Rom. Whenever someone places the CD rom in the drive, it will automatically attempt to install the software for an easy installation experience.
Method 1 Process (example):
- Create a setup program with your application including all of the lock files and include the key files that were set using method 1 (add certificates and set Run Silent to NO and Single User Key to NO). Distribute your software through various download sites or CD-ROM.
- When the customer purchases your software then your e-commerce provider sends them an e-mail with a certificate number. No additional downloading is required.
- The customer then enters the certificate number and the software is unlocked.
Method 2 Process (example):
- Create a setup program with your programs, the lock program (ZSSGL.EXE), the lock dll (ZSSGLOCK.DLL or ZSSGLOCKOLE2.DLL for VBA)the CRC Check DLL (ZSSGCRC32.DLL and ZSSCRCOLE2.DLL for VB and MS Access - the correct dll for your application) and the key program (ZSSGK.EXE)
- When the customer purchases your software you can automatically send them a certificate number (optional) that will then allow them to display their unique product key. You could also distribute the certificate number with the demo version (use the Run Silent Option) as it will never unlock the software. You could use method 3 and have your e-commerce provider automatically issue a product registration key.
- The customer runs the Key batch file (ZSSGKEY.BAT) which calls the product key program (ZSSGK.EXE).
- The customer enters the certificate number (if required) and their product key is displayed. They still cannot unlock the software. It just displays their unique product key.
- The customer phones you or e-mails you their product key.
- You generate a product key batch file with the correct parameters (encrypted) to unlock the software.
- Attach the batch file to an e-mail and send to the customer with instructions to load into your application directory and run the batch file.
- The customer receives the batch file attachment, places into your application directory (where the ZSSGK.EXE program resides) and then runs the batch file.
- The software automatically registers. The batch file is not good for any other computer system. It is totally unique and useless to anybody else attempting to unlock your software.
- NOTE: The only difference between the batch file calling the ZSSGK.EXE parameters for each unique product key is the /U parameter followed by 48 bytes of the unique encrypted product key that the customer supplied you with after they purchase. The /U parameter contains the specific product key for the customer ONLY. When you distribute the ZSSGK.EXE module for general distribution, you NEVER include the /U parameter or the program will not work. If you do not enter a product key then the /U parameter is not generated.
- The entire process only takes a minute to generate and e-mail a valid key batch file to your customer after you verify their payment.
- NOTE: Method 2: Do not enter a product key in the Product Key field for the general distribution of the software. You generate the product key for each customer after they purchase your software.
Method 3 Process (example):
- Create a setup program with your application including all of the lock files. Do not include the key files. Distribute your software through various download sites or CD-ROM.
- When the customer purchases your software then your e-commerce provider sends them an e-mail with a registration code that is pulled from their database. Their database contains the PASSWORD.TXT file (imported into their database) that you sent them. The e-mail also contains a link to obtain the correct software key which you setup and put into another setup file for easy installation.
- The customer then download the key software, enters the registration code and the software is unlocked.
- You can keep track of all of your customers based upon the registration codes.
Method 3 Process (another example):
- Create a setup program with your application including all of the lock files and include the key files. Distribute your software through various download sites or CD-ROM.
- When the customer purchases your software then your e-commerce provider sends them an e-mail with a registration code that is pulled from their database. Their database contains the PASSWORD.TXT file (imported into their database) that you sent them using ShareGuard Generate Keys. No additional downloading is required.
- The customer then enters the registration code and the software is unlocked.
- You can keep track of all of your customers based upon the registration codes.
Single User Product Key - Product Key
Enter the Product Key that the user sends you after they purchase your software. You only enter these three product key fields after a customer purchases your software and sends you their product key. This will unlock the software ONLY for that specific product/release/computer system. The key is useless to anybody else. The only way a user could copy your software is if they "ghosted" their entire hard drive to another computer.
These are the parameters generated by the Key Generate button. You must cut and
paste these parameters into a shell program if you do not want to use the batch
file for distribution.
Generate Key Parameters
This button generates all of the parameters for your software key program. No longer required, use the Compile button.
These are the messages that were generated when you pressed the Compile (both Lock and Key) button. These messages may contain warnings about how you have configured your lock and key system.
Button Messages Save
This will save any messages that were generated into a separate text file.
Button Messages Clear
This will clear the current messages.
Lock Batch File Page
Lock Batch File
This is a batch file containing a call to the Lock program with all of the correct parameters according to your specifications. This file is for test only if you wish to test on another machine.
Lock Batch File Save
This will save the current Lock Batch File to .BAT file.
Lock Batch File Clear
This will clear the current Lock Batch File.
Key Batch File Page
Key Batch File
This is a batch file containing a call to the Key program with all of the correct parameters according to your specifications. This file can be used for distribution to your customers or for test purposes. If you do not wish to distribute a batch file to your customers then you must write a wrapper program with the call to the Key program and the correct parameters.
Key Batch File Save
This will save the current Key Batch File to .BAT file.
Key Batch File Clear
This will clear the current Key Batch File.
This will test your lock program with the parameters that you defined.
This will test your key program with the parameters that you defined.
Product Key To Reset
Enter the product key which you wish to reset for your Demo Lock and Key testing. This must be exactly the same as what you originally entered - one of you product keys within the range.
Reset Product Key
This will reset the Product Key run counter and date counter.Use this to completely reset your demo lock program. This allows you to re-test the same Product Key over and over.
Use this to find a file that you wish to perform a CRC file check.
CRC File Check
Use this to perform a CRC file check.
Enter or select the file that you wish to perform a CRC file check on.
Edit Tools CRC
This is the Cyclic Redundancy Check number of the file specified.
Pack Executable: This will allow you to strip the relocatable from an executable or a Dynamic Link Library or you can pack an executable using UPX. Packing with UPX and selecting the BEST option is recommended before you Compile the ShareGuard project.
Select the language that you wish to generate the sample code. The sample code includes dynamic loading of the DLL to perform a Cyclic Redundancy Check on the ShareGuardLock program and a call to the ShareGuardLock with all of the correct parameters that you specified.
This will generate sample code for your software language.
This is the sample code generated for your software language. Cut and paste and place into your program(s). NOTE: If you specified any file other than a .BAT on the Key Page then additional code will be generated for the wrapper program to call the Key program.
Cyclic Redundancy Check DLL- This is the software that checks to ensure that your program has not been altered. It should also be used by you to ensure that the ShareGuard Lock program has not been altered. When used together it provides a very tight security system. NOTE: This is not a visual component and is called as a function call. For an example see the Tools page. You will have to load and call the DLL inside of your program for absolute security. It is not, however, a requirement but is strongly advised. This prevents hackers from putting in a dummy module, thus bypassing the Lock program.
Online Activation Module
This is the module to use for online registration. This method of key distribution is very secure but requires frequent username and password changes. It the most secure of the automated methods as product keys do not have to be generated manually and the product key parameters are never stored on the end users computer.
Send us an e-mail for working examples at firstname.lastname@example.org
- To use this you should put this module ZSSGREG.EXE and ZSSGREG.DAT as a download and the ZSSGK.EXE and ZSSGK.DAT (in a ZIP file) on a password protected web page.
- Create a setup program with the ShareGuard Key parameters (which calls the ZSSGK.EXE)
- Create another web page on a password protected directory which has just your thank you information or some other text - it does not matter.
- Upload your KEY parameters program to the same password protected directory and call it the same name as your web page. e.g. ONLINEREG.EXE and ONLINEREG.HTML
- Send the user (the registered buyer) the name of the web page to type in and the user name and password. This will automatically start the EXE program and will register the product. This will never store the product key on the user's machine so the user can never bypass your security.
- Effective V3.6: Go to the Tools Page and enter your web page URL and press EXE OLR to generate the Online Activation module which now contains your webpage and is all encrypted code. This will generate 2 modules - ZSSGREG.EXE and ZSSGREG.DAT. Your web page is hidden for security reasons.
See http://help.zappersoftware.com for examples
EXAMPLE (using EXE):
ZSSGKEY.EXE - place in the same password protected directory as a page with any of the following names:
EXAMPLE (using Batch file):
BZSSGKEY.BAT - place in the same password protected directory as a page with any of the following names:
NOTE: The B at the first position designates the file as a batch file. The web page name always maps to the EXE or Batch file name. If you want another naming convention scheme then I will setup one up for you at NO ADDITIONAL cost.
Some servers require different configurations and handle file types in different ways. Here are the naming conventions to get around this problem. If your server is still giving you problems then contact us for a new filetype. The first position of the filename dictates the filetype.
B is batch file, C is for ZSF (for CGI programs) and Z is for ZIP.
BKEY.HTML BKEY.BAT (for Unix servers)
CKEY.HTML CKEY.ZSF (for CGI programs or Windows IIS servers - change .BAT to .ZSF)
ZKEY.HTML ZKEY.ZIP (for Windows IIS servers - ZIP file - it is not really zipped - just change .BAT file to .ZIP)
XKEY.HTML XKEY.ZAP (for encrypted batch file V2.1)
Anything else is EXE
NOTE: The CGI format is used if you wish to write your own CGI script (e.g. Perl) which automatically records the user IP address and serves up the batch file and then automatically deletes the username and password.
FILES USED (PHP Sample):
Plus MySQL database for storing registrations.
This PHP example is much more complicated so do not be afraid to ask for help on this one. Please ask for these files if you run PHP/MySQL and want a complete working example.
FILES USED (HTML Sample):
web page: www.zappersoftware.com/Sample/Protected/BZSSGKEY.html
You must have ZSSGK.EXE and ZSSGREG.EXE in the same directory. ZSSGREG.EXE is the program that the user will run and then enter
the web page, username and password and then click OK. The software will then download, execute and then delete itself - all automatically.
ShareGuard Lock DLL
NEW FEATURE (2004/02/09):
The ShareGuard Lock DLL accepts only 1 parameter in - the ShareGuard Locksmith Lock parameters generated in Locksmith on the Lock page. This is always a string value. The return value is always string but will be a different length depending upon the function called. See the list below.
The ShareGuard Lock DLL (ZSSGLOCK.DLL) contains 20 different functions. You only really need ShareGuardLock. If you want more flexibility or to create your own forms then you can use these function calls. If you want to create your own form then perform the following:
The following functions are available in ZSSGLOCK.DLL:
- Set the calling program to SHAREGUARD in Locksmith Lock Page.
- Set the form color to INVISIBLE in Locksmith Lock Page.
- Generate the ShareGuard Lock parameters.
- Setup the DLL and call the function ShareGuardLock first.
- Call any of the other functions that you wish to display and/or condition test.
- If (Demo and DemoExpired) or InvalidSystem then shut down application
else display DaysRemaining
- ShareGuardLock (1 byte - the reason code): This creates the automatic form, performs CRC checking, dumps the lock data into the registry and performs all memory sweeps and shuts down hacker/cracker programs.
- ShareGuardDaysRemaining (3 bytes): The number of days remaining in the demo.
- ShareGuardMaxDays (3 bytes) - The maximum number of days for the demo.
- ShareGuardMaxRuns (3 bytes) - The maximum number of runs for the demo.
- ShareGuardDemo (1 byte - T for True and F for False) - If this is a demo product then it will return T for true and if it is a registered program (ShareGuard has been used) then it will return false.
- ShareGuardReasonCode (1 byte - see Reason Codes): The reason code generated by the ShareGuard Lock.
- ShareGuardRunNumber 000 (3 bytes) - The current run number.
- ShareGuardVerifyByDateAndRun (1 byte - T for True and F for False): Is the demo to be checked for both the number of days and the number of runs.
- ShareGuardCheckDays (1 byte - T for True and F for False): Should the demo be checked by number of days remaining.
- ShareGuardCheckRuns (1 byte - T for True and F for False): Should the demo be checked by number of runs remaining.
- ShareGuardInvalidSystem (1 byte - T for True and F for False): Did the user tamper with the system. If they did then it will be set to T for true. This should be F for false under normal circumstances.
- ShareGuardDemoExpired (1 byte - T for True and F for False): Is the demo expired? If it is expired then it will be T for true.
- ShareGuardMessage (variable length 64) - Message generated by the Lock. This is normally blank.
- ShareGuardTitle (variable length 64): The title of the demo.
- ShareGuardURL (variable length 64): The URL for the REGISTER button.
- ShareGuardURLHelp (variable length 64): The URL for the HELP button.
- ShareGuardContactName (variable length 64): The Contact Name that will appear in the e-mail.
- ShareGuardEmailAddress (variable length 64): The e-mail address for the E-mail button.
- ShareGuardProductName (variable length 64): The product name.
- ShareGuardPrice (variable length 6): The price of the product.
- 0 - OK
- 1 - CRC Check failed, DLL Missing
- 2 - CRC Check failed, product modified - incorrect version or tampered by user
- 3 - Invalid Registration
- 4 - Demo Expired
- 5 - Parameters missing or invalid - ZSSGL.EXE parms
- 6 - System Migrated to another computer
- 7 - ZSSGL.EXE program missing
- 8 - Registry entry missing
Defaults set as follows:
- DaysRemaining 000 (3 bytes)
- MaxDays 000 (3 bytes)
- MaxRuns 000 (3 bytes)
- Demo T (1 byte - T for True and F for False)
- ReasonCode 8 (1 byte - see Reason Codes)
- RunNumber 000 (3 bytes)
- VerifyByDateAndRun F (1 byte - T for True and F for False)
- CheckDays F (1 byte - T for True and F for False)
- CheckRuns F (1 byte - T for True and F for False)
- InvalidSystem F (1 byte - T for True and F for False)
- DemoExpired F (1 byte - T for True and F for False)
- Message null (variable length)
- Title null (variable length)
- URL null (variable length)
- URLHelp null (variable length)
- ContactName null (variable length)
- EmailAddress null (variable length)
- ProductName null (variable length)
- Price null (variable length)
The following is the recommended ways to distribute your software based upon the media.
- CD Rom - generate your lock parameters and set the key parameters to "Single User Key" but do not enter anything into the 3 product key fields. Include your software (yourprogram.exe), the lock (zssgl.exe and zssglock.dll) and the single user key modules (zssgk.exe and zssgkey.bat from the Key Batch file page). Create a "Manual Key" entry in your installation program which calls the ZSSGKEY.BAT file. The ZSSGKEY.BAT file will pass the parameters to the ZSSGK.EXE and display the product key for that single computer. The customer then has to phone you or e-mail you with their product key. You just verify their purchase and then send the generated batch file. To generate the batch file you just open the project for that product, go to the Key page, select single user key (should already be selected) and then enter their product key which is the product id (user does not see this but see 8 asterisks ********), the hard drive serial number and a third set of numbers. Press the COMPILE button or the OK button and then go to the Key Batch File page. Select Save As... from the menu and then send them this batch file which must be run from the same directory where ZSSGK.EXE is located (e.g. C:\Program Files\YourProgramFolder). The batch file, that you send them, will only work for that one computer.
- Automated On-Line Download - include the online software registration module (ZSSGREG.EXE) and the manual key as a backup method if the user has problems connecting to the internet. You will have to include the web page, username and password to your protected web site directory where you have setup the batch file containing the key. Change these passwords frequently.
How to Distribute Software
The files are as follows:
- yourprogram.EXE - The executable or run-time module that you created (required). This is the calling program name from Locksmith Lock page. It does not have to be an executable but can be a run time module with the parameters to invoke your run time code.
- DEFAULT.SKN - This is the skin file to apply to all forms (optional file).
- ZSSGL.EXE - This is the ShareGuard Lock program and is required if you using ShareGuard to protect the document (required).
- ZSSGLOCK.DLL - This is the ShareGuard Lock dynamic link library and is required if you using ShareGuard to protect the document (required unless you do the coding to replace this module). NOTE: VB and MS Access users will use the ZSSGLOCKOLE2.DLL instead.
- ZSSGCRC32.DLL - This is the ShareGuard CRC check dynamic link library and is required if you using ShareGuard to protect the document (required). NOTE: VB and MS Access users will use the ZSSGCRCOLE2.DLL instead.
- SPASH.JPG - This is any 320x240 image file that you have included to be displayed as a splash screen.
- ZSSGK.EXE or ZSSGREG.EXE - These files are for the ShareGuard key. If you wish to distribute the software key then include either of these 2 files and the batch file or executable file containing the parameters. See ShareGuard Overview below for more details. If you use ZSSGREG then you will need ZSSGK.EXE.
Place all of the files that you required into a zip file or use an Software Installation program. See the C:/Program Files/ShareGuard/Samples/SampleSetup.ISS file which can be used with Inno Setup Compiler (which is free). See the help section on the website for How To Install Software Using Inno Setup
How to Unlock Software
If you are using ShareGuard then you will need to provide keys in order to unlock the software. Please see the ShareGuard documentation for the most current information on the ShareGuard software.
See C:/Program Files/ShareGuard/Samples/SampleKey.ISS file for an example of distributing a software key to unlock an eBook. This is an Inno Setup Compiler file (see above).
- ShareGuard Lock - use the ShareGuard Locksmith Lock page to create your ShareGuard parameters on how the eBook will be locked (e.g. After 1 run or always locked).
- Tools - use the ShareGuard Locksmith Tools / Reset Product Key to reset the product key during your eBook testing. This will reset the product key to simulate a new software installation of your eBook.
- ShareGuard Key - use the ShareGuard Locksmith Key page to create your ShareGuard Key.
The software key is used to unlock the eBook so that it will no longer display the registration form and will allow the eBook to be read. The software key can be distributed with the eBook software or can be distributed after the user purchases/registers. It is perfectly safe to distribute the software key with the original software if you are using the manual key (single user key) method or the on-line registration method. It is not recommended for the certificate method.
There are 3 different types of software keys:
- Method 1a - Certificates: This approach requires that the user enter a certificate number (that you added on the Key page. You can add up to 10 different certificates for each key and then issue the certificate number to the user after they purchase/register. This approach is the lowest security but requires no maintenance. The weakness with this approach is that the customer could copy all of the files to another computer and enter the same certificate. This requires the files ZSSGKEY.BAT and ZSSGK.EXE. Certificate numbers can be used for the two other approaches. In order to suppress the certificate number requirement then use the "Run Silent" option on the ShareGuard Locksmith Key page. NOTE: You can also use Certificates in conjunction with the On-Line and Single User Key method for added security.
- Method 1b - On-Line Registration (with or without certificates): See the ShareGuard On-Line Registration folder for sample code. This approach requires that the user enter a web page, username and password to unlock the eBook. This approach is medium security and requires that you change the usernames and passwords at some frequency (e.g. a daily basis). The weakness with this approach is that the customer could copy all of the files to another computer and use the same username and password unless you change the usernames/passwords frequently or have some coding on your website to prevent duplicate use of usernames. This requires the files ZSSGREG.EXE and ZSSGK.EXE. The parameters are downloaded from your website at run time and then are erased so that the user cannot distribute the key. You can also encrypt the batch file which is decrypted on the fly at run time (for even more security - see Tools Page). You can also set Run Silent to NO and require that the user enter a certificate number.
- Method 2 - Single User Key: This approach requires that the user run the program (ZSSGKEY.BAT and ZSSGK.EXE) to display their unique product key. They send you the product key that is displayed. You open the ShareGuard project for that book, enter the product id (masked to user) and the 2 other product keys (hard drive signature and a randomly generated key) and then press the OK button or the COMPILE button and then go to the Locksmith Key Page and save the batch file that is generated. Send this batch file to the user to unlock the eBook. The batch file ZSSGKEY.BAT must be run from the same directory as ZSSGK.EXE (your application folder). This requires the files ZSSGKEY.BAT and ZSSGK.EXE. This approach has the highest security as the file is only good for one computer and will not work on any other computer. The drawback is that you must generate a unique key for each customer. This can be done within a minute. There are no weaknesses with this approach - it is impossible to copy or re-distribute the eBook software key.
- Method 3 - Generate Keys: This approach requires that the user run the program (ZSSGKEY.BAT and ZSSGK.EXE) and then enters a valid registration code to unlock the software. You can include all of your application software and the key software into one download (or you can provide the key software after purchase). Customers can download your software but it is still locked. The Product Registration form displays and the Product Key form is available for entering valid registration codes. After the user purchases, your e-commerce provider will issue one of the product registration codes to your customer. They will enter the registration code and the software unlocks. No manual intervention is required. There is an output file created called PASSWORD.TXT. Send this file to your e-commerce provider. Track your customers using these product registration codes. NOTE: You must have at least one certificate added, set the Single User Key and Run Silent to No, enter a password seed value, enter the length of the passwords, enter the number of passwords and then Compile. You must not leave the cursor in the certificate combo box field or it will not compile. If you do not add a certificate then a dummy certificate will be added based upon the password seed.
You must enter the length of the passwords (check with your e-commerce provider). The passwords can be from 1 to 20 bytes. The level of security is determined by this password length.
You must enter the number of passwords to generate (check with your e-commerce provider). The number of passwords to generate can be from 1 to 1,000,000. The level of security is determined by this number. The higher the number of passwords, the lower the security. The lower the number of passwords, the higher the security. I recommend 100 passwords for each key. When you run out then you just change the password seed value and re-generate the keys. You must issue the new key batch file (or executable). I strongly recommend that you the number of passwords to less than 500 for security reasons.
You must enter a seed value for the passwords. Keep these unique for each key generation. This does not affect the security level. NOTE: You must have at least one certificate added, set the Single User Key and Run Silent to No, enter a password seed value, enter the length of the passwords, enter the number of passwords and then Compile. You must not leave the cursor in the certificate combo box field or it will not compile. If you do not add a certificate then a dummy certificate will be added based upon the password seed.
NOTE: The ZSSGKEY.BAT program (on the ShareGuard Locksmith Key Batch File page) contains all of the parameters to call ZSSGK. You cannot call ZSSGK.EXE by itself - it does not know what tasks to perform. Send the user the ZSSGKEY.BAT and the ZSSGK.EXE without any product key specified. After their product key is displayed, they will e-mail you or phone you with the product key. You can then enter it into the Locksmith Key page - Product Key field. Generate the parameters and Key Batch file and send it to the customer. It will unlock ONLY that computer for that software/ebook/video title.
NEW FEATURE (2004/04/30):
You can now lease your software using the Lease Feature. This is found on the key page. You setup your product like before except that you select the Lease checkbox and the number of days and/or the number of runs and the lease number for which the lease will be valid. The logic for the lease on days and runs is the AND boolean operator. There is no OR feature available at this time. The lease number should start with 1 and then has to increment by one for each subsequent lease. Running the lease key batch file again will not work for the end user. They have to request a new lease key from you. Duplicate lease keys are not valid and out of sequence lease keys are not valid and the data is encrypted. If you forget the lease number, the software, on their machine, will tell you their current lease number. You just increment it and send out their new key. This works for either the single user key or multiple key and/or certificate approach. NOTE: The ShareGuard Lock form will appear but the wording is changed to lease and will show the correct number of days and runs available on the lease.
Return To Index
End of ShareGuard Locksmith Help Contents