1. GDB (GNU Debugger)
Description:
GDB is the GNU debugger used to analyze and debug programs. It allows exploit developers to examine the internal state of a running program, set breakpoints, and monitor memory, registers, and program flow to aid in exploit development.
Examples:
- Run GDB on an Executable:
- gdb ./vulnerable_program
- Run GDB on an Executable:
Explanation: Launches GDB to analyze vulnerable_program, allowing the user to set breakpoints, examine memory, and step through code.
- Set a Breakpoint:
- b main
- Set a Breakpoint:
Explanation: Sets a breakpoint at the main function so execution stops when the function is called.
- Examine Memory at an Address:
- x/10x 0xdeadbeef
- Examine Memory at an Address:
Explanation: Displays 10 hex values starting from memory address 0xdeadbeef, useful for examining buffer overflows.