Skip to main content
ToolLicensePlatformsPricingAction
angrBSD-2-ClauseLinux, macOS, WindowsOpen SourceProfile
Binary NinjaProprietaryLinux, macOS, WindowsFreemiumProfile
BinDiffApache-2.0Linux, macOS, WindowsOpen SourceProfile
CutterGPL-3.0-onlyLinux, macOS, WindowsOpen SourceProfile
DiaphoraAGPL-3.0-or-laterLinux, macOS, WindowsOpen SourceProfile
dnSpyExGPL-3.0-or-laterWindowsOpen SourceProfile
GDBGPL-3.0-or-laterLinux, macOS, WindowsOpen SourceProfile
GhidraApache-2.0Linux, macOS, WindowsOpen SourceProfile
IDA ProProprietaryLinux, macOS, WindowsCommercialProfile
radare2LGPL-3.0-only (core); GPL-3.0-only (selective plugins)Linux, macOS, Windows, BSDOpen SourceProfile
RizinLGPL-3.0-onlyLinux, macOS, Windows, BSDOpen SourceProfile
x64dbgModified GPL-3.0 with custom plugin exception (not OSI-approved; see repo LICENSE)WindowsFreeProfile

Software in Reverse Engineering

angr

Open Source

Python framework for multi-architecture binary analysis, combining symbolic execution with static and dynamic methods for security auditing.

LicenseBSD-2-Clause
PlatformLinux, macOS, Windows

Binary Ninja

Freemium

Modern interactive disassembler and decompiler platform with strong APIs and a free cloud tier.

LicenseProprietary
PlatformLinux, macOS, Windows

BinDiff

Open Source

Binary comparison tool that visualizes function-level differences between two builds of a program.

LicenseApache-2.0
PlatformLinux, macOS, Windows

Cutter

Open Source

Free reverse engineering platform powered by Rizin, providing a modern Qt interface for binary decompilation and graph views.

LicenseGPL-3.0-only
PlatformLinux, macOS, Windows

Diaphora

Open Source

Open source program diffing tool that compares binary function sets to find patched vulnerabilities.

LicenseAGPL-3.0-or-later
PlatformLinux, macOS, Windows

dnSpyEx

Open Source

Unofficial continuation of dnSpy, a .NET debugger and assembly editor for inspection, modification, and debugging of managed code without source files.

LicenseGPL-3.0-or-later
PlatformWindows

GDB

Open Source

GNU Project source-level debugger for inspecting process memory, breakpoints, and program execution in C, C++, Rust, and Go.

LicenseGPL-3.0-or-later
PlatformLinux, macOS, Windows

Ghidra

Open Source

Software reverse engineering suite developed by the NSA, offering disassembly, decompilation, and scriptable binary analysis.

LicenseApache-2.0
PlatformLinux, macOS, Windows

IDA Pro

Commercial

Industry-standard disassembler and decompiler from Hex-Rays with the broadest processor support.

LicenseProprietary
PlatformLinux, macOS, Windows

radare2

Open Source

Command-line reverse engineering framework providing scriptable disassembly, binary patching, and cross-platform analysis.

LicenseLGPL-3.0-only (core); GPL-3.0-only (selective plugins)
PlatformLinux, macOS, Windows, BSD

Rizin

Open Source

UNIX-like reverse engineering framework and disassembler focused on stability, scriptability, and deep binary forensics.

LicenseLGPL-3.0-only
PlatformLinux, macOS, Windows, BSD

x64dbg

Free

Free x64 and x32 debugger for Windows binaries, featuring assembly viewing, memory editing, and plugin extensibility.

LicenseModified GPL-3.0 with custom plugin exception (not OSI-approved; see repo LICENSE)
PlatformWindows

Frequently Asked Questions

What is Reverse Engineering?

Software analysis tools used for malware triage, binary inspection, firmware auditing, and patch diffing across multiple CPU architectures.

What topics does the Reverse Engineering category cover?

Multi-Architecture Disassembly, Decompilation & Source Recovery, Dynamic Debugging & Tracing, Firmware Auditing, Binary Diffing & Patch Analysis

About Reverse Engineering

Reverse engineering tools disassemble, decompile, and debug compiled binaries to understand their behavior when source code is unavailable. The category includes disassemblers like Ghidra, radare2, and Cutter that convert machine code into human-readable assembly, decompilers that attempt to reconstruct higher-level source code from binaries, and debuggers like GDB, pwndbg, and x64dbg that let analysts step through execution, inspect memory, and set breakpoints. These tools are used for malware analysis, where analysts reverse engineer malicious binaries to understand their capabilities, communication protocols, and persistence mechanisms. Firmware auditing is another application, since IoT and embedded device firmware is often distributed without source code, requiring binary analysis to find vulnerabilities. Patch diffing compares two versions of a binary to identify what changed in a security update, which can reveal the vulnerability being patched. The category overlaps with binary exploitation, since exploit development requires understanding binary internals. Tools like angr and Rizin provide programmatic analysis APIs for automated binary inspection, while Ghidra offers a plugin architecture for custom analysis scripts. Most tools support multiple CPU architectures including x86, ARM, MIPS, and RISC-V, since malware and firmware target diverse hardware.

Covered Topics & Disciplines

Multi-Architecture DisassemblyDecompilation & Source RecoveryDynamic Debugging & TracingFirmware AuditingBinary Diffing & Patch Analysis