pwncollege
DojosLeaderboardCommunity
Back to computing-101

Software Introspection

computing-101
0/15 challenges completed

As you write larger and larger programs, you (yes, even you!) might make mistakes when implementing certain functionality, introducing bugs into your programs. When this happens, you'll need to have a reliable toolbox of resources to understand what is going wrong and fix it. Of course, the exact same techniques can be used to understand what is wrong with code that you didn't write, and fix or exploit it as you might desire!

This module will introduce you to several ways to introspect, debug, and understand software. You'll carry this critical knowledge with you and use it throughout pwn.college, so harken well!

1
Disassembling Programs
2
Tracing Syscalls
3
Starting GDB
4
Quitting GDB
5
Starting Programs in GDB
6
Disassembling in GDB
7
Stepping Through Instructions
8
Reading Register Values
9
Setting Register Values
10
Popping Stack Values
11
Examining Memory
12
Examining Stack Pointers
13
Cooperative Debugging
14
Running with Arguments
15
Redirecting Input in GDB