comp.lang.ada
 help / color / mirror / Atom feed
From: tmoran@acm.org
Subject: Re: Reverse Engineering
Date: Wed, 08 Sep 2004 17:33:58 GMT
Date: 2004-09-08T17:33:58+00:00	[thread overview]
Message-ID: <aoH%c.268220$8_6.94688@attbi_s04> (raw)
In-Reply-To: PEG%c.1339$xA1.129@newsread3.news.pas.earthlink.net

>Going from Ada (or any other high-level language) to an executable file,
>involves a loss of information on a large scale.  So, trying to go from the
>executable back to the Ada source isn't possible.
   Such a tool is called a "decompiler".  It does not, of course, go back
to the original source code, but it can generate source code which is
equivalent.  Given the symbol table (also used by debuggers), it can
generally use the correct names.  You can think of a debugger generated
assembly listing as a sort of mini decompilation.  Things like jump
vectors can be difficult, because they make it hard to distinguish data
and code.
  I helped on a decompiler project in my very first programming job, some
time ago.  The intent was to take existing executables, whose source had
been lost, or which were programmed in assembly for a particular machine,
decompile them, and then maintain and/or port the resulting source code.
It was do-able, but the results were less than stellar.
  I don't know of any decompiler to Ada.  The last time I googled for
"decompiler" there was some more recent info, including, IIRC, a PhD
thesis project.



  reply	other threads:[~2004-09-08 17:33 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-09-08 10:31 Reverse Engineering Kelvin_K
2004-09-08 16:43 ` Brian Catlin
2004-09-08 17:33   ` tmoran [this message]
  -- strict thread matches above, loose matches on Subject: below --
1996-11-05  0:00 reverse engineering William Frye
1996-11-07  0:00 ` Art Schwarz
1996-11-08  0:00   ` Stephen Leake
1996-10-28  0:00 Reverse engineering David Tannen
1996-11-07  0:00 ` Ken Nelson
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox