All Projects → uxmal → Reko

uxmal / Reko

Licence: other
Reko is a binary decompiler.

Projects that are alternatives of or similar to Reko

Plasma
Plasma is an interactive disassembler for x86/ARM/MIPS. It can generates indented pseudo-code with colored syntax.
Stars: ✭ 2,956 (+213.8%)
Mutual labels:  disassembler, arm, x86, x86-64, reverse-engineering
Capstone
Capstone disassembly/disassembler framework: Core (Arm, Arm64, BPF, EVM, M68K, M680X, MOS65xx, Mips, PPC, RISCV, Sparc, SystemZ, TMS320C64x, Web Assembly, X86, X86_64, XCore) + bindings.
Stars: ✭ 5,374 (+470.49%)
Mutual labels:  disassembler, arm, x86, x86-64, reverse-engineering
Keypatch
Multi-architecture assembler for IDA Pro. Powered by Keystone Engine.
Stars: ✭ 939 (-0.32%)
Mutual labels:  arm, x86, x86-64, reverse-engineering
Keystone
Keystone assembler framework: Core (Arm, Arm64, Hexagon, Mips, PowerPC, Sparc, SystemZ & X86) + bindings
Stars: ✭ 1,654 (+75.58%)
Mutual labels:  arm, x86, x86-64, reverse-engineering
Unicorn
Unicorn CPU emulator framework (ARM, AArch64, M68K, Mips, Sparc, PowerPC, RiscV, X86)
Stars: ✭ 4,934 (+423.78%)
Mutual labels:  arm, x86, x86-64, reverse-engineering
Mandibule
linux elf injector for x86 x86_64 arm arm64
Stars: ✭ 171 (-81.85%)
Mutual labels:  arm, x86, x86-64, aarch64
Bap
Binary Analysis Platform
Stars: ✭ 1,385 (+47.03%)
Mutual labels:  disassembler, arm, x86, reverse-engineering
Reverse Engineering
This repository contains some of the executables that I've cracked.
Stars: ✭ 29 (-96.92%)
Mutual labels:  arm, x86, x86-64, reverse-engineering
asm2cfg
Python command-line tool and GDB extension to view and save x86, ARM and objdump assembly files as control-flow graph (CFG) pdf files
Stars: ✭ 42 (-95.54%)
Mutual labels:  arm, x86-64, disassembler, x86
Holodec
Decompiler for x86 and x86-64 ELF binaries
Stars: ✭ 195 (-79.3%)
Mutual labels:  disassembler, decompile, x86, x86-64
X64dbg
An open-source x64/x32 debugger for windows.
Stars: ✭ 37,825 (+3915.39%)
Mutual labels:  disassembler, x86, x86-64, reverse-engineering
Capstone.NET
.NET Core and .NET Framework binding for the Capstone Disassembly Framework
Stars: ✭ 108 (-88.54%)
Mutual labels:  arm, x86-64, disassembler, x86
SDA
SDA is a rich cross-platform tool for reverse engineering that focused firstly on analysis of computer games. I'm trying to create a mix of the Ghidra, Cheat Engine and x64dbg. My tool will combine static and dynamic analysis of programs. Now SDA is being developed.
Stars: ✭ 98 (-89.6%)
Mutual labels:  x86-64, decompiler, disassembler, x86
Asmdb
Instructions database and utilities for X86/X64 and ARM (THUMB/A32/A64) architectures.
Stars: ✭ 258 (-72.61%)
Mutual labels:  arm, x86, x86-64, aarch64
Reverse Engineering Tutorial
A FREE comprehensive reverse engineering tutorial covering x86, x64, 32-bit ARM & 64-bit ARM architectures.
Stars: ✭ 5,763 (+511.78%)
Mutual labels:  arm, x86, reverse-engineering
Lbforth
Self-hosting metacompiled Forth, bootstrapping from a few lines of C; targets Linux, Windows, ARM, RISC-V, 68000, PDP-11, asm.js.
Stars: ✭ 293 (-68.9%)
Mutual labels:  arm, x86, risc-v
Sse2neon
A translator from Intel SSE intrinsics to Arm/Aarch64 NEON implementation
Stars: ✭ 316 (-66.45%)
Mutual labels:  arm, x86, aarch64
Beaengine
BeaEngine disasm project
Stars: ✭ 342 (-63.69%)
Mutual labels:  disassembler, x86-64, reverse-engineering
Arm now
arm_now is a qemu powered tool that allows instant setup of virtual machines on arm cpu, mips, powerpc, nios2, x86 and more, for reverse, exploit, fuzzing and programming purpose.
Stars: ✭ 719 (-23.67%)
Mutual labels:  arm, x86, x86-64
Maxine Vm
Maxine VM: A meta-circular research VM
Stars: ✭ 274 (-70.91%)
Mutual labels:  x86, aarch64, risc-v

reko - a general purpose decompiler.

AppVeyor Build Status Build Status Join us on Discord Join the chat at https://gitter.im/uxmal/reko

Reko (Swedish: "decent, obliging") is 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.


Byte map view of a loaded ARM binary executable

Decompiled view of a loaded ARM binary executable

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.)

Downloading Reko

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.

Installing Reko

Windows users

The following prerequisite software must be installed on your machine first:

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:

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).

Documentation

To get acquainted with Reko's various features, you can read the user's guide. If you're interested in the internal workings of the project, see the wiki.

Getting support

You can report any issues you encounter or ask any Reko-related question on the issue tracker. You can also try the Reko Gitter.im chatroom. Reko is built by volunteers' efforts on their spare time, so adjust your response-time expectations accordingly.

Hacking

To build reko, start by cloning https://github.com/uxmal/reko. You can use an IDE or the command line to build the solution file Reko-decompiler.sln. Reko requires .NET Framework 4.7.2 and C# 8 to compile. If you are an IDE user, use Visual Studio 2019. If you wish to build using the command line, use the command

msbuild /p:Configuration={config} /p:Platform={platform} Reko-decompiler.sln

(provided you have msbuild installed). Replace {config} with either Debug or Release, and {platform} with x64 or x86. All external dependencies needed to build Reko are included in the external directory.

Note: please let us know if you still are not able to compile, so we can help you fix the issue.

If you're interested in contributing code, see the road map for areas to explore. The Wiki has more information about the Reko project's internal workings. Please consult the style guide.

Warnings and errors related to WiX

You will receive warnings or errors when loading the solution in Visual Studio or MonoDevelop if you haven't installed the WiX toolset on your development machine. You can safely ignore the warnings; the WiX toolset is only used when making MSI installer packages, and isn't even supported in MonoDevelop. You will not need to build an installer if you're already able to compile the project: the build process copies all the necessary files into If you do want to build an MSI installer with the WiX toolchain, you can download it here: http://wixtoolset.org/releases/

Errors related to CMake in Visual Studio

Depending on what you do Visual Studio might try to rebuild NativeProxy which depends on CMake. You can either install CMake and make sure it's added to your PATH or disable the project in Visual Studio.

Having CMake installed as part of Visual Studio is sufficient to run msbuild from the Developer Command Prompt but not when building from inside VS, unless you've added that to your global PATH. Installing CMake externally allows you to add it to PATH during the installation.

How do I start Reko?

The solution folder Drivers contains the executables that act as user interfaces: the directory WindowsDecompiler contains the GUI client for Windows users; MonoDecompiler contains the GUI client for Mono users; CmdLine is a command line driver.

Recent versions

See NEWS.md for the change log.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].