Is disassmbled code copyrighted?

P

Peter Rilling

I know most of you are not lawyers, but I am interested in your opinions.

We all know that software is copyrighted and that it is illegal to duplicate
a program. This goes for either the binaries or source code. It, after
all, would be illegal to use someone's source code in my application without
their permissions.

The other day I was using Reflector to disassemble an assembly because I
wanted to see how something was accomplished by the assembly's author. Now,
as I looked at the disassembled code that Reflector provides, I began to ask
myself, does copyright law apply to what I was seeing? After all, could I
have used the code that Reflector was displaying? Since Reflector does not
have access to the original source, Reflector's algorithm generates what it
thinks would be correct code, but this is not necessarily the code that was
written by the developer, therefore, was it copyrighted?
 
M

Michael A. Covington

Yes. If the binary is copyrighted, then the disassembly is either directly
covered by the copyright, or is a derivative work in which the original
copyright owner still has some rights.
 
B

Bob Grommes

Not only that, but many licensing agreements expressly prohibit
disassembly or any type of reverse engineering. I suppose that in such
situations it's technically illegal to disassemble regardless of what
you do or don't do with the result -- though in practice I don't know
how anyone would either know or care if you did it just to satisfy
personal curiosity or diagnose a problem. The problem would come in if
you put that code to work in some other application.

--Bob (also not a lawyer)
 
M

Michael A. Covington

Bob Grommes said:
Not only that, but many licensing agreements expressly prohibit
disassembly or any type of reverse engineering.

I think they're on very shaky ground with that requirement; I don't know the
legal precedent, but it seems very dubious to forbid people to know what's
running on their own computers. Has this ever been tested in court?

My other point - about derivative works - is solidly established.
 
B

Bob Powell [MVP]

It's perfectly reasonable to say that the user may only use the work if they
agree not to take it apart with the intention of copying your trade-secrets.
If they disassemble the code they are in breach of license and the license
is therfore terminated.

In reality however there is little to stop them from looking as long as they
don't immediately go out and create a competing product based upon the
disassembled code.

A good obfuscator that crashes ILDasm is probably a wise investment.

--
Bob Powell [MVP]
Visual C#, System.Drawing

Ramuseco Limited .NET consulting
http://www.ramuseco.com

Find great Windows Forms articles in Windows Forms Tips and Tricks
http://www.bobpowell.net/tipstricks.htm

Answer those GDI+ questions with the GDI+ FAQ
http://www.bobpowell.net/faqmain.htm

All new articles provide code in C# and VB.NET.
Subscribe to the RSS feeds provided and never miss a new article.
 
C

Christoph Nahr

A good obfuscator that crashes ILDasm is probably a wise investment.

I would hope that no such tool exists, or that Microsoft immediately
fixes ILDASM if one does exist! Surely ILDASM should never crash by
disassembling a program that executes correctly?
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top