Foundations Of Reverse Engineering

Online course

Reverse engineering is a broad discipline that is used to solve many problems in areas like malware analysis, vulnerability discovery, protocal analysis and analysis of legacy systems. This course teaches the fundamental topics that make up reverse engineering and that are necessary for a complete grasp of the field. Following this course you will have a solid grasp of the fundamentals and be comfortable ready to advance to specialised fields such as vulnerbility analysis and exploitation, and malware analysis.

This course introduces reverse engineering from a first-principles approach and the first stage of the course is to understand how bits and bytes are used to represent data and code inside our computer systems. Secondly, the course covers x86-64 extensively and following this course the student will have a firm grasp on the assembly language itself and also how higher level languages manifest themselves in assembly language. Finally, the course will introduce how to use debuggers and disassemblers to reverse engineer binary applications.

This course is comprehensive and it covers a lot of knowledge and information. It takes a lot of effort to cover the foundations of a complex topic like reverse engineering, and to support this the course has more than 100 hands-on exercises that are tailor-made to optimise the learning experience.

Learning objectives

Understand how software is represented as data
Understand the x86-64 architecture and language
Be able to analyse binary applications using debuggers on both Linux and Windows
Be able to analyse binary applications using disassemblers and decompilers, focusing on the Ghidra disassembler


This is an introductory course with a limited amount of prerequisites. We expect minor exposure to C programming, but this can also be learned during the course as we do not expect much more than being able to write a hello-world program.

Who should attend?

This course is for people interested in getting started with reverse engineering and progressing in careers, e.g.

Incident responders
Threat analysts
Malware analysts
Vulnerability hunters
Security engineers
Any others who need to understand applications at the binary level
Student discount

If you are a full-time student and can prove this, then you are eligible for a 25% discount. To claim the student discount, buy the course on our website and notify us in the message field that you would like the students discount. This discount is only valid for full prices, i.e. no discounts on early-bird prices.

Key Learning Objectives
Understand how software is represented as data
x86-64 assembly language
The debuggers GDB and x64dbg
The Ghidra disassembler
You get
Lecture videos
Lecture notes
Hands-on exercises of varying difficulty
24/7 access to platform and self-paced course
6 months subscription to online training platform
Additional 6 month subscriptions at a 99£ rate
Course updates during subscription period

Price: 999£

Have a question about this course?

Get in touch today with any questions that you might have.