pwncollege
DojosLeaderboardCommunity
Back to computing-101

Software Introspection

computing-101
0/12 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!

Data
Video
Slides
Bytes as Hex and Binary
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
Popping Stack Values
10
Examining Memory
11
Examining Stack Pointers
12
Cooperative Debugging