Decompiler is a GUI and command-line program that reads executable program binaries, decompiles them, infers data types, and emits structured C source code.
It currently supports loading executable file formats like MZ, ELF, AmigaOS Hunk, and Classic MacOS exectuables. In addition, it has the capability of automatically running unpacking scripts written in the OllyScript language.
Currently, Decompiler has reasonably complete support of x86, 68k, PowerPC (32- and 64-bit) processor architectures; you should be able to decompile most of any binary targeting these architectures. Partial support of Z-80, M6502, and PDP-11 processor architectures is in place. Naturally, new architectures are always welcome!
I have a binary that has been packed with a [Packer] and Decompiler is failing to open it. Decompiler has an extensible architecture that supports adding unpacking scripts. If you need assistance with a specific unpacking script, create a Feature request and you will get assistance.
If you're interested in contributing to the project, take a look at the [Design] pages to gain insight in how the project is organized. We strongly encourage you to follow the [Test Driven Development] methodology, with heavy emphasis on [Unit testing]. The [How To] page discusses how you go about implementing new features in the decompiler.