Low-Level Programming, Binary Exploitation, and Reverse Engineering
Exploring low-level programming and reverse engineering is essential for anyone diving into the technical depths of software exploitation, malware analysis, and system security. This guide provides a curated list of courses, books, and resources to help you navigate the field.
C for Beginners
Start by building a strong foundation in C programming:
Computer Architecture
Learn how computers work from the ground up:
- x86 Architecture Overview (TryHackMe Room)
- Why Learn ASM? Architecture 1001: X86–64 Assembly
- Modern x64 Assembly: Crash Course (YouTube Playlist)
- Nand2Tetris: Build a Modern Computer from Scratch (Coursera)
- Assembly Crash Course Slides (Google Slides)
- CS61 1C Fa — Lecture: Great Ideas in Computing
Operating Systems (OS) + Books
Understand the workings of modern operating systems and deepen your knowledge with recommended books:
- OS Engineering
- MIT — Computer Security
Books:
- Practical Malware Analysis
- Hacking: The Art of Exploitation
- Assembly Language Step-by-Step
- Learning Linux Binary Analysis
- Practical Binary Analysis
- The C Programming Language (2nd Edition)
- Operating Systems: Three Easy Pieces
- Practical Reverse Engineering
Assembly Courses
Learn assembly programming and its applications in exploitation and reverse engineering:
- ASM Crash Course and More (Pwn College)
- Learn Assembly Programming (ChibiAkumas)
- Why Learn Assembly? Architecture 1001: x86–64 Assembly
- Intro to x86 Assembly (YouTube Playlist)
- Advanced Assembly Course
Special Crash Courses [Supplemental]
Quick resources for essential cybersecurity and reverse engineering skills:
- Malware Bible by Malcore
- Introduction to Reverse Engineering
- Exploring the Foundations of Software Exploitation
- Malware Unicorn RE Courses
- Programming for Red Teaming
- Beej’s Guide to Network Programming
Basic Tools
Essential tools for reverse engineering and binary analysis:
Dynamic and Static Analysis
Techniques and tools to analyze software behavior and structure:
- Static Analysis on Software (YouTube Video)
- LetsDefend Malware Analysis Course (YouTube Playlist)
- TryHackMe Malware Analysis (Static and Dynamic)
- RPISEC Malware Resources
Remaining Topics
Reverse Engineering
- Applied Reverse Engineering Series
- Reverse Engineering Master of None Class
- A Deep Dive into RE Tutorials
Binary Exploitation
- Modern Binary Exploitation (GitHub)
- Binary Exploitation Series (LiveOverflow YouTube Playlist)
- Getting Started with Exploit Development (DayZeroSec Blog)