ResearchAdvanced~9 months

Reverse Engineering

Disassemble and decompile software to understand inner workings, find vulnerabilities, and analyze malware.

10 Topics

Key concepts

3 Levels

Beginner to Advanced

5 Tools

Curated for this track

8 Questions

Test yourself

About this track

Read the binary when there is no source to read.

Reverse engineering is the deepest technical track here. Given only a compiled artefact, you recover its logic — to find vulnerabilities, to understand malware, or to interoperate with something undocumented.

It starts with x86 and x64 assembly, because nothing further makes sense without it, then moves through disassembly and decompilation with Ghidra and IDA, into debugging, and finally into binary exploitation where understanding becomes control.

Progress is slower here than on any other track and the early plateau is steep. The payoff is that very few people push through it, and the skill transfers directly into malware analysis and vulnerability research.

Key topics

10 topics grouped into three modules, in the order you should meet them.

  1. 01

    Assembly & tooling

    4 topics
    • 1.

      x86/x64 Assembly

      Registers, calling conventions, and the stack — the foundation for everything below.

    • 2.

      Disassembly

      Turning machine code back into instructions and recovering control flow graphs.

    • 3.

      Decompilation

      Ghidra and IDA reconstructing C-like output, and knowing where they lie to you.

    • 4.

      Debugging

      GDB and x64dbg — watching memory change confirms what static reading only implies.

  2. 02

    Analysis

    4 topics
    • 5.

      Binary Exploitation

      Stack and heap corruption, ROP chains, and modern mitigation bypasses.

    • 6.

      Firmware Analysis

      Extracting and analysing embedded images where no operating system helps you.

    • 7.

      Android RE

      Smali, DEX, and native libraries inside an APK.

    • 8.

      iOS RE

      Mach-O binaries, Objective-C runtime structures, and a far more hostile toolchain.

  3. 03

    Exploitation & platforms

    2 topics
    • 9.

      Anti-Reversing Techniques

      Packing, obfuscation, and anti-debug tricks — and how to defeat them.

    • 10.

      Patching

      Modifying a binary's behaviour directly, the practical proof you understood it.

What you'll be able to do

  • Read x86/x64 assembly fluently enough to follow unfamiliar control flow
  • Recover a program's logic using a disassembler and decompiler
  • Debug a live process to confirm what static analysis only suggested
  • Develop a working exploit for a memory-corruption vulnerability