Reko, from the Swedish that means: "decent, obliging" is a C# project containing a decompiler for machine code binaries. This project is freely available under the GNU General Public License. The project consists of front ends, core decompiler engine, and back ends to help it achieve its goals. A command-line, a Windows GUI, and a ASP.NET front end exist at the time of writing. The decompiler engine receives inputs from the front ends in the form of either individual executable files or decompiler project files. Reko project files contain additional information about a binary file, helpful to the decompilation process or for formatting the output. The decompiler engine then proceeds to analyze the input binary.
Reko has the ambition of supporting decompilation of various processor architectures and executable file formats with minimal user intervention. For a complete list, see the supported binaries page. Please note that many software licenses prohibit decompilation or other reverse engineering of their machine code binaries. Use this decompiler only if you have legal rights to decompile the binary (for instance if the binary is your own).
Requirements
In order to run Reko in your computer you will need:
Windows users
The following prerequisite software must be installed on your machine first:
- .NET Framework 4.7.2 (https://www.microsoft.com/net/download/dotnet-framework-runtime)
Download an MSI file from one of the places mentioned above, then simply run the installer.
Non-Windows users
The following prerequisite software must be installed on your machine first:
- mono version 5.18.0 or later (https://download.mono-project.com/archive/5.18.0/)
After installing mono, you can proceed by either downloading binaries directly from the integration build server, or by building Reko from sources (see Hacking
below). Official releases are published every few months on Github and SourceForge. Users who can't or won't build Reko themselves can download the output of the AppVeyor integration builder. Naturally you can build the project from the sources: see "Hacking" below.
Contributing
The project is open source, this means that if you know C# and understand the logic of the project, you may be able to contribute to the project freely in the official repository at Github here.