Beginners Guide To Reverse Engineering

So you want to learn to reverse engineer and don’t really know where to start, well in this post I will doing a basic write-up on how to get started as a beginner.

Some useful resources:

https://www.nayuki.io/page/a-fundamental-introduction-to-x86-assembly-programming

https://beginners.re/RE4B-EN.pdf

https://en.wikipedia.org/wiki/X86_instruction_listings

https://tuts4you.com/

https://www.tutorialspoint.com/cplusplus/cpp_basic_syntax.htm

http://www.studytonight.com/cpp/basics-of-cpp.php

http://www.tutorialspoint.com/ansi_c/c_introduction.htm

https://github.com/0xtyh/awesome-reversing

I have included links for x86 Assembly & C/C++ as this is needed before you start reversing.

I suggest you begin in this order:

  1. Learn the fundamentals of x86 Assembly using the links provided
  2. Familiarise yourself with a low level language such as C / C++
  3. Begin on simple x86 unix binaries. Crackme’s and ReverseMe’s will be listed below, they’re an easy way to start

CrackMe’s and ReverseMe’s to begin reversing

http://www.crackmes.de/

http://www.reteam.org/reversemes.html

https://github.com/wamsachel/ReverseMes

Recommended x86 Debuggers (disassembly analysis software)

Immunity Debugger is a branch of OllyDbg v1.10, with built-in support for Python scripting

http://immunityinc.com/products/debugger/index.html

OllyDbg is a free and powerful Windows debugger with a built-in disassembly and assembly engine. Very useful for patching, disassembling, and debugging.

Image result for olly debugger