How To Use
Last update: April 24, 2011
|REC Studio is an interactive decompiler.
It reads a Windows, Linux, Mac OS X or raw executable file, and attempts to produce a C-like representation
of the code and data used to build the executable file.
REC Studio 4 is a complete rewrite of the original REC decompiler. It uses more powerful analysis techniques such as
partial Single Static Assignment (SSA), allows loading Mac OS X files and supports 32 and 64 bit binaries.
This page has been translated into Spanish by Maria Ramos from Webhostinghub.com.
This page has been translated into French by Kate Bondareva.
As mentioned, Rec Studio 4 is still under development. Most target independent features have been completed, such as:
Although REC can read Win32 executable (aka PE) files produced by Visual C++ or Visual Basic 5, there are limitations on the output produced. REC will try to use whatever information is present in the .EXE symbol table. If the .EXE file was compiled without debugging information, if a program data base file (.PDB) or Codeview (C7) format was used, or if the optimization option of the compiler was enabled, the output produced will not be very good. Moreover, Visual Basic 5 executable files are a mix of Subroutine code and Form data. It is almost impossible for REC to determine which is which. The only option is to use a .cmd file and manually specify which area is code and which area is data.
In practice, only C executable files produce meaningful decompiled output.
Several other decompilers are available from various sources. Look at my reverse engineering page for a list.
Rather surprisingly, the internal architecture of a decompiler
is very similar to that of a compiler. High-quality literature exists for
both. The Design Notes page
has information on the problems that a decompiler writer faces when trying to
decompile slightly more complex programs than simple unit tests.
Mike van Emmerik's PhD thesis significantly advanced the field of decompilation by outlining solutions for fundamental problems in the decompilation of binary programs.
Cristina Cifuentes' Reverse Compilation Techniques PhD thesis describes in details the theory and implementation of the dcc decompiler for 8086 DOS programs.
The Wotsit page has links to the specifications of object file formats like COFF and ELF.
Some concepts related to code analysis are covered in the REference Debugger pages.
Other fundamental books I used during the development are:
There is a lot of discussion on the legality of decompilation.
Decompiler tools have been available for a variety of platforms for a long
time. Decompilers, along with other tools like debuggers, binary editors,
disassemblers etc. should only be used when the owner of a program has
the legal right to reverse engineer the program.
It has been established by the US and other countries courts that it is legal to use decompilers under the fair use clause of copyright law.
To find out when it is legal to use a decompiler, you should read the text of the following cases:
Backer Street Software does not support the use of reverse engineering tools for illegal purposes.
Copyright © 1997 - 2012 Backer Street Software - All rights reserved.
CG's Home Page