Reverse Engineering
Read machine and byte code: assembly, binaries, debugging, deobfuscation and malware-analysis basics (legal and ethical)
- 7 lessons
- 5.5 hours
- Advanced
- Graded labs: 21
What you will learn
- Describe how source code becomes a binary: compile, assemble, link, load.
- Read basic x86-64 assembly (mov, add, cmp, jmp, call) and map it back to C constructs.
- Inspect an unknown binary with file, strings, objdump and readelf before running anything.
- Use a debugger to set breakpoints, step through code and examine registers and the stack.
- Recognise common obfuscation (XOR, base64, packing) and write a script that decodes it.
- Analyse a sample safely in an isolated VM and write a short report of its behaviour and indicators.
- Explain the legal and ethical limits: licences, the DMCA and responsible disclosure.
How you are assessed
Reverse engineering is shown by recovering what a program does: you decode obfuscated data with scripts, explain assembly in plain language, and capture flags from crackme-style challenges.
- Complete every Foundations lesson
- Average on first-try quizzes: at least 70%
- Graded lab exercises to pass: 2
- Challenges to solve: 2
- Lessons
Master the core skills
Complete every Core reversing skills lesson.
- Quizzes
Explain what you see
Average at least 70% on first-try quizzes about registers, the stack and calling conventions.
- Lab exercises
Decode with scripts
Pass graded labs that decode XOR, base64 and simple custom encodings.
- Challenges
Crack the crackmes
Solve at least 2 reverse-engineering challenges and capture their flags.
Curriculum
Core reversing skills
How programs are built and run, reading assembly, static and dynamic analysis, and the legal and ethical rules.
- 1.How Programs Run — From Source Code to a Live Process
The journey from source code to a live process: compiling, assembling, linking, loading, memory layout, byte order and the ELF container. Everything you reverse later is a product of these steps, and this node also sets the legal and ethical ground rules.
45 min 1 quiz Graded labs: 3 - 2.Assembly Basics — Reading the CPU's Recipe Cards
Registers, memory operands, flags, jumps, the stack and calling conventions on x86-64, with the matching ideas on ARM64. You learn to read a small function and say what it computes without running it.
46 min 1 quiz Graded labs: 3 - 3.Static Analysis & Deobfuscation — Examine the Package Before You Open It
Triage a file without running it: identify it, list its strings and imports, and read disassembly and decompiler output. Then peel layered encodings such as Base64, XOR and ROT13 to reach the real content.
45 min 1 quiz Graded labs: 3 - 4.Debugging & Dynamic Analysis — Watching a Program in Slow Motion
Run a program under control in a disposable lab: breakpoints, single-stepping, registers and memory, system-call tracing and address rebasing under ASLR. You also meet bytecode virtual machines and learn to write a tiny interpreter to study them.
47 min 1 quiz Graded labs: 3 - 5.Law, Ethics & Responsible Disclosure — Doing the Right Thing with What You Find
What you may analyze, how licenses and anti-circumvention laws shape the work, and how to report a vulnerability responsibly through coordinated disclosure. Law differs by country, so you also learn when to stop and ask for permission or advice.
46 min 1 quiz Graded labs: 3
Binary formats and tools
ELF and PE layouts, symbols, imports, relocations and the standard toolbelt.
- 6.Binary Formats & Tools — Reading ELF and PE Like a Map
Read ELF and PE structure by hand and with tools such as readelf, objdump, nm and a disassembler or decompiler. Learn what sections, segments, imports, exports and relocations tell you about a program.
50 min 1 quiz Graded labs: 3
Malware analysis basics
Safe lab practice, triage, indicators and reporting.
- 7.Malware Analysis Basics — How Defenders Study Dangerous Code Safely
How defenders study malicious software safely: an isolated virtual lab with snapshots, static triage first, then behavior observation, and writing down indicators of compromise. The focus is defense and safe handling, never building or deploying malware.
44 min 1 quiz Graded labs: 3
Run a real example
This is the kind of code you will write. Run it, then change it and run it again.
PythonXOR is its own inverse, so one known plaintext byte gives you the whole key. Practice on the labs, then try a two-byte key.
Recommended challenges
Put the skills to work against a puzzle with a flag or a test suite.
Badges
Earned automatically from your progress on this device.
First Disassembly
LockedFinish your first lesson.
0 / 1
Core Reverser
LockedComplete every Core reversing skills lesson.
0 / 5
Decoder
LockedPass 2 graded lab exercises.
0 / 2
Careful Analyst
LockedScore 80% or more on the first try in 4 lesson quizzes.
0 / 4
Reverse Engineer
LockedComplete every lesson in the track.
0 / 7
Certificate of completion
Lessons completed: 0 / 7
Complete every lesson to unlock your certificate.