Roadmaps Security roadmaps Defensive security and threat management

Malware Analysis and Reverse Engineering

Take malicious software apart safely to learn what it does, how to detect it and how to stop it.

Estimated time: 24–42 months · At about 10 hours a week.

Offensive skills are for authorised testing only: your own lab, a practice platform, or a system whose owner has given you written permission. Testing anything else is a crime in most countries.

Learning path

Click a topic to see what to learn and where. Mark topics as you go; your progress is saved in this browser only.

  • Core topic
  • Optional
  1. Beginner · 2–3 months Safe lab and triage
  2. Intermediate · 4–6 months Reverse engineering fundamentals
  3. Advanced · 6–9 months Advanced malware
  4. Expert · 12–24 months Research and leadership

All topics in detail

BeginnerTime: 2–3 months

Safe lab and triage

Skills

  • Set up an isolated analysis lab.
  • Triage a sample with static tools and a sandbox.
  • Extract the code from a malicious document.

Hands-on projects and labs

  • Build FLARE-VM and REMnux on a host-only network and take clean snapshots.
  • Triage five samples from MalwareBazaar: file type, packer, strings, imports and sandbox behaviour.
  • Extract and decode the macro from a malicious Office document.

Done when you can…

  • Write a one-page triage report with indicators and a verdict.
  • Explain every safety step in your lab.

Beginner

Building a safe analysis lab

Analyse malware only in isolated virtual machines with no shared folders, snapshots to roll back, and no route to your real network.

Resources

  • FLARE-VM ToolFreeMandiant (Google Cloud)
  • REMnux ToolFreeREMnux project

Beginner

Basic static analysis

Hashes, file type, strings, imports, sections and packers tell you a lot without running anything.

Resources

Beginner

Basic dynamic analysis

Run the sample in the lab and watch processes, files, registry changes and network traffic with monitoring tools.

Resources

Beginner

Sandboxes

Automated sandboxes run a sample and report its behaviour. Fast and useful, but malware can detect them and hide.

Resources

Beginner

Malicious documents and scripts

Office macros, PDFs, shortcut files and scripts are common first stages. Learn to extract and read the code inside them.

Resources

Beginner

Getting samples safely

Use reputable sample sources for practice, store samples in password-protected archives, and never open them on your own machine.

Resources

IntermediateTime: 4–6 months

Reverse engineering fundamentals

Skills

  • Read x86-64 assembly and follow program logic.
  • Use Ghidra and x64dbg together on a sample.
  • Unpack a packed sample.
  • Write YARA rules from your analysis.

Hands-on projects and labs

  • Solve beginner crackmes from crackmes.one with Ghidra and x64dbg.
  • Work through the labs in Practical Malware Analysis.
  • Unpack a packed sample in a debugger and compare the result with the original.

Done when you can…

  • Explain a sample's main functions from the disassembly.
  • Write a YARA rule that finds a family without false positives on clean files.

Intermediate

x86-64 assembly

Registers, the stack, calls and common compiler patterns. You need to read assembly comfortably to reverse engineer anything.

Resources

Intermediate

Disassemblers and decompilers

Ghidra and IDA turn machine code back into readable functions. Learn to rename, comment and follow cross-references.

Resources

Intermediate

Debugging malware

Step through code, set breakpoints on key API calls and watch memory change. x64dbg is the usual choice on Windows.

Resources

  • x64dbg ToolFreex64dbg project

Intermediate

Windows internals for analysts

Processes, threads, the PE format, DLL loading and common APIs explain what malware is doing and why.

Resources

Intermediate

Unpacking

Most malware is packed or encrypted. Learn to find where it unpacks itself in memory and dump the real code.

Resources

Intermediate

Identifying capabilities

Tools such as capa flag likely capabilities (keylogging, encryption, persistence) so you know where to look first.

Resources

  • capa ToolFreeMandiant (Google Cloud)

Intermediate

Writing YARA rules

Turn what you learned into rules that find the same family on disk, in memory and in sample collections.

Resources

AdvancedTime: 6–9 months

Advanced malware

Skills

  • Defeat common obfuscation and anti-analysis tricks.
  • Write configuration extractors.
  • Analyse ransomware and fileless malware.
  • Decode command-and-control traffic.

Hands-on projects and labs

  • Write a Python script that extracts the configuration from a family you analysed.
  • Analyse the traffic in a Malware Traffic Analysis exercise and write network signatures.

Done when you can…

  • Deliver a full report on a complex sample with behaviour, indicators, detections and extractor.
  • Analyse a sample that first refused to run in your lab.

Advanced

Obfuscation and anti-analysis

String encryption, API hashing, control-flow flattening and checks for debuggers and virtual machines. Learn to recognise and defeat each.

Resources

Advanced

Configuration extraction

Write scripts that pull command-and-control servers and keys out of samples, so intelligence teams can track a family at scale.

Resources

Advanced

Ransomware analysis

Understand how a family encrypts files, finds network shares and deletes backups, and look for mistakes that make decryption possible.

Resources

Advanced

Fileless and in-memory malware

Some malware never writes a file. Analyse it from memory images and script logs.

Resources

AdvancedOptional

Linux, macOS and mobile malware

ELF, Mach-O and Android packages have their own formats and tricks. Pick the platforms your organisation uses.

Resources

Advanced

Reversing command-and-control protocols

Decode how a sample talks to its servers, so you can detect it on the network and sometimes take over or block its infrastructure.

Resources

ExpertTime: 12–24 months

Research and leadership

Skills

  • Lead research on new malware families.
  • Build tools that the analysis community uses.

Hands-on projects and labs

  • Publish a technical write-up on a family, with YARA rules and an extractor.
  • Release a Ghidra script or plugin that solves a problem you keep meeting.

Done when you can…

  • Have your research and tools used by other analysts.
  • Lead a malware analysis team.

Expert

Tracking malware families

Follow a family through versions, link samples by code reuse and share findings with the community.

Resources

Expert

Building analysis tools

Write plugins, scripts and automation for your disassembler, debugger and sandbox. Good tools save the whole team time.

Resources

ExpertOptional

Firmware and kernel reversing

Rootkits, bootkits and firmware implants hide below the operating system and need specialised tools and knowledge.

Resources

Overview

Malware analysts answer practical questions about a suspicious file: is it malicious, what does it do, how does it persist, who does it talk to, and how can we find it everywhere else? Quick triage takes minutes; full reverse engineering can take days.

The work moves from safe, simple steps (hashes, strings, sandbox runs) to deep analysis in a disassembler and debugger. It needs a careful, isolated lab, an understanding of operating system internals and assembly, and a lot of patience.

Why it matters

Every incident involving unknown code needs someone who can analyse it. Malware analysis feeds detection, threat intelligence and incident response, and good reverse engineers are rare.

Typical job roles

  • EntrySOC analyst doing malware triage Runs samples through sandboxes and basic tools, and escalates what looks serious.
  • Mid-levelMalware analyst Analyses samples statically and dynamically and writes reports and detections.
  • SeniorReverse engineer Takes apart complex or obfuscated malware in a disassembler and debugger.
  • LeadMalware research lead Leads research on new families and shapes detection strategy.

Prerequisites

  • Solid Windows knowledge: processes, the registry, services and the file system.
  • Programming in C and Python.
  • Networking basics and reading packet captures.
  • Willingness to learn x86-64 assembly.

Foundations of computer science Cybersecurity

Tools and technologies

  • Ghidra Open source Disassembler and decompiler from the NSA.
  • IDA Free Free Free version of the classic disassembler.
  • x64dbg Open source Windows debugger.
  • FLARE-VM Open source Windows analysis VM setup scripts.
  • REMnux Open source Linux toolkit for malware analysis.
  • capa Open source Identifies capabilities in executables.
  • CAPE Sandbox Open source Malware sandbox with configuration extraction.
  • YARA Open source Pattern matching to find malware families.
  • oletools Open source Analyse Office documents and macros.

Certifications

Take them in roughly this order. Costs and details for the ones marked with a link are on the Certifications page.

  1. Advanced GIAC Reverse Engineering Malware (GREM) GIACThe best-known malware analysis certification.
  2. Intermediate Certified Defensive Security Analyst (CDSA) Hack The BoxHands-on defensive skills including malware basics.Cost and exam details
  3. Advanced GIAC Certified Incident Handler (GCIH) GIAC (SANS)Incident handling context for analysis work.Cost and exam details

Resources

Frameworks and standards

All frameworks and standards

Career path

A common progression. Titles vary between companies.

  1. SOC analyst or developer0–2 years
  2. Junior malware analyst1–3 years
  3. Malware analyst3–6 years
  4. Reverse engineer6–9 years
  5. Malware research lead10+ years

Related domains to move into

All security roadmaps Back to top

Last reviewed: . Found a mistake, or want a roadmap written sooner? Contact