/REDasm

The OpenSource Disassembler

Primary LanguageC++GNU General Public License v3.0GPL-3.0

Language grade: C/C++

Introduction

REDasm is an interactive, multiarchitecture disassembler written in modern C++11 using Qt5 as UI Framework, its core is modular and it can be easily extended in order to support new file formats and instruction sets.
You can hack and improve REDasm without any issues and limitations.

Runs on Windows and Linux.

Formats & Assemblers Support

Formats
Portable Executable 32/64 bits
ELF Executable 32/64 bits, Little/Big endian
Sony Playstation 1 Executable PsyQ 4.6/7 signatures available
Android Dalvik Executable (DEX)
XBox1 Executable (XBE)
GameBoy Advance ROM In development
Nintendo64 ROM Little/Big endian and "swapped roms" are supported, In development
Assemblers
x86 and x86_64 Capstone Based
MIPS Capstone Based, Little/Big endian mode
ARM Capstone Based, 32 bits only
Dalvik
CHIP-8 Just for Fun :)

Precompiled Packages

Nightly Builds and Stable Releases can be downloaded from redasm.io website.

Compiling from Source

See COMPILE.md (for Windows and Linux).

Contributing

  • Read the Wiki and send a Pull Request!
  • Join the community on Reddit

Requirements

  • CMake >= 3.10
  • C++11 compiler (tested on GCC 6.x and MSVC2017)
  • Qt >= 5.9 LTS

Dependencies

  • MiniZ : ZLib's drop in replacement
  • Capstone : Capstone provides the most common architectures
  • JSON: A single header library for JSON
  • D3: Used by QtWebEngine for Graph Rendering
  • Dagre: Used for Graph Layout
  • Dagre-D3: Graph Layout Rendering with D3
  • UndName: MSVC Demangler
  • Libiberty: Binutils Demangler
  • Visit-Struct: C++ Reflection

License

REDasm is released under GNU GPL3 License.