Skip to content

About

A curated list of 130+ reverse engineering tools for binaries, Android, .NET, firmware and smart contracts, with a safety flag on every entry, weekly maintenance data and agent-era MCP servers.

Topics

Resources

Code of conduct

Contributing

Stars

2 stars

Watchers

0 watching

Forks

Repository files navigation

Awesome Reverse Engineering: binaries, Android, .NET, firmware and smart contracts, with a safety flag on every tool

Awesome Reverse Engineering Awesome

Tools and learning resources for understanding software you did not write: native binaries, Android and .NET apps, language runtimes, web apps, firmware and smart contracts. Every entry is reviewed for execution and disclosure risk, and maintenance status refreshes weekly from GitHub.

135 entries · 19 categories · reviewed 2026-10-10 · GitHub data 2026-10-26 · Browse and search the website

Contents

🧭 How to Choose

I need to... Start here
Learn reversing from zero Learn, then Practice Targets
Identify an unknown file and what it can do Identify & Triage
Read a file format or patch bytes Binary Formats & Hex Editors
Read native code Disassemblers & Decompilers
Watch a program run Debuggers, Instrumentation & Emulation
Handle Go, Flutter, Unity, React Native, Python, Electron or wasm Language Runtimes & Packagers
Look inside an APK or a .NET assembly Android & Java, .NET
Find what changed between two versions Binary Diffing
Extract and audit device firmware Firmware & Embedded
Check a contract or token before using it Smart Contracts & EVM
Let an AI agent drive the decompiler AI-Assisted RE & MCP Servers
Set up a safe place to do all this Safety First, Lab & Isolation

🚦 Flags

Flag Meaning
▶️ Executes or emulates target code, or loads third-party plugins and scripts. Use inside an isolated VM.
☁️ Sends your binary or code to a third party when used as documented (hosted service or remote model).
🎭 Lookalike download sites or trojanised builds have been reported. Use the linked official source only.
⚠️ Archived, no push in over a year, or the maintainers declare limited maintenance.
(none) Reviewed on 2026-10-10; none of the above known. Any parser of hostile input can have bugs, so the VM rule still applies.

🔐 Safety First

The tools in this list parse hostile input, and analysts are targeted directly.

  1. Analyse in a full VM. No network or a host-only network with no route out, no shared folders, clipboard or drag and drop, no keys, tokens or wallets, and a clean snapshot you revert after every session. WSL2 runs Linux in a lightweight VM that all your WSL distros share and that is wired into Windows (mounted drives, interop), so it is not a separate lab. Plain containers share the host kernel.
  2. Download from the official source only. Documented cases: a trojanised cracked IDA Pro 7.5 (ESET, 2021), fake dnSpy repositories (2022), and 100+ lookalike sites for Ghidra, dnSpy and ILSpy pushing a wallet-stealing payload (Check Point, 2026). Known fakes: ghidralite.com, dnspy.org, dnspy.net, ilspy.org.
  3. Treat project files and proof-of-concept repos as code. Researchers were compromised by shared Visual Studio projects (Google TAG, 2021), a crafted IDA database could run code until IDA 9.3sp2 (Calif, 2026), and fake CVE PoCs pulled a malicious PyPI dependency (ChocoPoC, 2026).
  4. Look up hashes; do not upload. Public scanners share uploaded files with paying customers. Hash locally and search by hash.
  5. Agents read hostile text. Strings inside a binary can carry instructions aimed at an AI analyst (Check Point, 2025). Keep approval prompts on, run MCP servers inside the VM, and verify every model claim against the disassembly.

Only analyse what you own, open-source code, CTF and crackme binaries released for analysis, or targets under written authorisation. Decompilation law varies by country; see the EU Software Directive Art. 6, US 17 USC 1201(f) and your local copyright and computer-crime laws.

⚡ Triage by Runtime

The language runtime decides the toolchain. Check this before opening a disassembler.

If file, strings or Detect It Easy show... It is probably Reach for
Go build ID, runtime.gopanic Go GoReSym, then Ghidra or IDA
libapp.so + libflutter.so Flutter (Dart AOT) blutter
global-metadata.dat, GameAssembly Unity IL2CPP Il2CppDumper, Cpp2IL
index.android.bundle with Hermes magic React Native Hermes hermes-dec
PYZ, _MEIPASS PyInstaller pyinstxtractor, pycdc
resources/app.asar Electron @electron/asar extract, then read JS
magic \0asm WebAssembly WABT
CLR header, mscorlib .NET ILSpy
classes.dex Android JADX
.pck, Godot strings Godot GDRE Tools
.js.map next to a bundle Shipped source maps Read the original source in DevTools
Rust panic strings, core::fmt Rust Ghidra or IDA with Rust demangling
None of the above Native C or C++ Disassemblers & Decompilers

🔎 Identify & Triage

Identify & Triage: 8 entries

First fifteen minutes on any file: what is it, what built it, is it packed, what can it do.

Tool Last push · Stars Cost Flags Use it when
Detect It Easy 2026-10 · ★ 12k Free Identifies compiler, linker, packer and protector for PE, ELF and Mach-O files.
capa 2026-10 · ★ 6.3k Free Names what a binary can do (encrypt, network, persist) from rules; points you to the functions that do it.
FLOSS 2026-10 · ★ 4.2k Free ▶️ Extracts obfuscated and stack-built strings that plain strings misses.
YARA-X 2026-10 · ★ 1.3k Free Rust successor to YARA for pattern-matching rules; turn findings into reusable detections.
PE-bear 2026-10 · ★ 3.9k Free Fast PE header and section viewer for first looks at Windows binaries.
XELFViewer 2026-10 · ★ 1.6k Free ELF header, section and segment viewer.
checksec 2026-10 · ★ 2.4k Free Reports RELRO, canaries, NX, PIE and FORTIFY; now written in Go (checksec file <bin>).
pestudio website Free · Paid Static Windows executable triage: imports, strings, indicators.

(back to top)

🧾 Binary Formats & Hex Editors

Binary Formats & Hex Editors: 4 entries

Read and describe file structures by hand or with a grammar.

Tool Last push · Stars Cost Flags Use it when
ImHex 2026-10 · ★ 56k Free Hex editor with a pattern language, data inspector and diffing for reverse engineering file formats.
010 Editor website Paid Commercial hex editor whose binary templates parse hundreds of formats.
Kaitai Struct 2026-10 · ★ 4.7k Free Declarative format descriptions that compile to parsers in many languages, plus a web IDE.
Malcat website Free · Paid ▶️ Hex editor, disassembler and analyser in one for fast file triage.

(back to top)

🧠 Disassemblers & Decompilers

Disassemblers & Decompilers: 9 entries

The engines everything else plugs into.

Tool Last push · Stars Cost Flags Use it when
Ghidra 2026-10 · ★ 94k Free 🎭 ▶️ NSA's decompiler with scripting, BSim similarity search and a team server. Many 2026 advisories: stay on the latest release.
IDA Pro website Paid · Free tier ☁️ 🎭 ▶️ Industry standard. Free, Home and Pro Essential decompile in the cloud; never use cracked builds.
Binary Ninja website Paid · Free tier ▶️ Layered intermediate languages that suit scripting; the free edition includes a local MCP server and debugger.
radare2 2026-10 · ★ 25k Free ▶️ Scriptable command-line framework for quick triage and automation.
Rizin 2026-10 · ★ 4k Free ▶️ radare2 fork focused on usability and a stable API.
Cutter 2026-09 · ★ 20k Free ▶️ Rizin GUI with the Ghidra decompiler built in.
Hopper website Paid ▶️ Affordable disassembler for macOS and Linux with strong Mach-O and Objective-C support.
RetDec 2026-05 · ★ 8.7k Free ⚠️ LLVM-based retargetable decompiler. ⚠️ Limited maintenance mode, per its README.
Decompiler Explorer 2026-10 · ★ 2.7k Free ☁️ Runs one small binary through many decompilers side by side (dogbolt.org). Uploads are kept and shared with tool authors.

(back to top)

🐞 Debuggers

Debuggers: 9 entries

Answer one question at a time by watching the program run, inside a VM.

Tool Last push · Stars Cost Flags Use it when
x64dbg 2026-10 · ★ 50k Free ▶️ Open-source Windows user-mode debugger; plugins are native DLLs.
WinDbg website Free ▶️ Microsoft's debugger with Time Travel Debugging: record once, step backwards.
GDB website Free ▶️ The GNU debugger; the base pwndbg and GEF build on.
LLDB website Free ▶️ LLVM debugger, default on macOS and for Swift and Rust.
pwndbg 2026-10 · ★ 11k Free ▶️ GDB and LLDB plugin with heap, memory and context views; keep GDB auto-load safe-path at its default.
GEF 2026-08 · ★ 8.4k Free ▶️ Single-file GDB enhancement, handy for remote and embedded targets.
rr 2026-10 · ★ 11k Free ▶️ Record and replay for Linux: debug the same execution as many times as you need.
Pernosco website Paid ☁️ Omniscient debugging built on rr recordings; query any value at any point in time.
edb 2026-10 · ★ 3k Free ▶️ x64dbg-style GUI debugger for Linux.

(back to top)

🪝 Instrumentation & Emulation

Instrumentation & Emulation: 6 entries

Hook, trace or emulate code without a full debugger session.

Tool Last push · Stars Cost Flags Use it when
Frida 2026-10 · ★ 22k Free ▶️ Inject JavaScript into running processes on every major platform. frida-server listens on the device: test devices only.
Unicorn 2026-10 · ★ 9.5k Free ▶️ CPU emulator for running a snippet (a decode loop) without running the program.
Qiling 2026-10 · ★ 6.2k Free ▶️ Whole-binary emulation with OS-level hooks; PyPI lags GitHub releases.
DynamoRIO 2026-10 · ★ 3.2k Free ▶️ Dynamic binary instrumentation for tracing and coverage.
QBDI 2026-09 · ★ 1.8k Free ▶️ Dynamic binary instrumentation framework for x86, x86-64, ARM and AArch64.
QEMU 2026-10 · ★ 14k Free ▶️ Full-system and user-mode emulation; user mode forwards syscalls to the host kernel, so only inside a VM.

(back to top)

🩻 Memory & Process Analysis

Memory & Process Analysis: 3 entries

Inspect a live process or an offline memory image.

Tool Last push · Stars Cost Flags Use it when
Sysinternals website Free Process Explorer, Process Monitor and friends for watching what a Windows program does.
Volatility 3 2026-10 · ★ 4.5k Free Offline memory image analysis: processes, modules, handles, network.
PE-sieve 2026-06 · ★ 3.9k Free ▶️ Scans a running process for implants, hooks and in-memory patches and dumps them.

(back to top)

🧮 Analysis Frameworks & Libraries

Analysis Frameworks & Libraries: 7 entries

Build your own analysis: parsing, disassembly, symbolic execution.

Tool Last push · Stars Cost Flags Use it when
angr 2026-10 · ★ 9.2k Free ▶️ Symbolic execution and CFG recovery in Python; the standard for solving crackmes programmatically.
angr management 2026-10 · ★ 1.2k Free ▶️ GUI for angr.
Triton 2026-10 · ★ 4.3k Free ▶️ Dynamic symbolic execution and taint analysis library.
Miasm 2026-09 · ★ 4k Free ▶️ Reverse engineering framework with IR, emulation and deobfuscation helpers.
LIEF 2026-10 · ★ 5.6k Free Parse and modify ELF, PE, Mach-O, DEX and OAT from Python, C++ or Rust.
Capstone 2026-10 · ★ 9.1k Free Multi-architecture disassembly library; prefer the stable 5.x line.
Keystone 2026-10 · ★ 2.7k Free Multi-architecture assembler library, Capstone's counterpart.

(back to top)

🔀 Binary Diffing

Binary Diffing: 3 entries

Compare two builds to find a feature or a fix fast.

Tool Last push · Stars Cost Flags Use it when
BinDiff 2026-09 · ★ 3.2k Free Google's open-source binary diffing for IDA, Binary Ninja and Ghidra.
BinExport 2026-10 · ★ 1.2k Free Exports disassembly for BinDiff from IDA, Binary Ninja and Ghidra.
Diaphora 2026-10 · ★ 4.4k Free Advanced diffing inside IDA, including decompiler-level comparison.

(back to top)

📱 Android & Java

Android & Java: 8 entries

APK, DEX and JVM bytecode.

Tool Last push · Stars Cost Flags Use it when
JADX 2026-10 · ★ 51k Free DEX to Java decompiler with GUI; static analysis of APKs.
Apktool 2026-10 · ★ 27k Free Decode and rebuild APK resources and smali; install rebuilt APKs only on an emulator.
JEB website Paid Commercial decompiler aimed at obfuscated Android and Dalvik code.
Bytecode Viewer 2026-07 · ★ 16k Free Java and Android bytecode viewer with several decompilers side by side.
objection 2026-09 · ★ 9.5k Free ▶️ Frida-powered runtime exploration for mobile apps you are authorised to test.
MobSF 2026-10 · ★ 22k Free ▶️ Automated static and dynamic mobile app audit; run the Docker image bound to localhost.
Androguard 2026-10 · ★ 6.4k Free Python library for scripting APK, DEX and manifest analysis.
Recaf 2026-10 · ★ 7.4k Free Modern Java bytecode editor and decompiler front end.

(back to top)

🟪 .NET

.NET: 2 entries

Managed code decompiles close to source.

Tool Last push · Stars Cost Flags Use it when
ILSpy 2026-10 · ★ 27k Free 🎭 Static .NET decompiler for reading managed code without running it. ilspy.org is not official.
dnSpyEx 2026-10 · ★ 11k Free ▶️ 🎭 Maintained dnSpy continuation with a debugger. dnspy.org and dnspy.net have served malware: GitHub releases only.

(back to top)

🍎 iOS & macOS

iOS & macOS: 2 entries

Mach-O, IPSW and Apple firmware.

Tool Last push · Stars Cost Flags Use it when
ipsw 2026-10 · ★ 3.8k Free Swiss-army tool for IPSW, kernelcache, dyld_shared_cache and Mach-O analysis.
Corellium website Paid ☁️ Virtual Arm iOS and Android devices for research; owned by Cellebrite since Dec 2025.

(back to top)

📦 Language Runtimes & Packagers

Language Runtimes & Packagers: 10 entries

The runtime decides the tool. Check this table before opening a disassembler.

Tool Last push · Stars Cost Flags Use it when
GoReSym 2026-09 · ★ 1.1k Free Go: recovers function names, types and build info from stripped binaries.
blutter 2026-08 · ★ 2.8k Free Flutter: analyses Dart AOT snapshots in libapp.so.
Il2CppDumper 2024-08 · ★ 9.6k Free ⚠️ Unity IL2CPP: restores class and method metadata.
hermes-dec 2026-10 · ★ 1.2k Free React Native Hermes bytecode disassembler and decompiler.
pyinstxtractor 2026-07 · ★ 4.5k Free PyInstaller: extracts the bundled .pyc files.
pycdc 2026-04 · ★ 4.7k Free Python bytecode decompiler.
GDRE Tools 2026-10 · ★ 4.4k Free Godot: recovers projects and decompiles GDScript.
@electron/asar 2026-10 · ★ 2.9k Free Electron: extract app.asar to read the app's JavaScript; pin the version.
WABT 2026-10 · ★ 8.2k Free WebAssembly: wasm2wat, wasm-objdump and wasm-decompile to C-like pseudocode.
Cpp2IL 2026-09 · ★ 3.1k Free Unity IL2CPP to IL recovery; work in progress, check supported Unity versions, use on your own builds.

(back to top)

🌐 Web, JS & Protocols

Web, JS & Protocols: 7 entries

Bundles, source maps, traffic and undocumented APIs of services you use.

Tool Last push · Stars Cost Flags Use it when
webcrack 2026-07 · ★ 3k Free ▶️ Deobfuscates obfuscator.io output and unpacks webpack and browserify bundles.
mitmproxy 2026-10 · ★ 46k Free Intercepting HTTPS proxy for your own apps' traffic; keep its CA on test devices only.
mitmproxy2swagger 2026-10 · ★ 9.7k Free Turns captures into an OpenAPI spec; sanitize tokens first.
Wireshark website Free Packet analysis; never run the GUI as root.
Chrome DevTools website Free Sources with source maps, network panel and HAR export; use a separate browser profile with no wallet.
Burp Suite website Free · Paid Intercepting proxy for testing web apps you are authorised to test.
HTTP Toolkit 2026-10 · ★ 738 Free · Paid One-click interception for browsers, Android, Node and Docker.

(back to top)

📟 Firmware & Embedded

Firmware & Embedded: 10 entries

Extraction, emulation and audit of device images you own.

Tool Last push · Stars Cost Flags Use it when
unblob 2026-10 · ★ 2.6k Free Recursive extraction of 78+ formats; runs as a normal user with traversal guards and a Landlock sandbox.
binwalk 2026-08 · ★ 15k Free Signature scanning and entropy analysis (v3 is a Rust rewrite); never extract as root.
EMBA 2026-10 · ★ 3.7k Free ▶️ Full firmware audit with emulation, SBOM and CVE report; uses sudo, dedicated VM only.
FACT 2026-10 · ★ 1.5k Free Fraunhofer's firmware analysis and comparison platform.
FirmAE 2026-06 · ★ 955 Free ▶️ Emulates router and IoT firmware for dynamic analysis.
dji-firmware-tools 2026-10 · ★ 2.3k Free Parses DJI firmware packages; do not flash modified images to aircraft you fly.
UEFITool 2026-10 · ★ 5.8k Free Parses and extracts UEFI firmware images.
OFRAK 2026-10 · ★ 2.1k Free · Paid Unpack, analyse, modify and repack firmware in one framework.
OpenOCD 2026-10 · ★ 2.4k Free ▶️ On-chip debugging over JTAG and SWD for hardware you own.
sigrok website Free Logic analyser software and protocol decoders for UART, SPI, I2C and more.

(back to top)

💎 Smart Contracts & EVM

Smart Contracts & EVM: 7 entries

Read unverified bytecode before you interact with it. Read-only, no wallet needed.

Tool Last push · Stars Cost Flags Use it when
heimdall-rs 2026-10 · ★ 1.6k Free Decompile, disassemble and decode unverified contracts. Use release binaries; the default installer is curl to bash over HTTP.
EVMole 2026-10 · ★ 473 Free Selectors, arguments, mutability and storage layout from bytecode; has an MCP server (pin its version).
WhatsABI 2026-10 · ★ 1.2k Free Recovers ABIs and follows proxies to implementations.
Panoramix 2024-08 · ★ 957 Free ⚠️ Python EVM decompiler; a second opinion.
Dedaub website Free tier · Paid ☁️ Hosted decompiler with Solidity-like output; keep unreleased contracts out.
Foundry cast 2026-10 · ★ 11k Free cast code, cast storage on ERC-1967 slots and cast 4byte for read-only checks.
evm.codes website Free Interactive opcode reference and playground.

(back to top)

🦾 AI-Assisted RE & MCP Servers

AI-Assisted RE & MCP Servers: 14 entries

Agents and plugins driving the engines above, grouped by engine. Treat every model claim as a hypothesis, keep approvals on, and run servers inside the lab VM.

Tool Last push · Stars Cost Flags Use it when
REA 2026-10 · ★ 388k Free ▶️ One MCP server over twelve target types (Ghidra, IDA, Hopper, JADX, Binwalk, browser, processes). Runtime capture runs targets as you with no sandbox; pin the version.
IDA MCP (official) 2026-10 · ★ 1.4k Needs IDA Pro Hex-Rays' own server over stdio or Streamable HTTP; needs IDA 9.4+ with idalib and Python 3.11+.
IDA Pro MCP 2026-09 · ★ 13k Needs IDA Pro ▶️ Popular community server; py_eval, patch and debugger tools are high impact, leave them off.
ida-mcp-rs 2026-10 · ★ 880 Needs IDA Pro Headless IDA MCP server in Rust.
Ghidra MCP Server 2026-10 · ★ 5.9k Free ▶️ Actively maintained Ghidra server with 200+ tools including debugging.
GhidraMCP 2026-10 · ★ 12k Free The original Ghidra MCP bridge; unauthenticated localhost HTTP.
ReVa 2026-10 · ★ 880 Free ▶️ Ghidra MCP server with small, context-efficient tools; PyGhidra scripting is on by default.
Binary Ninja MCP website Free tier · Paid Built into Binary Ninja; the GUI server works in every edition, headless needs Commercial or Ultimate.
JADX AI MCP 2026-10 · ★ 2.9k Free JADX plugin exposing Android analysis to MCP clients.
radare2 MCP 2026-10 · ★ 332 Free stdio MCP server for radare2.
r2ai 2026-10 · ★ 491 Free ☁️ LLM-assisted decompilation (decai) and agent mode inside radare2.
Gepetto 2026-08 · ★ 3.5k Free ☁️ IDA plugin that explains functions and renames variables; sends code to the chosen provider unless you configure a local model.
GhidrAssist 2026-10 · ★ 770 Free ☁️ LLM chat, RAG and agent mode inside Ghidra; hosted or local models.
LLM4Decompile 2026-02 · ★ 7.2k Free Open decompilation models that run locally; 27 to 65% of functions re-execute correctly on its benchmark.

MCP servers at a glance (from each project's README, 2026-10-10)

Server Engine Transport High-impact capabilities
REA Ghidra, IDA, Hopper, JADX, Binwalk, browser, processes Local MCP Runtime capture runs targets with your permissions; no sandbox documented
IDA MCP (official) IDA 9.4+ with idalib stdio or Streamable HTTP Agent-written idalib scripts ("code mode")
IDA Pro MCP IDA Pro 8.3+ stdio or loopback HTTP/SSE py_eval, patching, debugger tools (opt-in)
GhidraMCP Ghidra Unauthenticated HTTP on localhost:8080, stdio or SSE bridge Renaming
ReVa Ghidra 12.0+ Streamable HTTP on 8080, optional API key PyGhidra scripting on by default
Binary Ninja MCP Binary Ninja Built in Headless use needs Commercial or Ultimate
radare2 MCP radare2 stdio radare2 commands

(back to top)

🧪 Lab & Isolation

Lab & Isolation: 3 entries

Where all of the above should run.

Tool Last push · Stars Cost Flags Use it when
FLARE-VM 2026-10 · ★ 9.2k Free Windows analysis VM build scripts; install only in a VM and switch to host-only after setup.
REMnux website Free Ubuntu-based analysis distro and appliance; check the published SHA-256.
VMware Workstation Pro website Free Free for all users since Nov 2024; patch it and the guest tools.

(back to top)

📚 Learn

Learn: 14 entries

Courses, books and references, in roughly the order to use them.

Tool Last push · Stars Cost Flags Use it when
Compiler Explorer 2026-10 · ★ 19k Free ☁️ See C and C++ become assembly across compilers and -O levels; the hosted site keeps shared links, so self-host for private code.
pwn.college website Free ASU's hands-on dojos from Computing 101 to a full reversing course.
OpenSecurityTraining2 website Free Arch1001 x86-64, Dbg1012 GDB, Dbg1102 Ghidra, RE3011 C++ binaries.
Dive Into Systems website Free C, gdb, optimisation and assembly for x86-64 and ARM64 in one free book.
Azeria Labs website Free ARM assembly tutorials; 32-bit ARM only, pair with an AArch64 text.
Reverse-Engineering tutorial 2026-10 · ★ 15k Free Free tutorial covering x86, x64, ARM and AVR with worked examples.
Nightmare 2026-02 · ★ 3.3k Free Course built from annotated past CTF binaries using Ghidra, GEF and angr.
OWASP MASTG 2026-10 · ★ 13k Free The mobile app security testing guide, including Android and iOS reverse engineering.
Practical Binary Analysis website Paid Formats, disassembly, instrumentation, taint and symbolic execution; concepts current, bundled VM dated (2018).
The Ghidra Book, 2nd ed website Paid March 2026 edition with BSim, PyGhidra and the debugger.
The Art of ARM Assembly, Vol 1 website Paid Deep 64-bit ARM programming text (2025).
Reverse Engineering for Beginners website About $1 (Patreon) Large catalogue of compiled C patterns; leans on 32-bit x86 and older compilers.
RPISEC MBE 2021-12 · ★ 6.1k Free ⚠️ Modern Binary Exploitation course; labs need older toolchains.
Reverse Engineering Stack Exchange website Free Q&A for specific technical questions.

(back to top)

🎯 Practice Targets

Practice Targets: 9 entries

Legal targets, ordered from browser-only exercises to downloaded binaries that need a Windows VM.

Tool Last push · Stars Cost Flags Use it when
picoGym website Free CMU's year-round challenges with a gentle reversing category; many run in the browser, some need a download (use the VM).
Microcorruption website Free MSP430 lock puzzles in a browser emulator.
OverTheWire website Free Bandit, then Leviathan for reversing, over SSH.
crackmes.one website Free ▶️ Large reviewed crackme library with no-malware rules; VM only.
challenges.re website Free Short multi-architecture exercises; no public write-ups.
Root-Me Cracking website Free · Premium ▶️ About 70 challenges across ELF, PE, .NET, APK, wasm and game engines.
Ethernaut 2026-10 · ★ 2.3k Free EVM wargame including storage and bytecode levels; testnet-only key.
Damn Vulnerable DeFi 2025-03 · ★ 1.4k Free ⚠️ 18 local DeFi challenges on Foundry; run locally.
Flare-On website Free ▶️ Annual Windows reversing contest with official solutions back to 2014; Windows VM.

(back to top)

📅 A 12-Week Path

Weeks Goal Do
1-2 Lab built; C to assembly Build an isolated VM. Compile your own small C programs at -O0 and -O2 and read them in Compiler Explorer and Ghidra. pwn.college Computing 101.
3-4 x86-64, the ABI, ELF and PE OST2 Arch1001 and Dbg1102. The SysV and Microsoft x64 calling conventions. Practical Binary Analysis chapters 2-3.
5-6 First challenges OverTheWire Leviathan, picoGym reversing, Microcorruption, then crackmes.one level 1 in the VM.
7-8 A domain you care about EVM bytecode with heimdall and EVMole, Android with JADX, or firmware with unblob.
9-10 Audit your own software Unpack your own APK, Electron app or firmware the way an outsider would, then fix what leaks.
11-12 AI-assisted, verified Re-solve earlier challenges with an MCP server inside the VM and check every claim against disassembly and a debugger run.

💡 Craft

Rookie mistakes: treating decompiler output as truth; reading from main line by line; hand-reversing statically linked libraries (label them with Function ID, FLIRT or BSim); default names everywhere; no notes; missing the easy way in (source maps, symbols, plain JS in an asar); wrong firmware load address; running targets on the host; believing AI summaries unchecked.

Pro moves: fifteen minutes of triage by runtime; start from an anchor (string, import, constant) and walk cross-references backwards; use the debugger to answer one question; diff two builds; fix types and structs first; identify crypto by constants with capa; compile your own code to learn compiler idioms; script early; capture traffic first; recompile your reconstruction and test it against the original.

🧰 Recipes

Look up a file by hash without uploading it

hash=$(sha256sum sample.bin | cut -d' ' -f1)
curl -s -H "x-apikey: $VT_API_KEY" "https://www.virustotal.com/api/v3/files/$hash"

Partially redact a HAR before sharing it

jq '(.log.entries[] | .request.headers, .response.headers) |= map(select(.name | test("^(cookie|set-cookie|authorization|proxy-authorization|x-api-key|x-auth-token)$"; "i") | not)) | (.log.entries[] | .request.cookies, .response.cookies) |= []' in.har > redacted.har

This removes cookies and common auth headers only. URLs, query strings and request and response bodies can still hold tokens and personal data: search redacted.har for them before sharing, or share only the entries you need.

Find a proxy's implementation from raw storage (ERC-1967, read-only)

cast storage "$ADDR" 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc --rpc-url "$RPC"

Build your own first targets

gcc -O0 -g -o prog-O0 prog.c && gcc -O2 -o prog-O2 prog.c && strip prog-O2

Reverse the stripped -O2 build, then check your answer against the source.

📈 About This List

  • Maintenance data. Last push, stars and archive status refresh weekly from the GitHub API. A refresh that fails for more than a fifth of repositories fails CI and keeps the previous data, so the date shown is the last successful refresh.
  • Editorial review. Flags, costs and descriptions were last reviewed on 2026-10-10. 51 entries carry a safety flag; 5 carry a maintenance warning. Changes are logged in CHANGELOG.md.
  • Graveyard. Archived and replaced tools live in GRAVEYARD.md.
  • Machine-readable. data.json is the source; llms.txt and report.json carry the same entries with flags and maintenance state.

Entries per category

🔗 Related Awesome Lists

List Description
awesome-malware-analysis Malware analysis tools and resources.
awesome-mobile-security Android and iOS security testing.
awesome-embedded-and-iot-security Embedded and IoT security research.
OWASP MASTG The mobile app security testing guide.
awesome-OSINT Open-source intelligence, including threat intel.

Contributing

Contributions welcome. Read CONTRIBUTING.md first. Add entries to data.json, not the README; node scripts/build.mjs --offline regenerates it and --check validates it (CI runs the check on every PR).

  • One sentence per entry, ending with a period, saying when the tool is the right choice.
  • Link the official repository or site, never a mirror.
  • Set the safety flags honestly: runs, cloud, impersonated.
  • No tools whose main purpose is cracking licences, bypassing DRM or cheating in online games.

Listed projects keep their own licences. This list is released under CC0 1.0.

About

A curated list of 130+ reverse engineering tools for binaries, Android, .NET, firmware and smart contracts, with a safety flag on every entry, weekly maintenance data and agent-era MCP servers.

Topics

Resources

Code of conduct

Contributing

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages