Reverse Engineering

The GNU Debugger (GDB) is a powerful tool to debug binary executables. It can be used to do reverse-engineering as well. Let's debug the following code written by LiveOverflow:

I wanted to write a simple program in AMD64 assembly language which prints "Hello, World!". Here is the code:

Examining data stored in the memory of the program may be interesting to understand low-level mechanism of variable management and type conversions. Let's dump content of an integer bytewise: