Reverse engineering, a legitimate form of 'discovery'

Discussion of anything and everything relating to chess playing software and machines.

Moderator: Ras

CRoberson
Posts: 2092
Joined: Mon Mar 13, 2006 2:31 am
Location: North Carolina, USA

Re: Reverse engineering, a legitimate form of 'discovery'

Post by CRoberson »

kingliveson wrote:
CRoberson wrote:
kingliveson wrote:Actually, it is the same link just with more details. The paragraph is embedded in the detailed version.

1.
The creation of better designs and the interoperability of existing products often begin with reverse engineering.
2.
The final stage of the reverse engineering process is the introduction of a new product into the marketplace. These new products are often innovations of the original product with competitive designs, features, or capabilities.
You need to reread the document and pay attention to the context in which those statements are made.
I think I was the one who pointed out that the documents were the same. My point is, I have read it. And it is not the only one I have read.
Then it is not the only one you misunderstand. You consistently avoid the sections pertaining to intellectual property.
kingliveson

Re: Reverse engineering, a legitimate form of 'discovery'

Post by kingliveson »

CRoberson wrote:
kingliveson wrote:
CRoberson wrote:
kingliveson wrote:Actually, it is the same link just with more details. The paragraph is embedded in the detailed version.

1.
The creation of better designs and the interoperability of existing products often begin with reverse engineering.
2.
The final stage of the reverse engineering process is the introduction of a new product into the marketplace. These new products are often innovations of the original product with competitive designs, features, or capabilities.
You need to reread the document and pay attention to the context in which those statements are made.
I think I was the one who pointed out that the documents were the same. My point is, I have read it. And it is not the only one I have read.
Then it is not the only one you misunderstand. You consistently avoid the sections pertaining to intellectual property.
Nope, not quite. I honestly believe you are mis-interpreting the text.
The law regarding reverse engineering in the computer software and hardware context is less clear, but has been described by many courts as an important part of software development. The reverse engineering of software faces considerable legal challenges due to the enforcement of anti reverse engineering licensing provisions and the prohibition on the circumvention of technologies embedded within protection measures. By enforcing these legal mechanisms, courts are not required to examine the reverse engineering restrictions under federal intellectual property law. In circumstances involving anti reverse engineering licensing provisions, courts must first determine whether the enforcement of these provisions within contracts are preempted by federal intellectual property law considerations. Under DMCA claims involving the circumvention of technological protection systems, courts analyze whether or not the reverse engineering in question qualifies under any of the exemptions contained within the law.
Answer: In order to separate out those elements of a computer program that should be considered original expression from the unprotectable ideas and processes, courts utilize the Abstraction, Filtration, and Comparison test described in the case of Computer Associates v. Altai. [982 F.2d 693 (2d Cir. 1992)] Under this test, the court is required to go through the following steps to determine whether copyright infringement occurred:

* Retrace the designer's steps in the reverse order of its creation into manageable components in order to identify the unprotected ideas at each level of abstraction.
* Filter out the non-protectable elements, including those dictated by efficiency (the most efficient implementation of any given task) , merger (when there is only one way to express an idea), external factors (necessity of matching standards), and elements taken from the public domain (expressions not protected by intellectual property).
* Compare the allegedly infringing work and the initial work to determine whether a sufficient similarity exists in the protectable elements of the initial work.

Answer: While the validity of licensing prohibitions of reverse engineering has not yet been decided by courts, the conflict between state laws that would enforce these provisions and federal intellectual property law has been addressed. When considering cases where breach of contract or trade secret misappropriation is claimed (both state law claims), courts must first determine whether or not intellectual property law preempts those contracts enforced by the individual state. Preemption occurs when courts determine that federal intellectual property law must be considered in order to address the issues involved in the particular provisions.

Section 301 of the Copyright Act provides that a state law claim is preempted if:

1. (1) the work to be protected comes within the subject matter of copyright; and
2. (2) the state-created right forming the basis of the state law claim is equivalent to any of the exclusive rights within the general scope of copyright."

In order for the claim to be preempted it must first pass this equivalency test, which determines whether the state-created rights in upholding the contract are merely alternative articulations of the exclusive rights of copyright law. If the court determines that the contract provisions contain an "extra element" that require analysis of the contract to be preempted by copyright law, the courts generally proceed to an analysis of the possible infringement or exemption under fair use of the activities of the reverse engineer.
User avatar
slobo
Posts: 2331
Joined: Mon Apr 09, 2007 5:36 pm

Re: Reverse engineering, a legitimate form of 'discovery'

Post by slobo »

CRoberson wrote:
kingliveson wrote:
CRoberson wrote:
kingliveson wrote:Actually, it is the same link just with more details. The paragraph is embedded in the detailed version.

1.
The creation of better designs and the interoperability of existing products often begin with reverse engineering.
2.
The final stage of the reverse engineering process is the introduction of a new product into the marketplace. These new products are often innovations of the original product with competitive designs, features, or capabilities.
You need to reread the document and pay attention to the context in which those statements are made.
I think I was the one who pointed out that the documents were the same. My point is, I have read it. And it is not the only one I have read.
Then it is not the only one you misunderstand. You consistently avoid the sections pertaining to intellectual property.
I'd say ou are a Rybka vendor. Am I right?
"Well, I´m just a soul whose intentions are good,
Oh Lord, please don´t let me be misunderstood."
Dann Corbit
Posts: 12778
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Reverse engineering, a legitimate form of 'discovery'

Post by Dann Corbit »

Osipov Jury wrote:It talks a lot about the RE and its legality, morality, etc.
But nobody talks about the technical possibility of the reverse. This is probably due to poor understanding of the subject matter.
It is mathematically provable that it is impossible to fully reverse any binary back into source code. It has been demonstrated that this is the equivalent of the halting problem.

For an individual binary created by a known compiler, it is possible to do fairly well, but it is still a very difficult and arduous task requiring human intervention.

I guess that only small sections of Rybka were reverse engineered (wild guess of 30%), but they turned out to be the most important sections and so the results proved to be shockingly strong.

There are some tools to automate the process now (IdaPro has a thing called HexRays decompiler http://www.hex-rays.com/decompiler.shtml)
I guess that even with these tools it is a very difficult task.

There are fundamental questions of right and wrong and many dark corners in these undertakings. I hope that in the long run, the field of computer chess is not harmed. If we can denude the work of the best professional programmers, where is the incentive for new workers to go into that field?
Jim Walker
Posts: 436
Joined: Thu Mar 09, 2006 2:31 am

Re: Reverse engineering, a legitimate form of 'discovery'

Post by Jim Walker »

It seems that once you settle on one side of the fence in this discussion you find it impossible to understand how anyone could have an opposing view.
Jim
kingliveson

Re: Reverse engineering, a legitimate form of 'discovery'

Post by kingliveson »

Dann Corbit wrote: There are fundamental questions of right and wrong and many dark corners in these undertakings. I hope that in the long run, the field of computer chess is not harmed. If we can denude the work of the best professional programmers, where is the incentive for new workers to go into that field?
Bingo!!! This is the key question, not whether reverse engineering is illegal. We know it is legal. But where is the moral line? Morality depends. Is it OK to sleep with your brother's wife after he passes? Well, it depends how good she looks. Or should I say it depends on the culture. We know that this is a practice from Biblical times. The legal part has been settled, but the ethical question remains.
Dann Corbit
Posts: 12778
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Reverse engineering, a legitimate form of 'discovery'

Post by Dann Corbit »

Jim Walker wrote:It seems that once you settle on one side of the fence in this discussion you find it impossible to understand how anyone could have an opposing view.
Jim
I do not understand your remark. Is it directed at me? You do not quote what you are replying to.
Dann Corbit
Posts: 12778
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Reverse engineering, a legitimate form of 'discovery'

Post by Dann Corbit »

kingliveson wrote:
Dann Corbit wrote: There are fundamental questions of right and wrong and many dark corners in these undertakings. I hope that in the long run, the field of computer chess is not harmed. If we can denude the work of the best professional programmers, where is the incentive for new workers to go into that field?
Bingo!!! This is the key question, not whether reverse engineering is illegal.
This has definitely not been established.
We know it is legal. But where is the moral line? Morality depends. Is it OK to sleep with your brother's wife after he passes? Well, it depends how good she looks. Or should I say it depends on the culture. We know that this is a practice from Biblical times. The legal part has been settled, but the ethical question remains.
There are many questions that remain. In fact, we have far more questions than we have answers.
kingliveson

Re: Reverse engineering, a legitimate form of 'discovery'

Post by kingliveson »

Dann Corbit wrote:
kingliveson wrote:
Dann Corbit wrote: There are fundamental questions of right and wrong and many dark corners in these undertakings. I hope that in the long run, the field of computer chess is not harmed. If we can denude the work of the best professional programmers, where is the incentive for new workers to go into that field?
Bingo!!! This is the key question, not whether reverse engineering is illegal.
This has definitely not been established.
We know it is legal. But where is the moral line? Morality depends. Is it OK to sleep with your brother's wife after he passes? Well, it depends how good she looks. Or should I say it depends on the culture. We know that this is a practice from Biblical times. The legal part has been settled, but the ethical question remains.
There are many questions that remain. In fact, we have far more questions than we have answers.
There different unique situations that present themselves when we talk about the legality of reverse engineering. But in many cases the courts have not sided with the plaintiffs. Let me add that you will have a hard time claiming damages or wrongdoing not unless you can prove infringement. Reverse Engineering is Legal.
Uri Blass
Posts: 10803
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: Reverse engineering, a legitimate form of 'discovery'

Post by Uri Blass »

Dann Corbit wrote:
Osipov Jury wrote:It talks a lot about the RE and its legality, morality, etc.
But nobody talks about the technical possibility of the reverse. This is probably due to poor understanding of the subject matter.
It is mathematically provable that it is impossible to fully reverse any binary back into source code. It has been demonstrated that this is the equivalent of the halting problem.
I do not know what is mathematically provable but
I have a simple algorithm to do it for source that is limited in size when the only problem is that it takes a long time
To make things simple assume that the size of the source code is
not more than 1 Mbyte.

If you have an exe file and want to produce source that give you the same exe then simply try all the possible source codes when you start from all the possible source code of size of 1 bytes and continue with all source code with size of 2 bytes and continue in this way.

Most of the source code that you try are going to give a compilation error
and programs that you can compile are usually going to give a different exe than the exe that you want but in theory after enough time you are going to get exactly the exe that you need.

The more interesting question is if it is possible to have a significantly faster algorithm to build the source code (not exponential but polynomial)

Uri