The word "malware" is short for malicious software. It covers any program designed to act against the interests of the person running it. That definition is deliberately broad. A twenty-line batch script that wipes a directory qualifies, and so does a state-sponsored implant that survives firmware reflashes and hard disk replacements.
What makes malware analysis worth studying is not the definition itself but the variety of what an analyst encounters in practice. Every sample tells a story: who built it, what they wanted, how they tried to conceal it, and where they made mistakes. The analyst's job is to read that story from the binary.
Why Study Malware Analysis
Three audiences benefit directly from understanding how malware operates:
- Defenders: SOC analysts, incident responders, and threat hunters need to recognise what a sample does so they can contain it, eradicate it, and write detection rules that catch its next iteration.
- Researchers: Academic and industry researchers study malware to understand attacker tradecraft, attribute campaigns, and publish findings that improve collective defence.
- Students and Practitioners: Anyone preparing for roles in cybersecurity, digital forensics, or offensive security gains foundational skill by learning how malicious code is built, hidden, and broken open.
What This Course Covers
This course is organised around the question: given a suspicious binary, what does an analyst actually do? The answer unfolds over six units.
- Unit 1 lays the groundwork: taxonomy, analysis approaches, x86 architecture, assembly basics, and debugging concepts.
- Unit 2 builds the analyst's toolkit: virtual machine setup, the Portable Executable format, static property examination, and behavioural analysis.
- Unit 3 moves into code-level analysis: assembly logic structures, Windows API patterns, DLL analysis, code injection, and Living-off-the-Land techniques.
- Unit 4 covers malicious web and document files: JavaScript de-obfuscation, malicious PDFs, RTF exploitation, and Office macros.
- Unit 5 tackles packed and fileless malware: unpacking, obfuscated PowerShell, memory forensics, and network signatures.
- Unit 6 examines self-defending malware: anti-debugging, VM detection, code misdirection, and advanced unpacking.
How to Read a Sample
A new sample is rarely understood by staring at it. The analyst follows a structured sequence:
- Hash and look up: has anyone seen this before?
- Static triage: what does the file claim to be, and what does it import?
- Dynamic execution: what does it actually do when it runs?
- Code analysis: how does it work at the assembly level?
- Report and defend: what indicators of compromise (IOCs) can be turned into detections?
Each step answers a progressively deeper question. Not every sample requires all five: a known commodity dropper can be identified at step 1; a novel state-sponsored implant requires every step over days of work.
What You Will Learn in This Unit
Unit 1 covers the foundational vocabulary and mental models needed before the first hands-on lab:
- Categories of malware and how to recognise them
- Code-level evasion (oligomorphic, polymorphic, metamorphic)
- Real-world case studies that shaped industry practice
- The three approaches to malware analysis
- x86 architecture, registers, and assembly language fundamentals
- The legality of reverse engineering for defensive purposes
- Core reversing tools (IDA Pro, Ghidra, x64dbg)
- Debugging concepts: stepping, breakpoints, exceptions
By the end of this unit, you should be able to look at a malware report and understand the vocabulary, recognise the techniques described, and know which tool to reach for at each stage of analysis.

