Protect for Delphi
 
Protect for Delphi Component, by Reinaldo Yañez Arrey.
Copyright © 2000 Reinaldo Yañez Arrey.
All Rights Reserved.
rya@labs.df.uba.ar
 
Version 1.0 - 2/2000
 
 
 
Protect for Delphi is a native Delphi component specially designed to protect your software against piracy. It is part of a registration system that manages the whole registration process. 
As distinctive features, it provides strong encryption for maximum security and it does not read/write information to registry. Extended capabilities of your software can be remote activated by the registration key, on user demand. 

Simple to use, requires no extra programming skill. Only one line of code is needed to achieve full protection for Windows 95 and Windows 98 programs.  (No distribution of .vxd's is needed, .vxd coded internally) 
 

 
 



The following terms will be used along this document.

License Agreement

This code is shareware. No warranties, express or implied, are provided. The author is not responsible for any problems caused by this component. Use it at your own risk. The author provides no support whatsoever, and is not obligated to any person or corporation for anything related to this software. The author reserves all rights concerning this code. You are free to evaluate it and distribute it for evaluation purposes, if you do not modify any part of it and you distribute all the files as a whole. This code cannot be sold for any purposes, or included in a commercial collection, without the express written consent of the author.
This License Agreement applies to demo version only, please read the the registration section for more information.
By installing these files on your computer, you agree to all above conditions.
 

 Quick start:

What do I need to install the component ?

  Windows 95 or Windows 98 Operative system.
  4 Mb hard disk space.
  Delphi 4 installed. (A version for Delphi 3 is available, just contact the author)
 

How to install the component ?

1) Unzip the file (Prot4Dph.zip) to some directory, for example
  C:\Protect4Delphi\

2) From the Delphi IDE do: File -> Open.  Search the directory where files were unzipped.
(C:\Protect4Delphi\   in the example)
(Go to C:\Protect4Delphi\Bin directory)
Then, select the file Protect4DelphiV40Demo.dpk  and press OK.
A window with Compile, Add, Remove, Install  buttons should appear.
Press Install. The component should go to the components palette.

3) Add the installation directory to Delphi Library Path. From Delphi IDE do: Tools->Environment options->Library. Press the ellipsis button (...) of item "Library Path:"
Write down the complete installation path and press 'Add' button.
 
 

Installation Pack contains:

\Bin
  KeyGenerator.exe          (Key Generator)
  Prot4Delphi2.dcu
  Prot4Delphi3.dcu
  Prot4Delphi4.dcu
  Prot4Delphi5.dcu
  Prot4Delphi6.dcu
  Prot4Delphi7.dcu
  Prot4Delphi8Cipher.dcu
  Prot4Delphi8KeySchedule.dcu
  Prot4Delphi8SBoxes.dcu
  Prot4Delphi8StaticTable.dcu
  UProt4Delphi.dcu
  UProt4DelphiDefs.dcu
  Protect4DelphiV40Demo.dpk        (Delphi Package)
  Protect4DelphiV40Demo.bpl         (Delphi package library)
  Protect4DelphiV40Demo.dcp         (Delphi compiled package)
  Protect4DelphiV40Demo.dcu         (Delphi compiled unit)
  Protect4DelphiV40Demo.res
  Protect4DelphiV40Demo.dof
\Doc
  Protect for Delphi (English).doc          (Word Pad documentation)
  Protect for Delphi (English).htm          (Hypertext documentation)
  Protect for Delphi (Spanish).doc         (Word Pad documentation)
  Protect for Delphi (Spanish).htm         (Hypertext documentation)
\Demos\Standard          (Standard demo)
  Main.pas
  Main.dfm
  UDefaultRegistration.pas
  UDefaultRegistration.dfm
  Simple.dpr
  Simple.res
\Demos\Custom                  (Custom demo)
  Main.pas
  Main.dfm
  Custom.dpr
  Custom.res
  MyID0010857.uid
 

How do I protect a program ?

It's very simple, just follow this 3 steps:

 

How   do I  distribute  the  protected program ?
 

What is seen by the user when the protected program is run ?
  How does the developer generate the registration key ?

Once the developer obtained the registration code from the user, the Key Generator can be run to generate the registration key.
The Key Generator is a program (KeyGenerator.exe) included in the distribution pack.

Figure 2
 
The key generator requires  the application key (blue ellipse) and 2) the registration code sent by the user  (green ellipse). What should the user do with the registration key ? How can the protected program have different unlock levels ? Does Protect for Delphi have multilanguage support ?
  I have problems with the instructions.
Where can I see working samples ?
 

Working samples are in this folders:

\Demos\Standard
 Simple.dpr      (Standard demo)
\Demos\Custom
 Custom.dpr     (Custom demo)

To open: In Delphi IDE do (menu) File -> Open -> (go to installation folder) -> (select one of the folders from above) -> (select a .dpr) -> Open.
Compile and run, pressing F9 key.
 

 

What is the pay method for Protect for Delphi ?
What about support and future upgrades ?

Available pay methods are credit card or money order.
There are two registration options:

 1)  Full version. (component, key generator, ID generator)  No nag-screens.
      Full features enabled. Registration needed for "Key generator"  and "ID Generator".
      Get special offers (at very low price) for future upgrades.

2)  NEW !!!
     Full version with source code. (component, key generator, ID generator, +Source code!!!).
     No nag-screens. Full features enabled. Source code included !!!!
     Receive two months of free technical support, and free upgrades for a year.
 

To register please visit this Web-Site:

            http://www.getsoftware.com/cgi/products.gs?vendor=346
 
 or directly to option 1)

            http://www.getsoftware.com/cgi/verify.gs?cart=1554
 


Additional Section:

 

Component properties documentation
  Component properties. Short description.

Methods

 

Properties

Generating unique copy identifiers:
  The solution: Unique copy identifiers.
  How do I generate the unique copy identifiers ?
 
IDGenerator looks like
 
 

This generator requires:

 
License Agreement  

This code is shareware. No warranties, express or implied, are provided. The author is not responsible for any problems caused by this component. Use it at your own risk. The author provides no support whatsoever, and is not obligated to any person or corporation for anything related to this software. The author reserves all rights concerning this code. You are free to evaluate it and distribute it for evaluation purposes, if you do not modify any part of it and you distribute all the files as a whole. This code cannot be sold for any purposes, or included in a commercial collection, without the express written consent of the author. By installing these files on your computer, you agree to all above conditions. 

 
 
 

Additional notes:
 

(C)opyright  2000, Reinaldo Yañez Arrey.
Buenos Aires, Argentina.
rya@labs.df.uba.ar
ryaayr@yahoo.com
 
 
 

IMPORTANT: Demo version limitations
 

1) The demo version pack does NOT include the unique identificators file generator.

2) The messages 'registered', 'not registered' show up with this additional text, that cannot be removed:

This program was copy protected using a Demo version of Protect for Delphi
A protection of this kind is NOT ALLOWED for commercial use.
(C)opyright 2000, by Reinaldo Yañez.
e-mail: rya@labs.df.uba.ar, ryaayr@yahoo.com

3) In the Delphi IDE, when a project containing a TProt4Delphi component is open, this message will be showed:
'Reminder: Prot4Delphi component is NOT registered.'
the message repeats each 30 seconds.

4) The property CheckSecurityEachNSeconds is not connected.
    Security is verified each 60 seconds.

5) The property SupportedCapabilities returns correctly only the first 2 features (Feature 0 and Feature 1). The other features are returned as NOT SUPPORTED.
The key generator can set only this two features.

 

(C)opyright  2000, Reinaldo Yañez Arrey.
Buenos Aires, Argentina.
rya@labs.df.uba.ar
ryaayr@yahoo.com
 
 

About the author:

 Actually I am a physics student at Buenos Aires University. I am working for a company that is dedicated to the development of control software.
At job, I program in Delphi and C. For my own projects I also program in C++ and assembler.
 My e-mail address is:  rya@labs.df.uba.ar  or ryaayr@yahoo.com.

The system I present was developed based on the need to distribute my own software. Some years ago, when old DOS was used, I created a similar copy protection system, that ciphered the final .exe.
When I began to program in Delphi (which, by the way I consider extraordinary) I could not distribute my soft without some 'copyright fear'.
Now I feel I built the right tool.

The only problem is that I do not have the time to make the driver to make it work on Windows NT. I will be probably on exams on February 2000, so I think I will have no extra time.
I realize now that documentation is not so well designed as it should be, so I apologize. However, I wish it could be of some help.

Note: This component uses industrial strength encryption. I have designed a 64 block cipher with 384 (max.) bits of key. It has 128 KBytes of randomly-generated S-BOXES. (I do not believe so much in human made S-BOXES).
 
 
License Agreement 

This code is shareware. No warranties, express or implied, are provided. The author is not responsible for any problems caused by this component. Use it at your own risk. The author provides no support whatsoever, and is not obligated to any person or corporation for anything related to this software. The author reserves all rights concerning this code. You are free to evaluate it and distribute it for evaluation purposes, if you do not modify any part of it and you distribute all the files as a whole. This code cannot be sold for any purposes, or included in a commercial collection, without the express written consent of the author. 
This License Agreement applies to demo version only, please read the the registration section for more information. 
By installing these files on your computer, you agree to all above conditions. 

 

(C)opyright  2000, Reinaldo Yañez Arrey.
Buenos Aires, Argentina.
rya@labs.df.uba.ar
ryaayr@yahoo.com