Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!decvax!wivax!linus!philabs!seismo!hao!hplabs!sri-unix!COLE@USC-ISIB From: COLE%USC-ISIB@sri-unix.UUCP Newsgroups: net.micro.pc Subject: Re: Norton Book & Protected BASIC Message-ID: <1587@sri-arpa.UUCP> Date: Wed, 25-May-83 11:11:00 EDT Article-I.D.: sri-arpa.1587 Posted: Wed May 25 11:11:00 1983 Date-Received: Fri, 3-Jun-83 05:59:09 EDT Lines: 26 From: Randy ColeThe method Bill Brackenridge mentioned is by far the easiest way of unprotecting a BASIC program. There is another way to do it, which can be used if you can't find the magic protection flag byte. First use DEBUG to load and run BASIC.COM or BASICA.COM (I have always used BASICA, but I don't think it matters). Once BASIC is running under DEBUG, use it to load in your protected program. Then exit BASIC using the SYSTEM command, which will put you back in DEBUG. If you look around memory using DEBUG, you will be able to find the unencrypted, tokenized BASIC program. You can tell when you find it by the comments or strings. Then you can use DEBUG to open an output file and write that portion of memory to a file. "Protected" BASIC programs appear to be encrypted by some table or semi-random function of each byte's address or location in the file. I say semi-random because the encryption repeats with a period of a few hundred bytes or so, if I remember correctly. Since you can write a BASIC program with anything you want in it, use BASIC to encrypt it, and then look at the results, it should be a possible to build a decryption program to read files, decrypt them, and write them back. Randy Cole -------