Resource extractors

Resource extractors specialised for Visual Basic, .NET, etc are in other pages.

Resource-Grabber, a tool that scans and extracts from PE binaries useful resources such as icons, bitmaps, sound files and more.

Fenris tools

Fenrisis a multipurpose tracer, GUI debugger, stateful analyzer and partial decompiler intended to simplify bug tracking, security audits, code, algorithm, protocol analysis and computer forensics. One of the tools, dress, can attempt to restore a symbol table in a stripped executable file (adding symbols
for statically linked libraries that it recognises). It seems that this tool only supports gcc at present, but the idea is interesting. GPL'd and downloadable from the web page. Linux/x86 only.

Binary file decompilation

Decompilation of executables (http://www.debugmode.com/dcompile), is a first-timer's tutorial into the process of decompilation and ethics. Also has the code for DisC, a simple decompiler for DOS Turbo C compiler generated executables.

The Revenge project aims to produce a sort of dynamic decompiler, which records instruction executions, and learns the actual values taken by variables in running the project. As of January 2004, this project is still in the planning stages.

Java and .NET related

Delphi related

DeDe reproduces aspects of a Delphi compiled program. It also has a DCU Dumper to "retrieve near to pascal code of your DCU files".

Conferences and workshops

The Working Conference on Reverse Engineering (WCRE) has decompilation in its list of relevant topics.

ACMSIGPLAN Symposium on Partial Evaluation and Program Manipulation - (PEPM). Specifically includes decompilation in its topics of interest.

The workshop on Source Code Analysis and Modification (SCAM) also lists decompilation in its list of relevant topics.

The European Conference on Software Maintenance and Reengineering (CSMR) includes topics such as "reverse engineering of embedded systems". Non European contributions are welcome. See CSMR 2005, or http://reengineer.org.

The International Conference on Software Maintenance (ICSM) publishes some papers related to decompilation.

Decompilation Papers

"Using a Decompiler for Real World Source Recovery", Mike Van Emmerik and Trent Waddington. In Proceedings of the Working Conference on Reverse Engineering, IEEE-CS Press, 2004. An extended version is available here.

"Exploiting Software : How to Break Code" by Greg Hoglund and Gary McGraw has a short section on disassembling and decompiling. Unfortunately, the authors confuse these two processes, and make statements like "REC provides 100% C source code recovery for some kinds of binary executables" (not true; it produces C-like output). Addison-Wesley 2004, ISBN 0201786958.

The static recompilers Yahoo group have the goal of statically translating binary code (mostly old arcade games) from one architecture to another. There is a tool called Orion that emits a sort of unrolled interpreter of input machine instructions into C code. It's basically static binary translation, so the output is hard to read, and the original machine's instructions are very visible. Works on code from Z80, 6502, and a few other architectures.

Unconfirmed: John Banning and Hans Pufal's NLZ program, said to be part of Hunter Systems's XDOS suite. It was reportedly able to decompile PC applications and help port them to Unix workstations. Original contact: Hunter Systems, since acquired by Miltiport of Mountain View, CA, USA.