|Re: anyone interested in decompilation firstname.lastname@example.org (2006-08-03)|
|Re: anyone interested in decompilation email@example.com (Amit Gupta) (2006-08-04)|
|Re: anyone interested in decompilation firstname.lastname@example.org (Martin Ward) (2006-08-04)|
|Re: anyone interested in decompilation email@example.com (glen herrmannsfeldt) (2006-08-08)|
|Re: anyone interested in decompilation Juergen.Kahrs@vr-web.de (Juergen Kahrs) (2006-08-10)|
|Re: anyone interested in decompilation firstname.lastname@example.org (russell kym horsell) (2006-08-11)|
|Re: anyone interested in decompilation email@example.com (Chris Dollin) (2006-08-12)|
|[7 later articles]|
|Date:||3 Aug 2006 18:49:05 -0400|
|Posted-Date:||03 Aug 2006 18:49:05 EDT|
> Decompilation is the process of recovering human readable source code
> from a program executable. Many decompilers exist for Java and .NET as
> the program executables (class files) maintain much of the information
> found in the source code. This is not true for machine code
> executables however.
> In recent years decompilation for machine code has moved from the
> domain of crackpots and academic hopefuls to a number of real
> technologies that are available to the general public. Decompilers for
> machine code now exist which produce output that rivals disassemblers
> as a tool for analysing programs for security flaws, malware or just
> simply to see how something works. Full source code recovery that is
> economically attainable will soon be a reality.
> The legal challenges posed by this technology differs country to
> country. As such, much research is being done in secret in countries
> that prohibit some uses of the technology, whereas some research is
> being done more publicly in countries that have laws which support the
> technology (Australia, for example).
> Boomerang is an open source decompiler written (primarily) by two
> Australian researchers. Open source projects need contributors. If
> you have an interest in decompilation, we'd like to hear from you.
> We're not only interested in talking to programmers. The project
> suffers from a lack of documentation, tutorials and community. There
> are many tasks that can be performed by users with minor technical
> For more information on machine code decompilation see the Boomerang
> web site (http://boomerang.sourceforge.net/). For interesting
> technical commentary on machine code decompilation, see my blog
You want comp.compilers I think. This comes up once or so per year.
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
When you want to get your source code back, if you are using a compiled
language, the best thing is to restore from backup or pull from CVS.
I hope you succeed and make a workable decompiler, despite the known
impossibility of the general solution.
I also recommend that you stick to news:comp.compilers because that is
the arena where this sort of thing has ardent admirers.
Over here, in comp.lang.c we are not terribly interested in it. You
might say, "It's written in C!" but so is Microsoft Word, and
Microsoft Word is not topical here. You might say, "It outputs C
target language!" Which would be doubly interesting if the input were
a COBOL program but in any case, we don't care about that either.
Once you have it all working properly, I promise to give it a look.
Until then, don't go away mad -- just go away.
[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]
Return to the
Search the comp.compilers archives again.