Skip to content

Reversing

Quick Start

To-do

About

Reversing in the context of CTFs is usually the reverse engineering of software (executables/bin files) into assembly code and at times the original source code to understand what is happening in a program, break a program (e.g. buffer overflows), or to decrypt encryptions done by a program. Challenges related to reversing are usually not as easy to pick up on as others, and require a lot of diligence and learning to truly understand and be able to tackle.

Getting Started

  • Reverse Engineering for Beginners - an extremely well-written and verbose free book which explains multiple CPU instruction sets and methods for writing and understanding them.

Tools

  • gdb: Basic debugger (+gef/peda)
  • objdump: Very basic disassembler
  • ghidra: Sophisticated disassembler that can also decompile code (link)