Learning reverse engineering can be a daunting task, but with the right resources and tools, you can make significant progress. Here are some of the top recommendations from Redditors to help you get started and improve your skills in reverse engineering:
Tutorials and Forums:
Books and Articles:
No Starch Press Books: Recommended for comprehensive learning.
"From Day Zero to ZeroDay": Great for understanding the basics and advanced concepts.
"The IDA Pro Book": Essential for using IDA Pro.
Online Courses and Platforms:
Pwn College: Offers free and comprehensive courses on reverse engineering.
OST2 Courses: Recommended for C++ reverse engineering.
Crackmes: Websites like
CTFs (Capture The Flag): Participate in CTFs to gain practical experience. "for rev, picoCTF and pwn.college are nice"
Debuggers:
x64dbg: A modern debugger that supports both x64 and x86 architectures.
WinDbg: Useful for kernel mode debugging.
Disassemblers and Decompilers:
Ghidra: A free and open-source reverse engineering tool suite.
IDA Pro: A powerful commercial disassembler.
Additional Tools:
Frida: For dynamic instrumentation.
Compiler Explorer (godbolt.org): To compare C++ code with its assembly output.
Start with Basics: Learn C, C++, and assembly language thoroughly.
Practice Regularly: Do crackmes and participate in CTFs to apply your knowledge.
Learn by Doing: Write code and reverse engineer your own programs.
These communities are great places to ask for help, share your progress, and find more resources. Good luck on your reverse engineering journey!