ShareGuard Locksmith Help Contents

Check current pricing and specials.

Introduction

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:
  1. ShareGuard Lock (EXEcutable or DLL)
  2. ShareGuard Key (several types available)
  3. ShareGuard Locksmith
  4. Cyclic Redundancy Check DLL
  1. ShareGuard Lock

    - 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.


  2. 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.

    The declaration:
    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.

    1. Generate parameters in Locksmith Lock page
    2. Define either static or dynamic calling of DLLs
    3. 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.
    4. Call the ShareGuardLock function in the ZSSGLOCK.DLL with the
    5. Locksmith Parameters for calling the Lock program (ZSSGL.EXE)
    6. 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:
    Reason Codes:
    1. 0 - OK
    2. 1 - CRC Check failed, DLL Missing
    3. 2 - CRC Check failed, product modified - incorrect version or has been tampered with by user
    4. 3 - Invalid Registration
    5. 4 - Demo Expired
    6. 5 - Parameters missing or invalid - ZSSGL.EXE parms
    7. 6 - System Migrated to another computer
    8. 7 - ZSSGL.EXE program missing
    9. 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.

  3. ShareGuard Key

    - 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.


  4. On-Line Registration 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).

  5. 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.


  6. 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.

Overview

These are some samples of the screens. Click to enlarge.

Different Uses

There are several different ways to use this system:
  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. 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.
  9. 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.

    Security

    There are 4 basic security features to this system:
    1. 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.
    2. 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.
    3. 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.
    4. 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.
    1. 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.
    2. Lock/License: Enter an 8 byte license key.
    3. Lock/Application/Calling Program: Enter the executable name of the software that you are trying to protect.
    4. 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.
    5. Lock/Web/Registration URL: Enter the website page URL where a customer can purchase your software and/or the ShareGuard Key.
    6. 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.
    7. 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.
    8. Messages: Review any messages and adjust your parameters accordingly.
    9. Tools/Test/Lock: Test the Lock program to ensure that it is functioning according to your anticipated results.
    10. Tools/Test/Simulate: Test the Lock and the calling program (your program) to ensure that it is functioning according to your anticipated results.
    11. 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).
    12. 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

    Tools and Their Uses

    These are some tool that you might require for testing purposes.
    1. 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.
    2. 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.
    3. Reset Product Key. This will reset your system after the DEMO has expired and/or you wish to test for other conditions.
    4. 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.
    5. 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.
    6. 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.
    7. 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.
    8. 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.

    Menu

    File

    These are all of the File options to clear, open, save and print your work.

    File/New

    This clears all entries on the current page only.

    File/New Project

    This clears all entries on all of the pages.

    File/Open

    This opens a file for the current page only.

    File/Open Project

    This opens a project file for all of the pages.

    File/Save

    This saves a file for the current page only.

    File/Save Project

    This saves a project file for all of the pages.

    File/Save As

    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.

    File/Exit

    This closes the Locksmith program. It will prompt you to save your current project before closing.

    Edit

    These are all of the Edit options to undo, cut, copy, paste, delete and select all for work in your project files.

    Edit/Undo

    This undoes the last edit command.

    Edit/Cut

    This cuts the selected text and places into the clipboard.

    Edit/Copy

    This copies the selected text and places into the clipboard.

    Edit/Paste

    This pastes the clipboard text to the cursor specified location.

    Edit/Delete

    This deletes the selected text.

    Edit/Select All

    This selects all of the text specified. This is used prior to a cut, copy or delete command.

    Page

    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.

    Page/Lock Parameters

    This page contains all of the parameters required to build a lock.

    Page/Key Parameters

    This page contains all of the parameters required to build a key.

    Page/Messages

    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.

    Page/Tools

    This page contains the tools required for testing of the Lock and Key programs that you have built.

    Page/Quick Start

    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.

    Options

    These are all of the options available to the Locksmith program. This contains fonts and settings.

    Options/Fonts

    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.

    Options/Settings

    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.

    Options/Settings/Project Directory

    This is the path for your project files that you will create. You may want to save them in a different directory.

    Options/Settings/Password

    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.

    Options/Skins

    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.



    Internet/Search Internet

    This will open your default browser to Google for searching.

    Internet/Send Mail

    This will send an e-mail to anyone that you specify.

    Help

    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.

    Help/Contents

    This is the page of all of the help contents. The page you are currently reading here is the contents page.

    Help/Index

    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.

    Help/Web Help

    This will open your default browser to Zapper Software so that you can view any additional help or updates regarding ShareGuard.

    Help/E-Mail Help

    This will send an e-mail directly to Zapper Software for personal help.

    Help/About

    This is the page containing information about the ShareGuard Locksmith program.

    Lock Page

    Product Key

    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.

    License

    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.

    Calling Program

    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.

    Kill Programs

    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.

    Application Title

    This is the title that will appear at the top of the ShareGuard Lock form.

    Product Name

    This is the name of the product that will appear as the caption on the ShareGuard Lock form.

    Price

    This is the price of your product that will appear on the ShareGuard Lock.

    Registration URL

    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.

    SSL

    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.

    URL help

    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.

    E-mail

    This is the e-mail address where customers can contact you. e.g. yourname@yourisp.com

    Contact Name

    This is the contact name that will appear on any e-mails sent to the e-mail address.

    Form Color

    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.

    Font Name

    This is the font name to be applied to the ShareGuard Lock form. Various fonts to choose from.

    Font Size

    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.

    Bevel Inner

    This is the inner bevel to be applied to the ShareGuard Lock form.

    Bevel Outer

    This is the outer bevel to be applied to the ShareGuard Lock form.

    Bevel Width

    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.

    And

    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.

    Splash Screen

    This will display a splash screen prior to displaying ShareGuard Lock and your program.

    Image

    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.

    Splash Shape

    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).

    Lock Parameters

    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).

    Close

    This closes the ShareGuard Locksmith application. It will prompt you to save your current project before closing.

    Key Page

    Product Key

    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.

    License

    This is the license defined for the Product Key.

    Certificate

    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.

    Product Name

    This is the name of the product that will appear as the caption on the ShareGuard Key form.

    Run Silent

    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

    NEW FEATURE: 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.

    Seed Password

    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.

    Registration Codes

    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:
    [autorun]
    OPEN=SETUP.EXE
    ICON=SAMPLE.ICO

    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):
    1. 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.
    2. 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.
    3. The customer then enters the certificate number and the software is unlocked.


    Method 2 Process (example):
    1. 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)
    2. 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.
    3. The customer runs the Key batch file (ZSSGKEY.BAT) which calls the product key program (ZSSGK.EXE).
    4. 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.
    5. The customer phones you or e-mails you their product key.
    6. You generate a product key batch file with the correct parameters (encrypted) to unlock the software.
    7. 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.
    8. The customer receives the batch file attachment, places into your application directory (where the ZSSGK.EXE program resides) and then runs the batch file.
    9. 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.
    10. 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.
    11. 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.
    12. 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):
    1. 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.
    2. 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.
    3. The customer then download the key software, enters the registration code and the software is unlocked.
    4. You can keep track of all of your customers based upon the registration codes.


    Method 3 Process (another example):
    1. 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.
    2. 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.
    3. The customer then enters the registration code and the software is unlocked.
    4. 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.

    Key Parameters

    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.

    Messages Page

    Messages

    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.

    Tools Page

    Test Lock

    This will test your lock program with the parameters that you defined.

    Test Key

    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.

    Open File

    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.

    File Name

    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 EXE

    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.

    Language

    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.

    Code

    This will generate sample code for your software language.

    Sample Code

    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.
    1. 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.
    2. Create a setup program with the ShareGuard Key parameters (which calls the ZSSGK.EXE)
    3. Create another web page on a password protected directory which has just your thank you information or some other text - it does not matter.
    4. 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
    5. 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.
    6. 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.
    Send us an e-mail for working examples at techsupport@zappersoftware.com

    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:
    ZSSGKEY.ASP
    ZSSGKEY.HTM
    ZSSGKEY.HTML
    ZSSGKEY.PHP

    EXAMPLE (using Batch file):
    BZSSGKEY.BAT - place in the same password protected directory as a page with any of the following names:
    BZSSGKEY.ASP
    BZSSGKEY.HTM
    BZSSGKEY.HTML
    BZSSGKEY.PHP

    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.

    NAMING CONVENTIONS:
    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):
    http://www.zappersoftware.com/Sample/samplepurchase.php
    http://www.zappersoftware.com/Sample/Protected/samplekeygen.php
    http://www.zappersoftware.com/Sample/Protected/samplekey.php
    http://www.zappersoftware.com/Sample/Protected/samplekey.exe
    http://www.zappersoftware.com/Sample/Protected/samplekey.zip
    http://www.zappersoftware.com/Sample/Protected/product-key-rules.html
    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):
    http://www.zappersoftware.com/Sample/Protected/BZSSGKEY.html
    http://www.zappersoftware.com/Sample/Protected/BZSSGKEY.bat

    web page: www.zappersoftware.com/Sample/Protected/BZSSGKEY.html
    username: sample
    password: test

    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:
    1. Set the calling program to SHAREGUARD in Locksmith Lock Page.
    2. Set the form color to INVISIBLE in Locksmith Lock Page.
    3. Generate the ShareGuard Lock parameters.
    4. Setup the DLL and call the function ShareGuardLock first.
    5. Call any of the other functions that you wish to display and/or condition test.
        e.g.
      • ShareGuardDaysRemaining
      • ShareGuardDemo
      • ShareGuardDemoExpired
      • ShareGuardInvalidSystem
      • If (Demo and DemoExpired) or InvalidSystem then shut down application else display DaysRemaining
    The following functions are available in ZSSGLOCK.DLL: Reason Codes:

    Software Distribution

    The following is the recommended ways to distribute your software based upon the media.

    How to Distribute Software

    The files are as follows:
    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 Overview:
    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.

    Software Leasing

    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
    1