Re: anyone interested in decompilation



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]
.



Relevant Pages

  • Re: exe to C++ source code
    ... Peter van Merkerk wrote: ... This is far different than turning hamburger into a cow. ... It is possible to create source code from an executable. ...
    (comp.lang.cpp)
  • Re: Pens and tupperware.
    ... >> I had an attack of dead cow in the hotel I stayed at in Warrington on ... >> basically, frighten the cow, and have it served to me, please. ...
    (uk.rec.sheds)