For a tool for disassembling compiled binary files, the first results are radare/radare2, dnspy/dnspy (dnSpy is a ) and nationalsecurityagency/ghidra. radareorg/radare2 and avast/retdec round out the shortlist. Compare the match explanations and check the project documentation against your requirements.
Tools for analyzing, decompiling, and reverse engineering compiled binary files across various architectures and platforms.
radare2 is a reverse engineering framework and binary analysis toolset. It functions as a multi-architecture disassembler, low-level binary debugger, and hexadecimal editor for inspecting executable structures and interpreting machine code when original source files are unavailable. The framework provides capabilities for decompiling machine instructions, performing symbolic analysis, and diffing binary files to identify structural changes across versions. It also includes a digital forensic analyzer and disk analyzer for browsing filesystem formats in userland. The toolset supports binary p
radare2 is a comprehensive reverse engineering framework that covers multi-architecture disassembly, decompilation, interactive control flow graphs, a hex editor, scripting/plugin APIs, debugger integration, and support for various file formats — exactly the kind of all-in-one binary analysis and disassembly tool this search is after.
dnSpy is a desktop application designed for the analysis, debugging, and modification of compiled .NET assemblies. It functions as an assembly analysis suite and decompiler, translating binary instruction streams back into readable source code to facilitate reverse engineering when original source files are unavailable. The tool distinguishes itself through an integrated binary patching engine and metadata editor, which allow for the direct modification of executable logic and internal metadata tables. It supports in-process debugging instrumentation, enabling users to inject runtime hooks, s
dnSpy is a .NET assembly decompiler and debugger with binary patching and metadata editing, fitting the reverse engineering category but limited to single-architecture (CIL) rather than the multi-architecture disassembly and file format coverage you need.
Ghidra is a software reverse engineering suite designed to analyze compiled binaries and reconstruct program logic without access to original source code. It provides an interactive environment for disassembly and decompilation, utilizing a platform-independent intermediate representation to maintain consistency across diverse hardware architectures. The framework supports automated binary analysis through programmatic routines, enabling the investigation of complex code patterns and security indicators. The platform distinguishes itself through a modular architecture that allows for extensiv
Ghidra is a full-featured reverse engineering suite that directly meets your need for multi-architecture disassembly, decompilation, interactive control-flow graphs, a scripting API, debugger integration, and support for multiple binary formats, making it the ideal tool for analyzing compiled binaries.
Radare2 is a comprehensive framework for reverse engineering and analyzing compiled software. It provides a command-line environment designed for disassembling, debugging, and patching binary executables across a wide range of processor architectures and operating systems. The system distinguishes itself through a modular, plugin-based architecture that supports cross-platform analysis and automated workflows. It utilizes memory-mapped file access to enable efficient structural inspection and modification of binaries without requiring full file loads. By lifting machine instructions into a un
Radare2 is a comprehensive reverse engineering framework that provides multi-architecture disassembly, interactive control flow graphs, a hex editor, scripting APIs, debugger integration, and decompilation, which exactly matches the need for statically and dynamically analyzing compiled binaries.
RetDec is a reverse engineering framework and static binary analysis tool. Its primary purpose is to function as an LLVM-based machine code decompiler that translates binary machine code from multiple architectures into high-level C source code. The system employs a multi-stage lifting pipeline to recover program logic, using an intermediate representation to apply optimizations before emitting source code. It distinguishes itself through the ability to identify compilers and packers, perform executable unpacking, and reconstruct class hierarchies and original program structures. The framewo
RetDec is a reverse engineering framework focused on static binary decompilation to C using LLVM, which fits the category, though it is primarily static and may not include the dynamic analysis and debugger integration this search is after.
Angr is a binary analysis framework and static analysis tool used for reverse engineering compiled binaries. It serves as a binary decompiler and a lifting platform that translates machine code into a common intermediate representation to enable cross-architecture analysis. The framework integrates a symbolic execution engine and constraint solvers to determine the inputs required to reach specific program states. It also employs untrusted code sandboxing to isolate guest code from the host environment during analysis. Its capabilities cover control flow and data flow analysis, including the
angr is a binary analysis framework with cross-architecture disassembly, decompilation, and symbolic execution, making it a solid fit for reverse engineering compiled binaries, though it lacks an interactive GUI for hex editing or integrated debugger.
This project is a graphical Windows debugger designed for the analysis and manipulation of compiled binary applications. It functions as a comprehensive binary analysis suite, providing a real-time environment for inspecting CPU registers, monitoring memory states, and tracing instruction execution to investigate system-level software behavior. The tool distinguishes itself through an event-driven debugging loop that allows for precise process control and state modification during runtime. It supports advanced analysis techniques, including hardware-breakpoint injection for monitoring memory
x64dbg is a powerful Windows debugger and disassembler that provides both static and dynamic binary analysis with plugin support, but it lacks built-in decompilation to high-level code.
Binary Analysis Platform
BAP is a binary analysis platform that provides disassembly, decompilation, control-flow and call-graph capabilities across multiple architectures, fitting the reverse-engineering framework category; while it lacks a built-in interactive GUI, hex editor, and debugger integration, it offers a powerful scripting/plugin API and supports multiple file formats, making it a strong match for programmatic static and dynamic binary analysis.
A core disassembler with multi-architecture support, fitting the binary reverse engineering framework category, though its decompilation and plugin depth are less comprehensive than more mature alternatives.
An open source interactive disassembler
Medusa is an interactive disassembler for reverse engineering binaries, which is exactly the category you need, though its feature set appears narrower—likely lacking decompilation, debugger integration, and the full scripting ecosystem you listed.
This project is a desktop application designed for the reverse engineering and inspection of compiled Java code. It functions as a graphical interface that translates Java bytecode back into readable source code, allowing users to examine the internal logic of class files and archives when original source files are unavailable. The tool provides a structured environment for navigating complex file hierarchies, including nested archives like JAR and WAR files. By maintaining an in-memory representation of loaded classes, it enables rapid searching and cross-referencing of code elements. The ap
jd-gui is a Java bytecode decompiler and viewer, not a general-purpose binary reverse engineering framework — it only handles Java class files and lacks multi-architecture disassembly, machine code decompilation, and debugger integration.
Binsider is a collection of specialized toolsets for hexadecimal editing, ELF structural analysis, system call tracing, and execution performance profiling. It provides a suite of utilities designed for binary reverse engineering, encompassing both static structural analysis and dynamic runtime monitoring of compiled binaries. The project distinguishes itself by combining low-level binary manipulation, such as a hex editor for raw byte modification, with an ELF binary analysis tool for inspecting file structures and metadata. It also includes a Linux system call tracer for observing dynamic b
Binsider provides hex editing, ELF structural analysis, and system call tracing for binary reverse engineering, but lacks the core disassembly, decompilation, and interactive control flow graph features of a full disassembly framework.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| radare/radare2 | 24.1K | C | NOASSERTION | |
| dnspy/dnspy | 29K | C# | — | |
| nationalsecurityagency/ghidra | 69.7K | Java | Apache-2.0 | |
| radareorg/radare2 | 23.1K | C | other | |
| avast/retdec | 8.6K | C++ | MIT | |
| angr/angr | 8.9K | Python | BSD-2-Clause | |
| x64dbg/x64dbg | 48.7K | C++ | NOASSERTION | |
| binaryanalysisplatform/bap | 2.2K | OCaml | MIT | |
| redasmorg/redasm | 0 | — | — | — |
| wisk/medusa | 1.1K | C++ | NOASSERTION |