473,403 Members | 2,222 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,403 software developers and data experts.

Is disassmbled code copyrighted?

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?
Nov 17 '05 #1
5 1308
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.

"Peter Rilling" <pe***@nospam.rilling.net> wrote in message
news:eR****************@TK2MSFTNGP14.phx.gbl...
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?

Nov 17 '05 #2
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)

Michael A. Covington wrote:
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.

Nov 17 '05 #3

"Bob Grommes" <bo*@bobgrommes.com> wrote in message
news:uN**************@TK2MSFTNGP10.phx.gbl...
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.
Nov 17 '05 #4
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.

"Michael A. Covington" <lo**@ai.uga.edu.for.address> wrote in message
news:u1**************@TK2MSFTNGP09.phx.gbl...

"Bob Grommes" <bo*@bobgrommes.com> wrote in message
news:uN**************@TK2MSFTNGP10.phx.gbl...
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.

Nov 17 '05 #5
On Thu, 18 Aug 2005 00:15:46 +0200, "Bob Powell [MVP]"
<bob@_spamkiller_bobpowell.net> wrote:
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?
--
http://www.kynosarges.de
Nov 17 '05 #6

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

18
by: Adrian B. | last post by:
Does anyone know of a framework or library that will enable me to use publish/subscribe comms? I want to create a server (using Python) running on a Unix box that will accept client connections...
4
by: fuchs.markus | last post by:
Hello, I have a question regarding the copyrights of .NET Framework-Source Code and hope, that sb. can help me. Suppose, I want to extend the functionality of a ASP.NET server control by...
3
by: Dan | last post by:
Hi I'm looking for C++ code that implements the PID Control(prefered with 2nd derivative). Please help.. Dan
9
by: kaeli | last post by:
Hey guys, I found some code I really like. ;) It has who wrote it there, but no contact info. If I attribute the author, is that enough, or should I also try to contact him for permission to...
15
by: Enzo | last post by:
Hi Ng, It's possible to protect the source code of a js file? With PHP? Thanks in advance! Enzo
41
by: Seth | last post by:
I am in need of source code for the Aho Corasick algorithm. I have tried searching the web but can't seem to find any code. Is there a good site for c code I can search? Thanks in advance.
24
by: Robin Cole | last post by:
I'd like a code review if anyone has the time. The code implements a basic skip list library for generic use. I use the following header for debug macros: /* public.h - Public declarations and...
4
by: Jean Christophe Avard | last post by:
Hi! I am designing a clipart manager that sells with over 1500+ copyrighted image. I want to protect these image, I read a bit about resource file, would it be the way to go? the image will be about...
32
by: Jon Paal | last post by:
trying to use this script for scrolling tables found at this link: http://www.litotes.demon.co.uk/example_scripts/tableScroll.html The top left corner in the table grid is hidden from being...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.