Computing 101
Computing 101
Computers run an incredible managerie of programs that make modern life possible. But how do they work, deep down inside? In this dojo, we will dive into the depths of computation, reach (something close to) its very underpinnings, and strive to understand it all.
Your First Program
Software Introspection
Computer Memory
Hello Hackers
Assembly Crash Course
Debugging Refresher
A critical part of working with computing is understanding what goes wrong when something inevitably does. This module will build on your prior exposure to GDB with some more debugging of programs: digging in, poking around, and gaining knowledge. This is one of the most critical skills that you will learn in your computing journey, and this module will hopefully help water the seed that we planted before.
As you know, GDB is a very powerful dynamic analysis tool which you can use in order to understand the state of a program throughout its execution. You will become more familiar with some of its capabilities in this module.
level 4
Question
In order to solve this level, you must figure out a series of random values which will be placed on the stack. As before, run
will start you out, but it will interrupt the program and you must, carefully, continue its execution.
You are highly encouraged to try using combinations of stepi
, nexti
, break
, continue
, and finish
to make sure you have a good internal understanding of these commands. The commands are all absolutely critical to navigating a program’s execution.
NOTE: This challenge will require you to read and understand assembly! Don’t worry, this skill will come in quite handy later in pwn.college.