Re: anyone interested in decompilation
- From: "Amit Gupta" <emailamit@xxxxxxxxx>
- Date: 4 Aug 2006 16:41:59 -0400
dcorbit@xxxxxxxxx wrote:
QuantumG wrote:
You can't turn the DNA of a dead cow back into a cow. That sort of
thing only works on "Jurasic Park" movies.
When you want another cow, the best way to get one is to get a momma
cow and a daddy cow (sometimes known as 'bulls') and let them do their
business.
[If you know that a program was compiled by a particular compiler, I gather
it's possible to do pattern matching on the code idioms it uses to recover
more source than one might expect. And debug symbols help a lot. -John]
For a particular compiler (call it Machine-A), It would be possible to
create another Machine-B, which can convert the output of Machine-A
back to its input. Since Machine- A and its working is known a-priori,
MachineB can be first trained (using techniques from machine learning
or neural networks). In machine-learning domain, such techniques are
found to be non-trivially useful, even when Machine-A is
non-deterministic (following some probabbility distribution function
or pure learning history). For a deterministic machine like compilers,
it should be a piece of cake, given enough (practically feasible)
learning of B from A.
PS: The analogy of dead-cow is incorrect. Getting another living-cow
from dead cow is equivalent to generating correct source code from a
faulty machine-code. A dead cow is something which is not functional.
[The translation from source to object is an extremely lossy one. You
can reconstruct some source code, but it's tough in general to get
source code you'd want to use. But see some following articles for
success stories. -John]
.
- Prev by Date: Re: Bison grammar for .x files
- Next by Date: Re: anyone interested in decompilation
- Previous by thread: How to deal with unordered, non-repeated nonterminals of expression
- Next by thread: Re: anyone interested in decompilation
- Index(es):
Relevant Pages
|
|