home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!ogicse!qiclab!leonard
- From: leonard@qiclab.scn.rain.com (Leonard Erickson)
- Newsgroups: sci.crypt
- Subject: Re: GWBASIC Encryption
- Message-ID: <1992Dec19.121958.13079@qiclab.scn.rain.com>
- Date: 19 Dec 92 12:19:58 GMT
- Article-I.D.: qiclab.1992Dec19.121958.13079
- References: <1992Dec8.022439.24913@newton.ccs.tuns.ca> <1992Dec8.210812.14420@leland.Stanford.EDU> <1992Dec9.160113.6099@newton.ccs.tuns.ca>
- Reply-To: Leonard.Erickson@f51.n105.z1.fidonet.org
- Organization: SCN Research/Qic Laboratories of Tigard, Oregon.
- Lines: 45
-
- frasertw@newton.ccs.tuns.ca (Terrance W Fraser) writes:
-
- >kocherp@leland.Stanford.EDU (Paul Carl Kocher) writes:
-
- >>In article <1992Dec8.022439.24913@newton.ccs.tuns.ca> frasertw@newton.ccs.tuns.ca (Terrance W Fraser) writes:
- >>>Does anyone know what GWBASIC for msdos uses to 'encrypt' a program
-
- >>It's a substitution cipher with period 143, probably meaning that there
- >>is an 11-byte key and a 13-byte key that get xored/added/etc in some
- >>combintation, though after a ten-minute look at it wasn't immediately
- >>obvious what steps were used. It also looks possible that the plaintext
- >>might be multiplied by an odd number as part of the encryption.
-
- >I played with it for a while. Your right about the 143 byte period. It
- >appears that
- > 1) each byte gets encypted separately.
- > 2) it's not self-reversing.
- > 3) the substitution table changes from byte to byte but repeats
- > every 143 bytes.
- >Probably the easiest thing to do is find the code that does it, but
- >BASIC is a *big* program.
-
- >Anyone know of one of those PC books that goes into this?
-
- The "back door" approach is *much* faster. You create a short binary file.
- (I'd have to look up the exact contents, but it's something like 3 bytes
- long). You name it UNPROT.BAS.
-
- Then you load *any* "protected" BASIC file. It won't be LISTable nor can you
- SAVE it.
-
- Now load UNPROT.BAS.
-
- Voila! You can now LIST the file, or SAVE it or whatever.
-
- UNPROT is the "header" for an *unprotected* BASIC program. But there's
- no program attached. BASIC cheerfully loads it into RAM over the header
- for the current program....
-
-
- --
- Leonard Erickson leonard@qiclab.scn.rain.com
- CIS: [70465,203] 70465.203@compuserve.com
- FIDO: 1:105/51 Leonard.Erickson@f51.n105.z1.fidonet.org
- (The CIS & Fido addresses are preferred)
-