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

Videos

Extra

Tools

  • Ghidra NSA Software reverse engineering kit. Includes disassembly, decompilation, etc. Highly extensible.
  • 010 Editor Best Proprietary Hex Editor for binary analysis; Binja, Free alt is: HxD, Bless, or ImHex
  • x64dbg Open source x64/x32 Windows debugger. Reko decompiler

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