Re: Decompilers or comparison tools

Cristina Cifuentes <cristina@it.uq.edu.au>
18 Mar 1998 22:57:00 -0500

          From comp.compilers

Related articles
Decompilers or comparison tools fd11@dial.pipex.com (Narinder Singh) (1997-09-23)
Re: Decompilers or comparison tools ghm48805@glaxowellcome.com (Gary H. Merrill) (1997-09-24)
Re: Decompilers or comparison tools ast@halcyon.com (1997-09-27)
Re: Decompilers or comparison tools root@kern.marine.su (Alexander S.Klenin) (1997-09-28)
Re: Decompilers or comparison tools cristina@it.uq.edu.au (Cristina Cifuentes) (1998-03-18)
| List of all articles for this month |
From: Cristina Cifuentes <cristina@it.uq.edu.au>
Newsgroups: comp.compilers
Date: 18 Mar 1998 22:57:00 -0500
Organization: Compilers Central
Keywords: decompile

The dcc decompiler is a prototype decompiler for DOS EXE
binary files. With the use of signatures, it is able to
determine library function calls and compiler used.
The decompiler is available from the dcc web page:
http://www.csee.uq.edu.au/csm/dcc.html


The sources for dcc are also available. There are known
bugs with dcc (particularly with memory reallocation) -- we are
not fixing them at present time. dcc is a proof of concept
rather than a commercial tool. Sample programs are included
in the distribution (small ones).


Main steps:
- disassemble the code (a partially incomplete step via static analysis
    unless extra information (not included in the executable program
    itself) is used)
- perform semantic analysis
- perform data flow analysis (to recover HLL expressions and remove
    low-level dependencies like registers and condition codes)
- perform structuring analysis (to recover HLL control structures
    such as loops and conditionals, and their nesting level).
- perform type analysis [this step is almost missing, only base
    types are fully supported]
- generate HLL code for your favourite imperative language.


Cristina


--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.