Reverse Engineering Resources
Here are some solid resources—books, vidos, tools, courses and more—to help you break down software and understand it inside out
Introduction
Welcome to Reverse Engineering Resources !
These are the reverse engineering resources I’ve used, seen used by others, and believe can be really useful if you want to break into reverse engineering. Whether you’re analyzing binaries, finding vulnerabilities, or just curious about how software works, these books, tools, and courses will help you get started.
1. Programming Languages
In the discussion between George Hotz and Lex Fridman about programming languages that everyone should learn, they emphasize the importance of Assembly and C.
These languages provide a deep understanding of how computers work at a low level, enabling programmers to grasp memory management, system architecture, and performance optimization. Learning Assembly helps in understanding how instructions are executed by the CPU, while C serves as a foundation for operating systems, embedded systems, and performance-critical applications. Mastering these languages gives programmers a strong technical edge and a better appreciation of higher-level programming concepts.
1.1. Assembly
1.1.1. Video Series (YouTube)
1.1.2. Assembly Series: Applied Reverse Engineering
- Applied Reverse Engineering: Basic Architecture
- Applied Reverse Engineering: The Stack
- Applied Reverse Engineering: Exceptions and Interrupts
- Applied Reverse Engineering: Accelerated Assembly [P1]
- Applied Reverse Engineering: Accelerated Assembly [P2]
1.1.3. Courses
1.1.4. Books
- PC Assembly Language
- Introduction to 64 Bit Assembly Programming for Linux and OS X: For Linux and OS X
1.1.5. Manuals
1.2. C Programming
1.2.1. Courses
1.2.2. Books
2. Reverse Engineering
2.1. Video Series
2.2. Courses
- SANS
- eLearnsecurity (INE)