Post

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

Reverse Engineering Resources

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. Intro to x86 Assembly Language - 6 Parts

1.1.2. Assembly Series: Applied Reverse Engineering

  1. Applied Reverse Engineering: Basic Architecture
  2. Applied Reverse Engineering: The Stack
  3. Applied Reverse Engineering: Exceptions and Interrupts
  4. Applied Reverse Engineering: Accelerated Assembly [P1]
  5. Applied Reverse Engineering: Accelerated Assembly [P2]

1.1.3. Courses

  1. Architecture 1001: x86-64 Assembly - OST2 Arch1001_LearningPath

1.1.4. Books

  1. PC Assembly Language
  2. Introduction to 64 Bit Assembly Programming for Linux and OS X: For Linux and OS X

1.1.5. Manuals

  1. Intel® 64 and IA-32 Architectures Software Developer’s Manuals

1.2. C Programming

1.2.1. Courses

  1. learn-c.org

1.2.2. Books

  1. C Programming Language, 2nd Edition

2. Reverse Engineering

2.1. Video Series

  1. Becoming a full-stack reverse-engineer

2.2. Courses

  1. SANS
  2. eLearnsecurity (INE)

2.4. Books

  1. Reversing: Secrets of Reverse Engineering
  2. Compilers: Principles, Techniques, and Tools

2.5. Labs

  1. HackTheBox (HTB)
  2. TryHackMe (THM)

2.6. Articles & Blogs

  1. Reverse Engineering For Everyone!
This post is licensed under CC BY 4.0 by the author.