home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 5 / DATAFILE_PDCD5.iso / utilities / l / lockit / !LockIt / !Help next >
Encoding:
Text File  |  1995-01-03  |  8.9 KB  |  116 lines

  1.       _______
  2.      /       \                LockIt
  3.     /      \                             version 1.20
  4.     |      |---------------------    ________________
  5.     \         /                 |  |    
  6.      \_______/            |  |    by Matthew Bloch
  7.  
  8.  
  9.         !!!!  This program is SHAREWARE  !!!!
  10.     Please read the end of the file for conditions of usage
  11.  
  12. * What it does
  13.  
  14. Basically, if you have software which should only be used on one computer, this program makes sure that the software stays there. If a computer is used by many people, there is always the risk of some people taking copies of this software. What is needed is a program which lets a program only run on one computer. Which is what this does.
  15.  
  16. * How it works
  17.  
  18. So how do we tell whether a piece of software is being run on the computer it should be running on? Well, there are currently four different measures employed by this program which will 'chain' any program to your computer. All of them invlove encoding the application to some extent, so it is *critical* that any program that you process with LockIt is not your only copy. Please do NOT alter original discs in any way. On the other hand, don't leave unencoded copies of the program lying around!
  19.  
  20. The program has actually evolved from there a bit, so read on - I've added some extra features here and there.
  21.  
  22. * Usage
  23.  
  24. There are two programs involved, LockIt and LockItPW. To process an application, load !LockIt and drag the application that you want to process to its window. The filename should appear on the bottom-left of the window. Then choose which measures you want to employ to stop copying:
  25.  
  26. - Software password
  27. This will only let the application run if the !LockItPW program is also present with the correct password entered into it. The idea being that the password in the LockItPW program and the encoded application should match. Note that any programs you encode in this way will only run when the LockItPW program is loaded. You can easily set this to run on startup.
  28.  
  29. - CMOS password
  30. Again this program relies on the !LockItPW program to be loaded but this time the password is stored in the battery-backed RAM, not the !LockItPW program. This is more appropriate if the program is to be put on a network where one password can be put into every computer.
  31.  
  32. - Configuration code
  33. This relies on certain parts of the machine staying constant such as the econet station number, memory size and operating system version. If the config code the application is encoded with do not match those within the machine the program will not run. See below for how to find out a particular machine's configuration code.
  34.  
  35. - Machine ID
  36. This is the most secure method but only works on the more modern Acorn machines. Each Acorn computer comes now with a unique 'identity' chip with a value inside it which will be different for every computer. If you enter a machine's ID into this box, it can *only* be run on that machine. See below for how to find out a particular machine's ID.
  37.  
  38. - Start working / stop working on a certain date
  39. You can encode programs so that they will only work after a certain date, before a certain date or between two dates. Tick whichever options you want and enter the appropriate dates in the boxes.
  40.  
  41. - Squeeze file
  42. Not so much to stop piracy but preserve disc space. Using Acorns own 'Squeeze' program, it reduces the space taken up by the program on disc. Note that som applications will be already squashed; if so this will have no effect.
  43.  
  44. - Process file several times
  45. This will feed the same program through several times which will make hacking harder. Note that some programs may not like being processed too many times with all the other measures as well. The best tactic is to encode it once with all the normal measures that you want then turn them all off and re-process it as many times as you want. This usually works well.
  46.  
  47. Since two methods rely on parts of the machine not directly accessable to the user, two buttons are provided in the program to read the machine's ID or configuration code. Click on either to enter that machine's values into the boxes. To find out today's date, you can click in the 'Read date' box.
  48.  
  49. If the warning message about 'altering the source file permanently' gets on your nerves, you can turn it off in the !Run file. However remember there will be NO warnings after this.
  50.  
  51. Also note that the passwords are CASE-SENSITIVE. This means that you must enter the same combination of capitals & small letters in both the !LockIt and !LockItPW programs. The CMOS password can be only 31 characters long.
  52.  
  53. You can also save the settings for the next time you use LockIt. To stop automatic loading of these settings the next time, hold down ALT as you load the program.
  54.  
  55. If any of the conditions aren't met when a protected program is run, such as passwords being incorrect or the program being out of date then the computer will give a nasty error, not always deliberately. This *might* crash the machine but only if the passwords/IDs are wrong rather than just missing.
  56.  
  57. * Using LockIt from the command line
  58.  
  59. If you want to use LockIt in part of a compilation process for example, it can be invoked without going through the WIMP front-end:
  60.  
  61. Run <LockIt$Dir>.LockIt  -filenm  -softpw  -cmospw  -machid  -config  -squash  -from  -to
  62.  
  63. Fill in the correct filename/password/id/date in the appropriate spaces. The -squash switch does not need to be followed with any parameters. All of these switches are optional except -file. The dates following -from and -to should be in the form ddmmyy (example 271179 = 27th November 1979).
  64.  
  65. * Hacking it ... can it be done?
  66.  
  67. The answer is of course yes. Any protection system at all can be foiled by a determined hacker with a bit of time on his hands. The hope is that this protection is sufficiently elaborate to put off most from hacking it. Also there is no programmer's 'back door' into programs protected with LockIt - honest! This means that the password is not stored anywhere within any protected programs. Also the date protection is of course useless if people change their clocks.
  68.  
  69. The best way to protect your programs is to encode them once in the normal manner, then run them through with all options deselected except the 'process file x times' option. Set this to about 30 to make any hacker's life difficult.
  70.  
  71. I'm not supplying the source code to this program for obvious reasons; if you have any questions about the way it is written, then ask me, don't hack!
  72.  
  73. * Future improvements
  74.  
  75. The innovative design feature of this program is that it is written in a completely un-modular fashion. This means that if any extra bits need to be added on, it is virtually impossible to pick through all the lines of spaghetti ARM-code¹. However, here is a list of some things I might try to do:
  76.  
  77. --- The program can only cope with Absolute files at the moment (i.e. it cannot encode BASIC or modules). However the vast majority of programs are written like this. I will fix this soon. Another clever method of protecting BASIC files is to compile them with ABC which makes them very fiddly to look through.
  78.  
  79. --- The file encoding routines need speeding up a lot. They're written in BASIC at the moment; large files can take ages.
  80.  
  81. --- I might try to write a disc-protection system whereby discs are specially formatted so that they cannot be copied and applications will only run if this disc is present.
  82.  
  83. ¹Hands up anyone who's bored with neatly written, slow 'modular' programs
  84.  
  85. * Conditions of usage
  86.  
  87. This program is SHAREWARE. This term means that the software is not free and should be payed for if you find it useful. Please recognise the fact that this program was not just knocked up over a week-end. The rule is that if you are going to use this program to protect any software then you should send £5 to the address below. I am quite keen that schools and colleges register their usage of this program. You may however copy this unregistered version around to anyone you like providing that every file is included unchanged. The copyright remains mine at all times.
  88.  
  89. This does not apply to people who just want to use it to squeeze their own programs since I didn't write the 'squeeze' program.
  90.  
  91. Incidentally if you do register, you will be entitled to updates to the software on receipt of a disc and postage costs. I'll also emblazen your name on the software.
  92.  
  93. * A brief history of LockIt
  94.  
  95. 1.00    Original release.
  96. 1.10    A few cosmetic changes made, suggested by Cy Booker.
  97.     Interactive help put in.
  98. 1.11    Bloody program didn't work in v1.10 due to no testing. Ooops.
  99. 1.20    Time-lock features added.
  100.     Protection system improved.
  101.  
  102. * And finally
  103.  
  104. Thanks to Piers for helping me with the time-lock bit - I wouldn't know anything about BCD if it wasn't for him.
  105.  
  106. You can write or email me, especially if you want to register! Please report any bugs or problems that you have with the program to me and also if you need help with using the program then contact me.
  107.  
  108. Matthew Bloch,            Internet:   MBloch@arcade.demon.co.uk
  109.     5 Brookside,        Arcade BBS: user #1644 (quicker than Internet)
  110.         Headington,
  111.             Oxford, OX3 7PJ.
  112.  
  113.  
  114. Bye,
  115.  
  116. ..Matthew..