Theme Switcher

Reverse Engineering

Reverse engineering is the process of dismantling an object or system to see how it works.

Reverse Engineering Challenges

Reasons for learning Reverse Engineering

  • Malware analysis.
  • Vulnerability analysis.
  • Software interoperability.
  • To create compatible software or hardware.
  • To create a key generator or bypass certification.

Portable Executable(PE) File

PE File examples

  • Executables (exe)
  • Dynamic Libraries
  • Drivers -Sys

Diassembling

Is analyzing machine code to understand the program's functionality & structure. Involves reversing an executable (.exe)

Disassemblers

Decompiling

Decompilers are tools that convert binary code back into a higher-level programming language.

Decompilers

Debugging

Using tools to step through code, examine variables and understand program flow.

Debuggers

Binary Analysis

Examining binary files to identify patterns, relationships & potential vulnerabilities.

Binary Analysis Tools

Malware Analysis

External Resources

Books

  • "An Introduction To Reverse Engineering for Beginners" by Yurichev, Dennis
  • The IDA Pro book by Chris Eagle
  • The Ghidra book by Chris Eagle & Kara Nance

Videos

Websites