Modern Reverse Engineering Docs

Modern resources, collection curated based on reverse engineering systems (2018+). For beginners and up.

Table of Contents

Check external resources + malware analysis for more.

Basics

There are different paths to learn reverse engineering. Any decent CS course involving computer architecture, CTFs, or browsing resources. Don't bother memorizing long libraries and functions, instead try to understand how a target's architecture works. Recommendation: read at least 2 of the books here, build an environment, pick preferred tools, then take a software apart methodically.

Terms for common tools
  • Debugger - sequence through program assembly
  • Disassembler - retrieves the bulk program assembly
  • Decompiler - reverts a program to it's source code (if the source is known)

Books

Courses

Extra

Tools

  • Ghidra: Software reverse engineering (SRE) framework by the NSA to analyze compiled code. Includes disassembly, decompilation, scripting, etc. Supports different instruction sets & plug-ins.
  • Radare2: Portable reversing framework for disassembly, debugging, forensics, etc. Based on capstone, uses cmdline, scriptable.
  • x64dbg: Open source x64/x32 Windows debugger.

Old

Contribute

  1. Fork the repo, make a new branch.
  2. Make changes within that branch.
  3. Commit changes with clear notes and pull request.

Any contributions are appreciated!

Relevant topics: Table of Contents

  • C Programming
  • x86/64 Architecture/ARM Assembly
  • Windows API *10/Legacy/DOS, Linux API
  • Reverse Engineering / Game Hacking