Newsgroups: comp.lang.smalltalk
Path: cantaloupe.srv.cs.cmu.edu!rochester!udel!news.mathworks.com!news.kei.com!nntp.coast.net!torn!nott!cunews!dbuck
From: dbuck@superior.carleton.ca (Dave Buck)
Subject: Re: Q: How to make Smalltalk code unreadable?
X-Nntp-Posting-Host: superior.carleton.ca
Message-ID: <DKpoMG.2Mu@cunews.carleton.ca>
Sender: news@cunews.carleton.ca (News Administrator)
Organization: Carleton University, Ottawa, Canada
References: <4cj0vv$k67@news.siemens.at>
Date: Fri, 5 Jan 1996 14:08:40 GMT
Lines: 36

In article <4cj0vv$k67@news.siemens.at>,
Alois Haselboeck <hasel@garwein.hai.siemens.co.at> wrote:
>
>Hi comp.lang.smalltalk'ers!
>
>Shipping a Smalltalk application to a customer is usually done by
>providing the image or the source code. In both cases it is possible
>for the customer to read the source (even in decompiled form) and use
>it in unallowed ways.
>
>Are there any possibilities for protecting the delivered code, e.g. by
>scrambling the class und method names. The goal is to make code as
>unreadable as binary code. Any hints or experiences?
>
>[ We are using VisualWorks 2.0 on SUN-SPARCstations and PCs. ]

A few weeks ago, I developed a way to obscure Smalltalk code (in
VisualWorks) so that people could run it but couldn't see it.  The
decompiler and byte-code disassembler didn't help.  You couldn't even
inspect the method dictionary and manually disassemble the byte codes.
It took two Smalltalk experts about 6 hours to crack it.  We know a
way to enhance this scheme so that it would take even longer to crack
by an expert.

Having said that, this is the sort of thing that we really can't
devulge.  If everyone knew how to do it, then everyone would know how
to bypass it.  Secrets aren't very good unless they're kept secret.

David Buck
dbuck@ccs.carleton.ca

_________________________________
| David K. Buck                 |
| dbuck@ccs.carleton.ca         |
| The Object People             |
|_______________________________|
