Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!hoptoad!amdcad!decwrl!labrea!mcnc!rutgers!princeton!phoenix!ahwatson From: ahwatson@phoenix.UUCP Newsgroups: alt.flame Subject: Software Engineering 501 (Was: Re: Smalltalk/V Decompiler) Message-ID: <1004@phoenix.Princeton.EDU> Date: Sat, 24-Oct-87 06:35:28 EST Article-I.D.: phoenix.1004 Posted: Sat Oct 24 06:35:28 1987 Date-Received: Mon, 26-Oct-87 06:44:10 EST References: <2490@mmintl.UUCP> <57@ateng.UUCP> <1892@killer.UUCP> Reply-To: ahwatson@phoenix.UUCP (Arthur H. Watson) Organization: Princeton Univ. Computing and Information Technology Lines: 116 Summary: The end result of publicizing info about binaries In article <1892@killer.UUCP> jfh@killer.UUCP (The Beach Bum) writes: >In article <57@ateng.UUCP>, chip@ateng.UUCP (Chip Salzenberg) writes: >> In article <2490@mmintl.UUCP> franka@mmintl.UUCP (Frank Adams) writes: >> > >> >I recently posted an article offering to send my Smalltalk/V [TM] decompiler >> >to anyone who wanted it. I have since been contacted by Digitalk, who >> >threatened to take me to court if I proceeded. >> I think that I will refrain from buying Digitalk products until they stop >> threatening bright, imaginative people with legal action because they are >> going to reveal how a widely disseminated product works. >> There is no question of violation of contract here. Mr. Adams simply >> examined carefully the program he purchased, and he was about to assist >> the great body of Digitalk users by sharing the results of his examination. >> Chip Salzenberg "chip@ateng.UUCP" or "{uunet,usfvax2}!ateng!chip" >Someone owns the products in question, in this case Digitalk and their share >holders. Producing a product that is illegally produced is stealing money >from the owners of the original product. >When Chip writes "There is no question of violation of contract here. Mr. >Adams simply examined carefully the program he purchased, ..." I wonder >how Mr. Adams carefully examined the program. Did he read the documentation? >I doubt it. If Digitalk had published the documentation on the output file >format, I think they would know better than to threaten suit for someone >using that information. Maybe he examined it with a disassembler? >Most software is copyrighted. This copyright grants only certain rights to >the user, in the case of software, usually only the right to load the >program into memory to be executed. Loading a program into memory to be >disassembled is not permitted in that case. Think of it this way -- if the company selling the program were superuser on your computer, they would give you execute permission but not read permission on the binary. Well, they'd also have to make sure you couldn't get a core dump while running, etc. Anyway, even if you're Mr Macho and don't have to disassemble to read the code, you couldn't. Could they (as root) arrange this? Well, if they were Very Careful. But of course they aren't root, you are. So what can they do to prevent you from turning their object code into source code? They can't make it impossible. However, they can make it hard. Very hard. Here's one strategy (This may actually be done on PCs, so perhaps some of you know what a pain in the ass it is): 1) Big software project is completed, with good documentation and beautifully structured code. 2) Code is Compiled, source and documentation are locked away. 3) Assembler code is fed through a Braindamager. 4) Resulting code is assembled and sold. "What, oh great wise Arthur, is a Braindamager?", I hear you cry. Well, here are some of the things it will do: 1) Expand code to 10 times natural length, by interspersing messes of random code which don't interact with the good stuff all over the place. 2) Same with file formats -- encrypt, scramble, and add useless stuff. 3) Do all sorts of undecidable stuff by jumping around. 4) Similar horrid things, ad nauseum. For those of you familiar with Feuer's _The C Puzzle Book_, recall the program which prints out "SWITCH SWAMP". Now perhaps if you have the world's greatest Object Optimizer you could undo some of this, but certainly the advantage lies with the programmers. So what are the effects on the user? 1) Code takes more storage (on disk and in core) 2) Code takes longer to load 3) Code takes longer to run 4) You can't get a binary patch to fix bugs, you have to get a new version from scratch 5) Code will be less reliable unless a real god wrote the Braindamager 6) You can't disassemble it *anyway*, unless you are an oracle. Note also effect 4 will create hassle for the company, so the price will probably rise. In addition to all that, people are capable of much slimier code than machines. So probably programmers will abandon structure and try to write the most cryptic code possible by hand (since it's so much fun and now here's an excuse), and reliability will take a nosedive. Moral? If you fuck with these people, the above scenario will become REALITY, and users will be hosed all over the universe. So don't fuck with these people, especially John. >If anyone on this net were to steal from me, I would surely do my best to >have their ass. "But", you might interject here, "what if the users are screaming for extra functionality, and I'm willing to take the time to provide it?" Then you have a perfectly good option: Do the hack. Write to the Company and explain the situation. They can probably be convinced to distribute your work for a minor charge, and might even give you a cut. If they are the kind of company who buys designs for 200 mpg automobiles and destroys them, then you lose, but such companies probably won't last long. (If this were a real newsgroup I would probably realize what a stupid statement that is and unwrite it...). And then you won't be stealing from people, because whoever wrote the original probably signed away all Rights to the Company. Anyway, before YOU add to the vast group of people who are putting pressure on software companies to become a bunch of fascist protectionist dorks devoted to making sure the only software available is both crappy and theirs, be sure that you really WANT to do this. Then fall on your keyboard and DIE. >- John. Dr Who: "What does the Company do?" Alien: "It makes a Profit" -- -Arthur Watson "I don't want to rule the world"