home *** CD-ROM | disk | FTP | other *** search
/ RISC DISC 2 / RISC_DISC_2.iso / pd_share / utilities / desktop / lockit / !LockIt / !Help next >
Encoding:
Text File  |  1991-03-20  |  11.7 KB  |  256 lines

  1.       _______
  2.      /       \                LockIt
  3.     /      \                             version 1.30
  4.     |      |---------------------    ________________
  5.     \         /                 |  |    
  6.      \_______/            |  |    by Matthew Bloch
  7.  
  8.  
  9.              with thanks to Piers Wombwell + Dick Alstein
  10.  
  11.         !!!!  This program is SHAREWARE  !!!!
  12.     Please read the end of the file for conditions of usage
  13.  
  14. What it does
  15. ~~~~~~~~~~~~
  16. Basically, if you have software which should only be used on one computer,
  17. this program makes sure that the software stays there. If a computer is used
  18. by many people, there is always the risk of some people taking copies of this
  19. software. So LockIt will 'chain' a particular program to a specific computer
  20. by several different methods.
  21.  
  22. How it works
  23. ~~~~~~~~~~~~
  24. So how do we tell whether a piece of software is being run on the computer it
  25. should be running on? There are several ways of doing it; all of them invlove
  26. encoding the application to some extent, so it is *critical* that any program
  27. that you process with LockIt is not your only copy. Please do NOT alter
  28. original discs in any way. On the other hand, don't leave unencoded copies of
  29. the program lying around with the encoded ones.
  30.  
  31. The program has actually evolved from there a bit, so read on - I've added
  32. some extra features here and there.
  33.  
  34. Usage
  35. ~~~~~
  36. There are two programs involved, LockIt and LockItPW. To use the program you
  37. must first choose which protection methods you want used which are described
  38. below. Then drag the application or file to the LockIt window. If you want to
  39. save over your original, just click OK on the save box, otherwise specify a
  40. new name and drag it to a directory display. Anyway, here are the protection
  41. methods used:
  42.  
  43. - Software password
  44. This will only let the application run if the !LockItPW program is also
  45. present with the correct password entered into it. The idea being that the
  46. password in the LockItPW program and the encoded application should match.
  47. Note that any programs you encode in this way will only run when the LockItPW
  48. program is loaded. You can easily set this to run on startup.
  49.  
  50. - CMOS password
  51. Again this program relies on the !LockItPW program to be loaded but this time
  52. the password is stored in the battery-backed RAM, not the !LockItPW program.
  53. This is more appropriate if the program is to be put on a network where one
  54. password can be put into every computer.
  55.  
  56. - Ask for password
  57. Rather than having the password previously entered in CMOS RAM or in a
  58. software module, the program can ask the user for a password every time the
  59. program is run. This can get tedious, but might be more suitable for some
  60. purposes.
  61.  
  62. - Configuration code
  63. This relies on certain parts of the machine staying constant such as the
  64. econet station number, memory size and operating system version. If the
  65. config code the application is encoded with do not match those within the
  66. machine the program will not run. See below for how to find out a particular
  67. machine's configuration code.
  68.  
  69. - Machine ID
  70. This is the most secure method but only works on the more modern Acorn
  71. machines. Each Acorn computer comes now with a unique 'identity' chip with a
  72. value inside it which will be different for every computer. If you enter a
  73. machine's ID into this box, it can *only* be run on that machine. See below
  74. for how to find out a particular machine's ID.
  75.  
  76. - Start working / stop working on a certain date
  77. You can encode programs so that they will only work after a certain date,
  78. before a certain date or between two dates. Tick whichever options you want
  79. and enter the appropriate dates in the boxes.
  80.  
  81. - Squeeze file
  82. Not so much to stop piracy but preserve disc space. Using Acorns own
  83. 'Squeeze' program, it reduces the space taken up by the program on disc. Note
  84. that some applications will be already squashed; if so this will have no
  85. effect.
  86.  
  87. - Process file several times
  88. This will feed the same program through several times which will make hacking
  89. harder. Note that some programs may not like being processed too many times
  90. with all the other measures as well. The best tactic is to encode it once
  91. with all the normal measures that you want then turn them all off and
  92. re-process it as many times as you want. This usually works well.
  93.  
  94. Since two methods rely on parts of the machine not directly accessable to the
  95. user, two buttons are provided in the program to read the machine's ID or
  96. configuration code. Click on either to enter that machine's values into the
  97. boxes. To find out today's date, you can click in the 'Read date' box.
  98.  
  99. If you save over your original file, the program will warn you and give you
  100. the option to cancel this. If you want to disable this warning, you can alter
  101. a line in the !Run file inside the application to -warnings off. If you're
  102. not sure how to do this, contact me for help!
  103.  
  104. Also note that the passwords are CASE-SENSITIVE. This means that you must
  105. enter the same combination of capitals & small letters in both the !LockIt
  106. and !LockItPW programs. The CMOS password can be only 31 characters long.
  107. Spaces and quotes are not allowed in passwords.
  108.  
  109. You can also save the settings for the next time you use LockIt. To stop
  110. automatic loading of these settings the next time, hold down ALT as you load
  111. the program.
  112.  
  113. If any of the conditions aren't met when a protected program is run, such as
  114. passwords being incorrect or the program being out of date then the computer
  115. will give a nasty error, not always deliberately. This *might* crash the
  116. machine but only if the passwords/IDs are wrong rather than just missing.
  117.  
  118. Using LockIt from the command line
  119. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  120. If you want to use LockIt in part of a compilation process for example, it
  121. can be invoked without going through the WIMP front-end:
  122.  
  123. Run <LockIt$Dir>.LockIt  -in  -out  -softpw  -cmospw -inputpw  -machid 
  124. -config  -from  -to
  125.  
  126. Fill in the correct filename/password/id/date in the appropriate spaces. All
  127. of these switches are optional except -in which must be specified exactly as
  128. written with an input filename. If no output filename is given, the input
  129. file is overwritten. The dates following -from and -to should be in the form
  130. ddmmyy (example 271179 = 27th November 1979).
  131.  
  132. Note that due to programming difficulties, you must always specify the -in
  133. switch. All other switches can be left out and implied by the order you put
  134. them in.
  135.  
  136. LockItPW
  137. ~~~~~~~~
  138. This program sets the passwords on the machine either in the CMOS RAM or in a
  139. module which can be loaded on startup. To alter the passwords, load the
  140. program while holding down ALT. It will ask you for new software and hardware
  141. passwords which will be made effective immediately. From then on, any
  142. programs loaded with these passwords set can work properly. The CMOS password
  143. will remain on that machine until changed. The software password can be
  144. loaded again from a boot sequence by just running !LockItPW normally.
  145.  
  146. Hacking it ... can it be done?
  147. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  148. The answer is of course yes. Any protection system at all can be foiled by a
  149. determined hacker with a bit of time on his hands. The hope is that this
  150. protection is sufficiently elaborate to put off most from hacking it. Also
  151. there is no programmer's 'back door' into programs protected with LockIt -
  152. honest! This means that the password is not stored anywhere within any
  153. protected programs. Also the date protection is of course useless if people
  154. turn back the clock in their computer to run a protected program.
  155.  
  156. The best way to protect your programs is to encode them once in the normal
  157. manner, then run them through with all options deselected except the 'process
  158. file x times' option. Set this to about 30 to make any hacker's life
  159. difficult.
  160.  
  161. I'm not supplying the source code to this program for obvious reasons; if you
  162. have any questions about the way it is written, then ask me, don't hack!
  163.  
  164. Future improvements
  165. ~~~~~~~~~~~~~~~~~~~
  166. The innovative design feature of this program is that it is written in a
  167. completely un-modular fashion. This means that if any extra modules need to
  168. be added on, it is virtually impossible to pick through all the lines of
  169. spaghetti ARM-code. However, here is a list of some things I might try to do
  170. in order of priority:
  171.  
  172. --- The file encoding routines need speeding up a lot. They're written in ABC
  173. compiled BASIC at the moment; large files can take ages.
  174.  
  175. --- LockItPW really needs to be smartened up a bit; a proper window wouldn't
  176. go amiss but maybe it's just overkill. I'll do it one day. Likewise password
  177. prompting.
  178.  
  179. --- I might try to write a disc-protection system whereby discs are specially
  180. formatted so that they cannot be copied and applications will only run if
  181. this disc is present. I'll put this as a higher priority if anyone is
  182. interested.
  183.  
  184. Conditions of usage - PLEASE READ THIS
  185. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  186. This program is SHAREWARE. This term means that the software is not free and
  187. should be payed for if you find it useful. Please recognise the fact that
  188. this program was not just knocked up over a week-end. The rule is that if you
  189. are going to use this program to protect any software then you should send £5
  190. to the address below. I am quite keen that schools and colleges register
  191. their usage of this program. You may however copy this unregistered version
  192. around to anyone you like providing that every file is included unchanged.
  193. The copyright remains mine at all times.
  194.  
  195. This does not apply to people who just want to use it to squeeze their own
  196. programs or convert their BASIC programs to absolute code since I didn't
  197. write either 'squeeze' or 'Bas2App'.
  198.  
  199. Incidentally if you do register, you will be entitled to updates to the
  200. software on receipt of a disc and postage costs. I'll also write your name in
  201. the info box. Please do remember, registering is not just to get rid of the
  202. annoying shareware box but to support a struggling programmer who currently
  203. needs a new hard drive.
  204.  
  205. Version history
  206. ~~~~~~~~~~~~~~~
  207. If you've got an earlier version of LockIt, here's a history to show you what
  208. has been added over the months. Versions 1.10 and 1.24 are decidedly dodgy
  209. (in fact they barely work at all) due to no testing; sorry!
  210.  
  211. 1.00    Original release
  212. 1.10    A few cosmetic changes made, suggested by Cy Booker
  213.     Interactive help put in
  214. 1.11    Bloody program didn't work in v1.10 due to no testing. Ooops
  215. 1.20    Time-lock features added
  216.     Protection system improved
  217. 1.21    Minor bug fixed
  218.     Help file formatted to 77 columns for easy printing
  219. 1.22    Icons made to look prettier on RISC PC
  220.     Save options bug fixed
  221. 1.23    MakeApp2 supplied (temporarily) with this release
  222. 1.24    Bas2App included and BASIC files are now processed 'transparently'
  223.     Fixed little bug concerning source/destination file size
  224. 1.30    Added password prompting
  225.     Fixed bug in 1.24 which only process BASIC files :-O Silly me
  226.     Put in a 'proper' save box and facility for NOT overwriting original
  227.     Squashing is now done from WIMP front-end    
  228.     Tidied up program a bit
  229.     
  230. Thanks to...
  231. ~~~~~~~~~~~~
  232. Thanks to Piers for helping me with the time-lock bit - I wouldn't know
  233. anything about BCD if it wasn't for him. He also pointed out the fact that
  234. v1.20 corrupted the last 4 bytes of each file. Whoops. Also, thanks very much
  235. to Dick Alstein for writing and giving me permission to use Bas2App with
  236. LockIt. I should also accredit Acorn for writing the 'squash' program; I
  237. don't have any qualms about distributing it since it is supplied with every
  238. copy of RISC OS anyway, i.e. every Archi user will have it on their Support
  239. Disc.
  240.  
  241. Contacting me
  242. ~~~~~~~~~~~~~
  243. You can write or email me, especially if you want to register! Please report
  244. any bugs or problems that you have with the program to me. Also if you have
  245. problems using any aspect of this program or if you can suggest some
  246. improvements; I'll be only too happy to write them in.
  247.  
  248. Matthew Bloch,            Internet:   MBloch@arcade.demon.co.uk
  249.     5 Brookside,        Arcade BBS: user #1644 (quicker than Internet)
  250.         Headington,
  251.             Oxford, OX3 7PJ.
  252.  
  253.  
  254. Bye,
  255.  
  256. ..Matthew..