home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
-
-
-
-
- ▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄
- █ █ █ █
- █▄▄▄▄▄█ ▄ ▄▄ ▄▄▄▄ ▄▄▄▄▄▄█ █▄▄ ▄▄▄ ▄ ▄▄▄▄
- █ █ █▄█▄ █▄▄█ █ █ █ █ █ █
- █ █▄▄ █ █ █ █▄▄▄▄▄▄ █▄▄▄▄▄▄ █ █▄█ █▄▄▄
-
-
- RkPlus (tm) 2.x/compatible Encode Unit for RkPlus 3.0
- by C. Scott Davis
- (c) 1990-93 Serious Cybernetics
-
- Rkp2Enc - RkPlus (tm) 2.x/compatible Encode Unit for RkPlus 3.0 Page i
-
-
- T A B L E O F C O N T E N T S
-
- ═══════════════════════════════════════════════════════════════════
-
- Sec D e s c r i p t i o n Page
-
- Table of Contents .................................. i
- 1.0 What Is Rkp2Enc? ................................... 1
- 2.0 Using Rkp2Enc ...................................... 1
- 3.0 Rkp2Enc Variables .................................. 1
- 3.1 OwnerCode .......................................... 2
- 3.2 ProgramCode ........................................ 3
- 4.0 Additional Information On Rkp2Enc .................. 4
- 5.0 Copyright Notices .................................. 4
- 6.0 Index .............................................. 5
-
- Rkp2Enc - RkPlus (tm) 2.x/compatible Encode Unit for RkPlus 3.0 Page 1
-
-
- 1.0 - What is Rkp2Enc?
-
- Rkp2Enc is a Turbo Pascal (tm) unit to allow RkPlus 3.0 to generate and use
- version 2.x/compatible keys. It contains definitions for OwnerCode and
- ProgramCode, as well as the encoding functions used by RkPlus 2.x.
-
- If version 2.x/compatible keys are not required, Rkp3Enc or user-written
- encoding functions may be used instead (see RKPLUS.DOC for more information).
-
-
- 2.0 - Using Rkp2Enc
-
- To use Rkp2Enc, the programmer must place it AFTER RkPlus in the Uses
- definition (as shown below).
-
- Uses
- RkPlus, Rkp2Enc;
-
- In addition, OwnerCode and ProgramCode must be initialised, before any RkPlus
- calls are made (otherwise the RkPlus function RkpError will return
- InvalidParameter). No additional procedure or function calls are needed, as
- Rkp2Enc is automatically activated when it is Used.
-
- If Rkp2Enc is corrupt or has been tampered with, the RkPlus function RkpError
- will return BadTPU. If the RkPlus 3.0 version of Rkp2Enc is used with any
- version other than 3.0, the RkPlus function RkpError will return
- VersionMismatch.
-
-
- 3.0 - RkPlus Variables
-
- The following Variables are defined in Rkp2Enc:
-
- OwnerCode
- ProgramCode
-
- Rkp2Enc - RkPlus (tm) 2.x/compatible Encode Unit for RkPlus 3.0 Page 2
-
-
- 3.1 - OwnerCode
-
- ┌─────────────────────────┐
- │ OwnerCode : String[20]; │
- └─────────────────────────┘
-
- This variable is initialised by Rkp2Enc to '' and must be assigned a value
- before calling any of the RkPlus procedures or functions. It is used (along
- with ProgramCode) to generate the registration keys. This variable should
- probably be the same for all software written by a single person/company. Since
- is it used to cause your keys to be different from those of other programmers
- who are also using RkPlus, the more cryptic this variable is, the more secure
- your keys will be.
-
- Examples :
-
- ┌─────────────────────────────────┐
- │ OwnerCode := 'TrendSoft, Inc.'; │
- └─────────────────────────────────┘
-
- If the name of your company is 'TrendSoft, Inc.', this is probably NOT a good
- OwnerCode. It would be easy for someone who knows the name of the company to
- use the RkPlus unit to write a programme that will generate keys for your
- software.
-
- ┌──────────────────────────────────┐
- │ OwnerCode := 'Trend&&Soft/Inc@'; │
- └──────────────────────────────────┘
-
- This is better. It still uses the name of the company, but it is somewhat
- masked by the insertion of other characters and would be harder for another
- programmer to guess.
-
- ┌────────────────────────────────┐
- │ OwnerCode := 'Read$Make@Into'; │
- └────────────────────────────────┘
-
- This is MUCH better. It uses totally unrelated words that would be extremely
- unlikely to be used by another programmer/company.
-
- ┌──────────────────────────────────────┐
- │ OwnerCode := 'EkQW3#m,-%\uSaXo^Ej7'; │
- └──────────────────────────────────────┘
-
- This is most likely the best, since it uses totally random symbols.
-
- IMPORTANT : You should NOT use any of the actual examples used here or in the
- sample programmes included with RkPlus. If you do, anyone else who uses the
- same example will have IDENTICAL keys!
-
- Rkp2Enc - RkPlus (tm) 2.x/compatible Encode Unit for RkPlus 3.0 Page 3
-
-
- 3.2 - ProgramCode
-
- ┌───────────────────────────┐
- │ ProgramCode : String[16]; │
- └───────────────────────────┘
-
- This variable is initialised by Rkp2Enc to '' and must be assigned a value
- before calling any of the RkPlus procedures or functions. It is used (along
- with OwnerCode) to generate the registration keys. Unlike OwnerCode, it
- doesn't need to be particularly cryptic. There are several approaches to the
- use of ProgramCode:
-
- (1) If ProgramCode is set to the same value for several programmes
- written by a person/company, keys for one piece of software will
- work on another piece of software. Using this approach, you
- could have a single key for several programmes.
-
- (2) If each programme has a different ProgramCode and the ProgramCode is
- not changed when the programme changes, keys for one version of the
- programme will work for all versions of the same programme.
-
- (3) If each programme has a different ProgramCode and the ProgramCode is
- changed when the programme is changed, a different key will be
- required for each version of the programme.
-
- Examples :
-
- ┌───────────────────────────┐
- │ ProgramCode := 'RkStuff'; │
- └───────────────────────────┘
-
- If you wrote a programme called RkSample and a programme called RkUtils and you
- defined the ProgramCode as 'RkStuff' in both programmes, a key for one
- programme would work for the other.
-
- ┌────────────────────────────┐
- │ ProgramCode := 'RkSample'; │
- └────────────────────────────┘
-
- If you wrote a programme called RkSample and a programme called RkUtils and you
- defined the ProgramCode as 'RkSample' in RkSample and used a different
- ProgramCode in RkUtils, a key for one would NOT work for the other.
-
- ┌────────────────────────────────┐
- │ ProgramCode := 'RkSample One'; │
- └────────────────────────────────┘
-
- If you wrote a programme called RkSample and you defined the ProgramCode as
- 'RkSample One' in versions 1.1, 1.2 and 1.3 and then changed the ProgramCode to
- 'RkSample Two' for version 2.1, the same key would work for versions 1.1, 1.2
- and 1.3 but would NOT work for version 2.1.
-
- Rkp2Enc - RkPlus (tm) 2.x/compatible Encode Unit for RkPlus 3.0 Page 4
-
-
- 4.0 - Additional Information On Rkp2Enc
-
-
- Rkp2Enc makes the following assignments to RkPlus variables (for version 2.x
- compatibility):
-
- BaseYear := 1990;
- UseExpDays := False;
-
- These variables should NOT be changed by any programme which uses Rkp2Enc, or
- its keys will NOT be compatible with version 2.x keys.
-
- For more information on using Rkp2Enc, see the sample Turbo Pascal (tm)
- programmes (RKPDEMO2.ZIP) that are distributed with RkPlus, or contact me at
- any of the locations listed in RKPLUS.DOC.
-
-
- 5.0 - Copyright Notices
-
- RkPlus (c) 1991-93 Serious Cybernetics
- Rkp2Enc (c) 1990-93 Serious Cybernetics
- Rkp3Enc (c) 1993 Serious Cybernetics
- Turbo Pascal (c) 1983-89 Borland International
-
- Rkp2Enc - RkPlus (tm) 2.x/compatible Encode Unit for RkPlus 3.0 Page 5
-
-
- 6.0 - Index
-
- D e s c r i p t i o n Page
- ------------------------------------------------------- ----
- BadTPU ................................................... 1
- BaseYear ................................................. 4
-
- InvalidParameter ......................................... 1
-
- OwnerCode ................................................ 2
-
- ProgramCode .............................................. 3
-
- RkpError ................................................. 1
- Rkp3Enc .................................................. 1
-
- UseExpDays ............................................... 4
- Using Rkp2Enc ............................................ 1
-
- Variable List ............................................ 1
- VersionMismatch .......................................... 1
-