home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #16 / NN_1992_16.iso / spool / comp / sys / mac / programm / 12894 < prev    next >
Encoding:
Text File  |  1992-07-22  |  3.7 KB  |  80 lines

  1. Newsgroups: comp.sys.mac.programmer
  2. Path: sparky!uunet!munnari.oz.au!uniwa!cujo!NewsWatcher
  3. From: peter@cujo.curtin.edu.au (Peter N Lewis)
  4. Subject: Re: how to put indelible serial# in resource fork of app?
  5. Message-ID: <peter-230792103333@134.7.50.3>
  6. Followup-To: comp.sys.mac.programmer
  7. Sender: news@cujo.curtin.edu.au (News Manager)
  8. Organization: NCRPDA, Curtin University
  9. References: <Jul.20.17.18.21.1992.16265@gandalf.rutgers.edu> <1992Jul20.232738.21376@hobbes.kzoo.edu>
  10. Date: Thu, 23 Jul 1992 02:51:21 GMT
  11. Lines: 67
  12.  
  13. In article <1992Jul20.232738.21376@hobbes.kzoo.edu>,
  14. k044477@hobbes.kzoo.edu (Jamie R. McCarthy) wrote:
  15.  
  16. > It's pretty easy to make it "unchangeable."  Make a routine that converts
  17. > a 32-bit number into a moderately long (say, a 32-byte) code.  Make it
  18. > so ridiculously weird and complicated that no one will ever be able to
  19. > figure out what in the heck you're doing.  Then have the app check to be
  20. > sure its code can be derived from a real 32-bit number;  if so, that's
  21. > the serial number;  if not, put up a nasty message and exit.
  22.  
  23. Thats always a fun technique to break that one :-).  A quick atb trap break
  24. in macsbug for the GetNewDialog call, ten seconds later you have the branch
  25. code that checks the validity of the code number, reverse that branch so it
  26. only puts up the dialog if the code number is CORRECT, and thats it.  Then
  27. I delete the app, and sometimes I even mail the authors to thank them for
  28. the entertainment their program gave me :-)
  29.  
  30. Now, please people if you want to write serial number type stuff here are
  31. some do's and don'ts:
  32.  
  33. Do make it hard to crack - some of us enjoy a chalenge :-)
  34.  
  35. Don't make it a pain to install - some of us don't like a chalenge :-)
  36.  
  37. Don't make it a nightmare for network administrators who have to install
  38. dozens/hundreds of copies of your app - some of us hate a challenge! :-)
  39.  
  40. If they must register to get the serial name that matches their name,don't
  41. screw up the spelling of their name! - some of us like our names spelled
  42. the way they are suppose to be (anyone heard of a preventatation research
  43. centre?)
  44.  
  45. Don't make users enter something everytime the program runs - some of us
  46. want to use your program, not memorise code numbers
  47.  
  48. Don't forget that any form of copy protection will likely get mentioned in
  49. review of your programs, and this may adversly affect sales.
  50.  
  51. Don't waste network bandwidth on serial number checks - its not your
  52. network to be wasting the bandwidth on, you want to tie up a network, get
  53. your own.
  54.  
  55. Do be pleasant about it - some of us are not to pleased to see acusing
  56. dialogs everytime we launch an app we paid good money for.
  57.  
  58. For users: Don't pirate software, and pay for shareware - some of us want
  59. to eat.
  60.  
  61. ObProgramming: One way to make life difficult for crackers is to use the
  62. serial number to encryp a code resource - store the user's name, and the
  63. users serial number in the data fork, display it in the startup dialog, and
  64. use it to decrypt vital code resources.  Then, checksum the code and if its
  65. not right, put up an alert - that way, even if the branch is removed the
  66. program will just crash (serves those nasty crackers right :-).  Of course,
  67. the virus detectors will probably blow their tops if you go around hacking
  68. with Code Resources.  Aside from which people will quite probably want to
  69. run a single copy of the app off a locked file server...  And for heavens
  70. sake turn macsbug name generation off before you compile it!  I have seen
  71. several commercial apps with names turned on in their code checking code,
  72. pretty impressive guys :-)
  73.  
  74. Have fun all,
  75.    Peter.
  76.  
  77. _______________________________________________________________________
  78. Peter N Lewis, NCRPDA, Curtin University       peter@cujo.curtin.edu.au
  79. GPO Box U1987, Perth WA 6001, AUSTRALIA             FAX: +61 9 367 8141
  80.