Reverse Engineering 4: GDB

by Alexander Zhang

This week's topic is GDB, a tool that allows us to control the execution of processes and inspect their state. This is useful for debugging, reverse engineering, and exploit development. We will also learn about GEF, a GDB extension with lots of useful features for CTFs.

Slides

Challenges

A set of challenges with increasing difficulty are deployed to platform.acmcyber.com to practice the concepts covered in the slides. You can filter for them on the platform by checking "rev" under "Categories", and "week 3" under "week". They are: You can practice using GDB on the challenges from previous weeks:

  • rev/bomb
  • rev/bomb2
  • rev/bomb3
  • rev/bobomb
  • rev/flow
  • rev/galfrekcehc
  • rev/salsa69
  • rev/jabeglnz
  • rev/nested

We've also added some new challenges that are designed to be much easier to solve with GDB than with static analysis alone:

  • rev/dancing
  • rev/boxing

Resources

The following resources are great tools for some of the reversing challenges: